Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
zabbix [Le 14/04/2017, 16:50] – [Utilisation et configuration] 193.56.242.117 | zabbix [Le 28/05/2019, 19:24] (Version actuelle) – ancienne révision (Le 31/05/2018, 14:34) restaurée 193.250.138.66 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> administration serveur réseau supervision BROUILLON}} | ||
+ | ---- | ||
+ | |||
+ | ====== Zabbix, moniteur de supervision ====== | ||
+ | |||
+ | La gestion d'un parc de serveur est un travail de chaque instant. Un bon administrateur système doit savoir à tout moment l' | ||
+ | tâches et il ne peut donc pas surveiller le tableau de statut en permanence. | ||
+ | |||
+ | L' | ||
+ | |||
+ | Pour se simplifier le travail, nous allons utiliser un //moniteur de supervision// | ||
+ | |||
+ | Le moniteur de supervision que nous allons envisager est **Zabbix**. | ||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Avoir activé l' | ||
+ | * Avoir un serveur Web installé et gérant le [[:PHP]] et [[MySQL]] (ou [[PostgreSQL]]), | ||
+ | * positionner la variable date.timezone dans php.ini (par ex: / | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | ==== Installation du serveur Zabbix 2.0.2 ==== | ||
+ | |||
+ | [[: | ||
+ | * **[[apt> | ||
+ | * **[[apt> | ||
+ | * **[[apt> | ||
+ | |||
+ | |||
+ | <note tip>Nous utiliseront dans ce tutoriel la version mysql de zabbix </ | ||
+ | |||
+ | ===== Lancement du serveur zabbix : ===== | ||
+ | |||
+ | ==== Activer le serveur ==== | ||
+ | |||
+ | Le serveur zabbix n'est pas activé par défaut : la commande | ||
+ | sudo service zabbix-server restart | ||
+ | renvoie : | ||
+ | zabbix_server is disabled in / | ||
+ | |||
+ | Pour l' | ||
+ | < | ||
+ | |||
+ | Redémarrer le serveur : | ||
+ | < | ||
+ | |||
+ | Consulter les logs du serveur : | ||
+ | < | ||
+ | |||
+ | L' | ||
+ | |||
+ | |||
+ | ===== Préparation de la base de données ===== | ||
+ | Zabbix a besoin de stocker les informations de supervision dans une base de données. | ||
+ | |||
+ | Zabbix est capable de fonctionner avec un moteur de base de données MySQL ou PostgreSQL. Mais c'est à vous de choisir, et d' | ||
+ | |||
+ | Cela signifie que l' | ||
+ | |||
+ | Afin de vous aider à créer la base de données Zabbix, l' | ||
+ | |||
+ | ==== MySQL ==== | ||
+ | Pour créer et remplir la base Zabbix dans MySQL : | ||
+ | |||
+ | Se connecter avec le compte root MySQL : | ||
+ | mysql -uroot -p | ||
+ | |||
+ | Indiquer le mot de passe root de mysql (celui qui a été défini lors de l' | ||
+ | |||
+ | Créer la base de données zabbix : | ||
+ | mysql > create database zabbix; | ||
+ | |||
+ | Créer un utilisateur MySQL qui se nomme zabbix et qui a pour mot de passe zabbix : | ||
+ | mysql > grant all privileges on zabbix.* to zabbix@localhost identified by ' | ||
+ | mysql > flush privileges; | ||
+ | |||
+ | Quitter la console mysql | ||
+ | mysql > exit | ||
+ | |||
+ | < | ||
+ | |||
+ | user# mysql -uroot -p | ||
+ | mysql > USE mysql ; | ||
+ | mysql > SET PASSWORD FOR ' | ||
+ | mysql > FLUSH PRIVILEGES ; | ||
+ | </ | ||
+ | | ||
+ | === Importer la structure de base de données zabbix | ||
+ | <note tip> | ||
+ | == ubuntu > =12.04.2 == | ||
+ | < | ||
+ | zcat / | ||
+ | zcat / | ||
+ | zcat / | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | ==== PostgreSQL ==== | ||
+ | Pour créer et remplir la base de donnée Zabbix dans PostgreSQL: | ||
+ | |||
+ | On edite tout d' | ||
+ | |||
+ | < | ||
+ | |||
+ | On descend tout en bas du fichier, on commente toutes les lignes qui ne le sont pas (pour éviter les conflits) et on ajoute les deux suivantes: | ||
+ | < | ||
+ | local all zabbix | ||
+ | local | ||
+ | </ | ||
+ | Les utilisateurs //zabbix// et // | ||
+ | |||
+ | On redémarre le service pour que les modifications soient prises en compte: | ||
+ | < | ||
+ | |||
+ | On se connecte à la base de données : | ||
+ | < | ||
+ | root@pedro-pc: | ||
+ | postgres@pedro-pc:/ | ||
+ | postgres=# | ||
+ | </ | ||
+ | <note tip>Le paramètre " | ||
+ | On se déconnecte de la base: | ||
+ | < | ||
+ | |||
+ | Et on se reconnecte avec l' | ||
+ | < | ||
+ | Password for user zabbix: | ||
+ | postres=> | ||
+ | On se déconnecte de la bdd: | ||
+ | < | ||
+ | |||
+ | === Importer la structure de la base dans postgresql === | ||
+ | |||
+ | C'est exactement la même manipulation qu' | ||
+ | <note tip> | ||
+ | |||
+ | < | ||
+ | zcat / | ||
+ | zcat / | ||
+ | zcat / | ||
+ | </ | ||
+ | |||
+ | ===== Configuration du serveur ===== | ||
+ | Il faut maintenant indiquer au serveur Zabbix les paramètres qui lui permettront de se connecter à la base de données Zabbix. En particulier, | ||
+ | |||
+ | Ajuster les paramètres du serveur en éditant le fichier de configuration comme suit : | ||
+ | |||
+ | sudo nano / | ||
+ | |||
+ | Ajuster au minimum le paramètre DBPassword en ajoutant au fichier la ligne suivante | ||
+ | |||
+ | DBPassword=zabbix | ||
+ | |||
+ | |||
+ | Sauvegarder les modification, | ||
+ | |||
+ | sudo service zabbix-server restart | ||
+ | |||
+ | Pour confirmer que le serveur fonctionne correctement, | ||
+ | |||
+ | tail -100 / | ||
+ | |||
+ | ne doit pas retourner d' | ||
+ | |||
+ | |||
+ | |||
+ | ===== Installation de l’interface web de gestion de Zabbix ===== | ||
+ | |||
+ | Il est possible de paramétrer l' | ||
+ | * Utilisation d'un alias (accès par http:// | ||
+ | * Utilisation d'un virtualhost (accès par http:// | ||
+ | |||
+ | ==== | ||
+ | |||
+ | La première méthode de configuration de l' | ||
+ | |||
+ | Créer un fichier de configuration Apache2 dédié. L' | ||
+ | |||
+ | Version Ubuntu >= 14.04 : **/ | ||
+ | |||
+ | |||
+ | Le contenu du fichier de configuration apache à créer est le suivant : | ||
+ | < | ||
+ | # Directives pour zabbix serveur | ||
+ | |||
+ | # Définition d'un alias /zabbix | ||
+ | < | ||
+ | Alias /zabbix / | ||
+ | </ | ||
+ | |||
+ | # Définition des droits d' | ||
+ | < | ||
+ | Options Indexes FollowSymLinks MultiViews | ||
+ | AllowOverride None | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Après avoir sauvegardé le fichier, il faut activer la configuration et relancer le serveur Apache2 : | ||
+ | < | ||
+ | sudo a2enconf zabbix-server | ||
+ | sudo service apache2 reload | ||
+ | </ | ||
+ | |||
+ | ==== Méthode 2 : Virtualhost ==== | ||
+ | |||
+ | Une autre méthode de configuration de l' | ||
+ | |||
+ | Créer un fichier de configuration Apache : | ||
+ | nano / | ||
+ | |||
+ | Dans ce fichier, insérez le paramétrage du VirtualHost apache comme suit : | ||
+ | |||
+ | < | ||
+ | ServerAdmin webmaster@localhost | ||
+ | DocumentRoot / | ||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride None | ||
+ | </ | ||
+ | < | ||
+ | Options Indexes FollowSymLinks MultiViews | ||
+ | AllowOverride None | ||
+ | Order allow, | ||
+ | allow from all | ||
+ | </ | ||
+ | < | ||
+ | Options Indexes FollowSymLinks MultiViews | ||
+ | AllowOverride None | ||
+ | Order allow, | ||
+ | allow from all | ||
+ | </ | ||
+ | | ||
+ | < | ||
+ | AllowOverride None | ||
+ | Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch | ||
+ | Order allow, | ||
+ | Allow from all | ||
+ | </ | ||
+ | ErrorLog ${APACHE_LOG_DIR}/ | ||
+ | # Possible values include: debug, info, notice, warn, error, crit, | ||
+ | # alert, emerg. | ||
+ | LogLevel warn | ||
+ | CustomLog ${APACHE_LOG_DIR}/ | ||
+ | </ | ||
+ | |||
+ | Modifier le fichier de configuration de php (php.ini) pour les pré-requis de l' | ||
+ | |||
+ | nano / | ||
+ | |||
+ | ubuntu >=Ubuntu 16.04.1 LTS | ||
+ | |||
+ | sudo nano / | ||
+ | |||
+ | Modifiez les options ci-dessous : | ||
+ | |||
+ | max_execution_time = 600 | ||
+ | max_input_time = 600 | ||
+ | memory_limit = 256M | ||
+ | post_max_size = 32M | ||
+ | upload_max_filesize = 16M | ||
+ | date.timezone = " | ||
+ | |||
+ | Enregistrez puis redémarrez Apache2 : | ||
+ | |||
+ | / | ||
+ | |||
+ | Créez le fichier de configuration de l' | ||
+ | |||
+ | sudo touch / | ||
+ | sudo chown root: | ||
+ | sudo chmod 660 / | ||
+ | |||
+ | |||
+ | **Il est maintenant possible de se connecter avec son navigateur via http:// | ||
+ | |||
+ | Une fois connecté sur l' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | ===== Supervision - Agent Zabbix ===== | ||
+ | Zabbix propose un ' | ||
+ | |||
+ | L' | ||
+ | |||
+ | Un agent Zabbix est un service qui fonctionne en arrière plan sur l' | ||
+ | |||
+ | ==== Agent Linux ==== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | ==== Agent Windows ==== | ||
+ | |||
+ | * [[http:// | ||
+ | * Créer le fichier // | ||
+ | * Ouvrir la ligne de commande Windows, se placer dans le répertoire contenant le fichier téléchargé puis lancer la commande suivante : < | ||
+ | * Lancer le service en lançant la commande :< | ||
+ | |||
+ | ===== Utilisation et configuration ===== | ||
+ | |||
+ | Pour accéder à Zabbix, lancez votre navigateur préféré et rendez-vous à l' | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | **Fevrier 2016** / Ubuntu 14.04. : Zabbix-serveur MySQL version 5.5.47 : | ||
+ | Par défaut le login est **__Admin__** et le mot de passe est **__zabbix__** | ||
+ | |||
+ | ===== En cas de problème ===== | ||
+ | |||
+ | * Si le message //Warning: include_once(/ | ||
+ | sudo chmod +r / | ||
+ | * Si le message //Warning: mysql_pconnect() [function.mysql-pconnect]: | ||
+ | * Si vous avez utilisé la génération automatique du mot de passe à l' | ||
+ | * Pour ces deux erreurs un bug report à été lancé sur [[https:// | ||
+ | * Si le serveur Zabbix ne se relance pas automatiquement après redémarrage de la machine, il faut remplacer le contenu des fichiers : | ||
+ | - "/// | ||
+ | - "/// | ||
+ | * Depuis systemd pour le démarrage automatique | ||
+ | pour le serveur : < | ||
+ | * Si le mot de passe fourni lors de l' | ||
+ | ===== compilation du serveur ===== | ||
+ | < | ||
+ | sudo apt-get install libsnmp9-dev libmysqlclient15-dev | ||
+ | |||
+ | 1 - Make the zabbix user and group: | ||
+ | |||
+ | sudo adduser zabbix | ||
+ | enter in new password | ||
+ | confirm | ||
+ | use the remaining defaults. | ||
+ | |||
+ | Add zabbix to the admin group: | ||
+ | |||
+ | sudo adduser zabbix admin | ||
+ | |||
+ | |||
+ | 2 - Download and Untar the sources: | ||
+ | |||
+ | su - zabbix | ||
+ | récupration des sources sur http:// | ||
+ | tar zxvpf zabbix-1.4.tar.gz | ||
+ | |||
+ | |||
+ | 3 - Create a zabbix database and populate it: | ||
+ | |||
+ | mysql -u root -p | ||
+ | create database zabbix; | ||
+ | quit; | ||
+ | |||
+ | mysql -u root -p zabbix < / | ||
+ | mysql -u root -p zabbix < / | ||
+ | |||
+ | |||
+ | 4 - Configure, compile and install the server: | ||
+ | |||
+ | cd zabbix-1.4/ | ||
+ | ./configure --prefix=/ | ||
+ | --enable-server --enable-agent && | ||
+ | make | ||
+ | sudo make install | ||
+ | |||
+ | |||
+ | 5 - Prepare the rest of the system: | ||
+ | |||
+ | sudo nano / | ||
+ | |||
+ | Add at the end: | ||
+ | |||
+ | zabbix_agent 10050/tcp # Zabbix ports | ||
+ | zabbix_trap 10051/tcp | ||
+ | |||
+ | Save and exit. | ||
+ | |||
+ | sudo mkdir /etc/zabbix | ||
+ | sudo chown -R zabbix.zabbix / | ||
+ | cp misc/ | ||
+ | |||
+ | Edit / | ||
+ | |||
+ | nano / | ||
+ | |||
+ | Make sure that the Server parameter points to the server address, for the agent that runs on the server it is like this: | ||
+ | |||
+ | Server=127.0.0.1 | ||
+ | |||
+ | Edit / | ||
+ | |||
+ | nano / | ||
+ | |||
+ | For small sites this default file will do, however if you are into tweaking your config for your 10+ hosts site, this is the place. | ||
+ | |||
+ | Change this: | ||
+ | |||
+ | # Database password | ||
+ | # Comment this line if no password used | ||
+ | |||
+ | DBPassword=Secret | ||
+ | |||
+ | Start the server : | ||
+ | |||
+ | zabbix_server | ||
+ | |||
+ | Start the client: | ||
+ | |||
+ | zabbix_agentd & | ||
+ | |||
+ | |||
+ | 6 - Configure web interface | ||
+ | |||
+ | mkdir / | ||
+ | cp -R frontends/ | ||
+ | |||
+ | Edit / | ||
+ | |||
+ | sudo nano / | ||
+ | |||
+ | Work into file: | ||
+ | |||
+ | Alias /zabbix/ / | ||
+ | < | ||
+ | AllowOverride FileInfo AuthConfig Limit Indexes | ||
+ | Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec | ||
+ | <Limit GET POST OPTIONS PROPFIND> | ||
+ | Order allow,deny | ||
+ | Allow from all | ||
+ | </ | ||
+ | < | ||
+ | Order deny,allow | ||
+ | Deny from all | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Save and exit. | ||
+ | |||
+ | Make php.ini adjustments: | ||
+ | |||
+ | sudo nano / | ||
+ | |||
+ | Change the following values: | ||
+ | |||
+ | max_execution_time = 300 ; Maximum execution time of each script, in seconds | ||
+ | date.timezone = America/ | ||
+ | (use this url to find your correct timezone format: http:// | ||
+ | |||
+ | |||
+ | Restart Apache: | ||
+ | |||
+ | sudo / | ||
+ | |||
+ | |||
+ | Now point your browser to: | ||
+ | |||
+ | http://< | ||
+ | |||
+ | 1. Introduction | ||
+ | |||
+ | read and click Next | ||
+ | |||
+ | 2. License Agreement | ||
+ | |||
+ | Read, check 'I Agree', | ||
+ | |||
+ | 3. Check of Pre-Requisites | ||
+ | |||
+ | Fix any problems, click retry. Click Next when all pre-requisites are OK. | ||
+ | |||
+ | 4. Configure DB Connection | ||
+ | |||
+ | Enter appropriate settings and click Test Connection. | ||
+ | Click Next when OK. | ||
+ | |||
+ | 5. Pre-Installation Summary | ||
+ | |||
+ | Verify installation settings, click Next. | ||
+ | |||
+ | 6. Install | ||
+ | |||
+ | Click Save Configuration file and save to machine. | ||
+ | Copy zabbix.conf.php to / | ||
+ | |||
+ | One way to do this from a desktop machine (requires ssh installed): | ||
+ | scp zabbix.conf.php zabbix@< | ||
+ | |||
+ | Click Retry and click Next when OK. | ||
+ | |||
+ | 7. Finish | ||
+ | |||
+ | Click Finish to complete installation. | ||
+ | |||
+ | |||
+ | Your New Zabbix install will now be shown. | ||
+ | |||
+ | Log in with username: Admin | ||
+ | No Password | ||
+ | |||
+ | First go to the tab Configuration and then Hosts. | ||
+ | |||
+ | Now create a host-group, see that you can give it some templates, e.g: Application.MySQL, | ||
+ | |||
+ | Then some hosts: | ||
+ | |||
+ | Select your host-group and use Link with Template Host.Unix | ||
+ | |||
+ | Now a lot of triggers are imported and the game begins. | ||
+ | |||
+ | Go to the monitoring tab and watch the latest values roll in. | ||
+ | |||
+ | For specifics on configuration, | ||
+ | |||
+ | www.zabbix.com | ||
+ | </ | ||
+ | ===== Références ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // | ||
+ | |||
+ | // |