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 05/02/2015, 23:17] – [Installation l’interface web de gestion de Zabbix] jibe555 | 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:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | // | ||
| + | |||
| + | // | ||
