Installer un serveur ZABBIX sur une distribution CentOS 7 1/22
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
CFA La Mare / Sainte Marie / 2016 Installer un serveur ZABBIX sur une distribution CentOS 7 Dominique MEKIES pour formation SIO 1/22
CFA La Mare / Sainte Marie / 2016 Présentation de ZABBIX Zabbix est une solution professionnelle opensource pour la supervision et le suivi de performances de serveurs en réseau, de périphériques et plus généralement de ressources informatiques. Zabbix propose le monitoring WEB, la découverte automatique d’éléments dans un réseau et bien d’autres choses encore. Installation d’un serveur Zabbix Ce tutorial a été testé sur une distribution Linux CentOS 7 avec un minimum d’applicatifs. Pour les besoins des tests, 2 machines seront utilisées. A vous d’adapter la lecture de ce document à votre configuration. Un serveur Zabbix: ● Operating system (OS) : CentOS 7 64bit server ● IP Address (adresse IP): 192.168.1.150/24 ● Hostname: server1.unixmen.local Un client Zabbix: ● Operating system(OS): CentOS 7 64bit server ● IP Address (adresse IP): 192.168.1.152/24 ● Hostname: server2.unixmen.local Nous allons commencer du côté “serveur”.. Prérequis Avant d’installer Zabbix, vous devez absolument installer une pile LAMP (Linux Apache, MySQL, PHP). Pour cela, reportez vous à la procédure adhoc. Configuration Côté Serveur Zabbix n’est pas disponible dans les repositories par défaut de CentOS. Nous allons donc devoir ajouter EPEL (ce sont les repositories Extra Packages for Entreprise Linux) ainsi que le repository officiel de Zabbix sur notre machine pour pouvoir configurer un serveur Zabbix. Dominique MEKIES pour formation SIO 2/22
CFA La Mare / Sainte Marie / 2016 Pour installer le repository EPEL, exécuter la commande suivante: yum install epelrelease Configurer le repository ZabbixZone rpm Uv http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbixrelease3.01.el7.noarch.rpm Maintenant, installer le serveur Zabbix et l’agent Zabbix grâce à la commande suivante: yum install zabbixservermysql zabbixwebmysql zabbixagent zabbixjavagateway Le package zabbixservermysql contient tous les prérequis pour l’installation et la configuration d’un serveur Zabbix qui pourra archiver les données de monitoring dans une base MySQL Le package zabbixwebmysql fournit les prérequis au monitoring via le web. L’agent (ou les agents) Zabbix est déployé pour monitorer sur la cible des ressources ou des applications locales (disques durs, mémoire, statistiques processeurs etc.) Le package zabbixjavagateway permet de monitorer des applications Java grâce à la Java Management Extensions (JMX) qui est une API pour Java permettant de gérer le fonctionnement d'une application Java en cours d'exécution. Edition du fichier /etc/httpd/conf.d/zabbix : vi /etc/httpd/conf.d/zabbix.conf Mettre à jour votre timezone: php_value date.timezone Asia/Kolkata Pour connaitre la liste des TimeZones, disponibles, consulter http://www.timeanddate.com/time/zones/ Mais surtout, celles qui sont reconnues par PHP: http://php.net/manual/fr/timezones.php Pour la Réunion, on constatera qu’il s’agit de I ndian/Reunion Redémarrer le service httpd systemctl restart httpd Dominique MEKIES pour formation SIO 3/22
CFA La Mare / Sainte Marie / 2016 Créer une database et un user (utilisateur) MySQL pour Zabbix Se logguer sous MariaDB / MySQL grâce à la commande: mysql u root p On rappelle que MariaDB est un fork de MySQL. La compatibilité est assurée dans le sens MySQL vers MariaDB mais pas dans le sens inverse. Toute commande MySQL fonctionne sous MariaDB. Créer une base de données nommée ‘ et un user MySQL nommé zabbixdb’ ‘zabbixuser’ . Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 10 Server version: 5.5.41MariaDB MariaDB Server Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database zabbixdb character set utf8; Query OK, 1 row affected (0.05 sec) MariaDB [(none)]> grant all privileges on zabbixdb.* to 'zabbixuser'@'localhost' identified by 'password'; Query OK, 0 rows affected (0.21 sec) Et enfin pour recharger les nouveaux privilèges: MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye Importer les templates Zabbix dans la database Zabbix Dominique MEKIES pour formation SIO 4/22
CFA La Mare / Sainte Marie / 2016 Les templates sont des modèles d’ensembles de fonctionnalités à monitorer. Il suffit d’associer un host à un certain template pour monitorer automatiquement toutes les fonctionnalités définies dans le template. Voici les instruction pour importer les templates par défaut de Zabbix: Cd /usr/share/doc/zabbixservermysql3.0.2 Zcat create.sql.gz | mysql u zabbixuser p zabbixdb Configure Zabbix server On édite le fichier /etc/zabbix/zabbix_server.conf , vi /etc/zabbix/zabbix_server.conf Renseigner le nom de la base de données, celui du user et son password que vous venez de créer. [...] DBHost=localhost [...] DBName=zabbixdb [...] DBUser=zabbixuser [...] DBPassword=password [...] Sauvegarder ce fichier de configuration. Dominique MEKIES pour formation SIO 5/22
CFA La Mare / Sainte Marie / 2016 Maintenant, il faut faire en sorte que le serveur Zabbix se supervise luimême. Pour ce faire, éditer le fichier / etc/zabbix/zabbix_agentd.conf , vi /etc/zabbix/zabbix_agentd.conf Et effectuer les modifications suivantes: [...] ## Ligne 85 Specifier le serveur Zabbix ## Server=127.0.0.1 [...] ## Ligne 126 Specifier le serveur Zabbix actif ## ServerActive=127.0.0.1 [...] ## Ligne 137 Specifier le hostname du serveur Zabbix ou son adresse IP ## Hostname=server1.unixmen.local [...] Sauvegarder ce fichier de configuration. Ajuster les caractéristiques de PHP Il faut ajuster le fichier php.ini en fonction du paramétrage recommandé par Zabbix. Editer le fichier php.ini , vi /etc/php.ini Positionner les valeurs comme cidessous. Si les lignes de cette procédure n’existent pas dans votre fichier, alors créez les. max_execution_time = 600 max_input_time = 600 memory_limit = 256M post_max_size = 32M upload_max_filesize = 16M date.timezone = Asia/Kolkata Sauvegarder et fermer ce fichier php.ini. Dominique MEKIES pour formation SIO 6/22
CFA La Mare / Sainte Marie / 2016 Régler les paramètres du parefeu Linux ainsi que ceux du SELinux. Zabbix utilise, pour communiquer avec ses agents les ports 10050 et 1051. Il faut donc que le parefeu laisse passer les communication vers ou depuis ces ports. firewallcmd permanent addport=10050/tcp firewallcmd permanent addport=10051/tcp OU Utiliser les commandes iptables si la commande firewallcmd n’est pas disponible sur votre système. Redémarrer iptables pour la prise en compte des modifications: systemctl restart firewalld Si SELinux est utilisé sur la machine, il faut autoriser Apache à communiquer avec Zabbix car la visualisation du monitoring est effectuée via le web. setsebool P httpd_can_connect_zabbix=1 On peut aussi désactiver toutes les contraintes SELinux: setenforce permissive Limiter l’accès à la console WEB de Zabbix à certaines IP (facultatif) Editer le fichier /etc/httpd/conf.d/zabbix.conf , Noter que ce fichier fait partie intégrante de la configuration Apache. vi /etc/httpd/conf.d/zabbix.conf Ajouter la liste des IP auxquelles l’accès à l’interface web de Zabbix est permis. C’est facultatif. Si vous écrivez ‘Allow from All’ , alors vous pouvez accéder à la console web de Zabbix depuis n’importe quelle machine de n’importe quel réseau. Voici un exemple de configuration: Alias /zabbix /usr/share/zabbix Options FollowSymLinks AllowOverride None Order allow,deny Dominique MEKIES pour formation SIO 7/22
CFA La Mare / Sainte Marie / 2016 Allow from 192.168.1.0/24 Sauvegarder ce fichier puis redémarrer Zabbix ainsi que le service httpd et faire en sorte que tous ces services démarrent automatiquement à chaque reboot de la machine. systemctl start zabbixserver systemctl start zabbixagent systemctl restart httpd systemctl restart mariadb systemctl enable zabbixserver systemctl enable zabbixagent Compléter la configuration de Zabbix via la Web console La première phase de l’installation et de la configuration de Zabbix est terminée.On passe maintenant à la configuration via la web console. Se connecter à l’URL http://ipaddress/zabbix ttp://domainname/zabbix ou h . Puis cliquer sur NEXT. L’installateur va vérifier que tous les prérequis nécessaires sont disponibles. Si tout est OK, on peut cliquer sur NEXT pour continuer. Sinon, il faut absolument installer les packages manquants nécessaires avant de continuer. Dominique MEKIES pour formation SIO 8/22
CFA La Mare / Sainte Marie / 2016 Renseigner le nom de la database Zabbix qui a été choisi dans la première phase de l’installation, ainsi que le nom d’utilisateur et son password pui cliquer sur le test de connection. Si les bons paramètres ont été renseignés, un message indique: OK. Il faut alors cliquer sur NEXT pour continuer. Dominique MEKIES pour formation SIO 9/22
CFA La Mare / Sainte Marie / 2016 Entrer le nom du serveur et cliquer sur NEXT: Lire et vérifier le résumé de l’installation et si tout est OK, cliquer sur NEXT pour continuer ou sur PREVIOUS pour effectuer des corrections. Bravo! A ce stade, l’installation est terminée correctement. Cliquer sur FINISH. Dominique MEKIES pour formation SIO 10/22
CFA La Mare / Sainte Marie / 2016 Maintenant, vous allez être redirigé vers la page console web de Zabbix. Il faudra entrer le username et le password d’administration de Zabbix qui sont par défaut Admin/zabbix . Dominique MEKIES pour formation SIO 11/22
CFA La Mare / Sainte Marie / 2016 Le tableau de bord de l’administration ressemble à ceci: Dominique MEKIES pour formation SIO 12/22
CFA La Mare / Sainte Marie / 2016 Activer le serveur Zabbix Par défaut, au démarrage, le serveur Zabbix ne s’autosupervise pas. Pour activer la supervision du serveur Zabbix par luimême, aller à Configuration > Hosts . Choisir l’hôte (zabbix server) et choisir Activate selected de la liste déroulante puis cliquer sur Go. A partir de maintenant, vous devriez voir que le serveur Zabbix est bien monitoré. Dominique MEKIES pour formation SIO 13/22
CFA La Mare / Sainte Marie / 2016 Vérifier / Consulter les statistiques du serveur Zabbix Après quelques secondes de fonctionnement, cliquer sur l’onglet Monitoring au dessus de la barre de menu et sélectionner “ Latest data” . Vous verrez alors les détails du serveur Zabbix: Dominique MEKIES pour formation SIO 14/22
CFA La Mare / Sainte Marie / 2016 Pour voir d’autres écrans de monitoring, aller à Monitoring > Screens depuis le tableau de bord de Zabbix. Et voilà, nous en avons terminé avec la configuration côté serveur. Passons à la configuration côté client. Configuration Côté Client Nous allons installer des agents Zabbix sur nos machines clientes. Pour installer les packages agent sur des clients de type Fedora/RHEL (c’est bien le cas de notre machine cliente sous CentOS 7), utiliser les commandes suivantes à partir d’un terminal: rpm import http://repo.zabbix.com/RPMGPGKEYZABBIX rpm Uv http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbixrelease2.41.el7.noarch.rpm yum install zabbixagent y Sur des clients Ubuntu ou Debian clients, on utiliserait la commande suivante: sudo aptget install zabbixagent Dominique MEKIES pour formation SIO 15/22
CFA La Mare / Sainte Marie / 2016 Configuration Clients Editer le fichier /etc/zabbix/zabbix_agentd.conf, vi /etc/zabbix/zabbix_agentd.conf Ajouter l’adresse IP du serveur Zabbix ainsi que le hostname du client. [...] ## Specify Zabbix's server IP address ## Server=192.168.1.150 [...] ##Specify Zabbix's server IP address ## ServerActive=192.168.1.150 ## Specify client system hostname ## Hostname=server2.unixmen.local [...] Où on rappelle que: ● 192.168.1.150 – Adresse IP du serveur Zabbix ● server2 – Hostname du client Zabbix. abbixagent On doit maintenant redémarrer le service z avec la commande suivante: Sous Ubuntu/Debian: sudo service zabbixagent start Sous CentOS 7: systemctl start zabbixagent systemctl enable zabbixagent Dominique MEKIES pour formation SIO 16/22
CFA La Mare / Sainte Marie / 2016 Ajouter des hosts monitorés Aller via la console/interface web du serveur au tableau de bord du serveur Zabbix. Pour ajouter une cible monitorée, aller à . Cliquer sur Configuration > Hosts Create Host sur la droite de la page. Entrer le hostname de la cible, sélectionner les Groupes et l’adresse IP dans la section Host comme montré cidessous. Dominique MEKIES pour formation SIO 17/22
CFA La Mare / Sainte Marie / 2016 Puis dans la section Templates sélectionner votre Template. Dans mon cas, j’ai sélectionné “Linux Template” et “SSH Template”. Après avoir sélectionné votre Template, cliquer sur le bouton SELECT en bas de page. Dominique MEKIES pour formation SIO 18/22
CFA La Mare / Sainte Marie / 2016 Dominique MEKIES pour formation SIO 19/22
CFA La Mare / Sainte Marie / 2016 dd Dans la fenêtre suivante, cliquer sur les boutons A puis Update Maintenant, le nouvel hôte a été ajouté à la list des machines monitorées. C’est tout. Si un problème survient sur le système client qui est monitoré, cela apparaît dans le tableau de bord du serveur Zabbix. Dominique MEKIES pour formation SIO 20/22
CFA La Mare / Sainte Marie / 2016 Aller à Monitoring > Latest data pour vérifier les détails du client. Dominique MEKIES pour formation SIO 21/22
CFA La Mare / Sainte Marie / 2016 Vous pouvez voir la liste de tous les warnings (alertes) et toutes les informations en allant à Monitoring > Triggers Conclusion Dans cette procédure, nous avons passé en revue l’installation et la configuration basique de Zabbix. Attardez vous et explorez le tableau de bord Zabbix en examinant une par une les options proposées. Dominique MEKIES pour formation SIO 22/22
Vous pouvez aussi lire