Installer un serveur ZABBIX sur une distribution CentOS 7 1/22

 
CONTINUER À LIRE
Installer un serveur ZABBIX sur une distribution CentOS 7 1/22
CFA La Mare / Sainte Marie / 2016

    Installer un serveur ZABBIX
   sur une distribution CentOS 7

Dominique MEKIES pour formation SIO   1/22
Installer un serveur ZABBIX sur une distribution CentOS 7 1/22
CFA La Mare / Sainte Marie / 2016

Présentation de ZABBIX

Zabbix est une solution professionnelle open­source 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 ad­hoc.

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
Installer un serveur ZABBIX sur une distribution CentOS 7 1/22
CFA La Mare / Sainte Marie / 2016

Pour installer le repository EPEL, exécuter la commande suivante:
yum install epel­release

Configurer le repository ZabbixZone
rpm ­Uv http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix­release­3.0­1.el7.noarch.rpm

Maintenant, installer le serveur Zabbix et l’agent Zabbix grâce à la commande suivante:

yum install zabbix­server­mysql zabbix­web­mysql zabbix­agent zabbix­java­gateway

Le package zabbix­server­mysql 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 zabbix­web­mysql 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 zabbix­java­gateway 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
Installer un serveur ZABBIX sur une distribution CentOS 7 1/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.41­MariaDB 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
Installer un serveur ZABBIX sur une distribution CentOS 7 1/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/zabbix­server­mysql­3.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
Installer un serveur ZABBIX sur une distribution CentOS 7 1/22
CFA La Mare / Sainte Marie / 2016

Maintenant, il faut faire en sorte que le serveur Zabbix se supervise lui­mê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 ci­dessous. 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
Installer un serveur ZABBIX sur une distribution CentOS 7 1/22
CFA La Mare / Sainte Marie / 2016

Régler les paramètres du pare­feu Linux ainsi que ceux du SELinux.

Zabbix utilise, pour communiquer avec ses agents les ports 10050 et 1051. Il faut donc que
le pare­feu laisse passer les communication vers ou depuis ces ports.

firewall­cmd ­­permanent ­­add­port=10050/tcp
firewall­cmd ­­permanent ­­add­port=10051/tcp

OU

Utiliser les commandes iptables si la commande firewall­cmd 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
Installer un serveur ZABBIX sur une distribution CentOS 7 1/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 zabbix­server
systemctl start zabbix­agent
systemctl restart httpd
systemctl restart mariadb
systemctl enable zabbix­server
systemctl enable zabbix­agent

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://ip­address/zabbix​  ​ttp://domain­name/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
Installer un serveur ZABBIX sur une distribution CentOS 7 1/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
Installer un serveur ZABBIX sur une distribution CentOS 7 1/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’auto­supervise pas.
Pour activer la supervision du serveur Zabbix par lui­mê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/RPM­GPG­KEY­ZABBIX
rpm ­Uv http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix­release­2.4­1.el7.noarch.rpm
yum install zabbix­agent ­y

Sur des clients Ubuntu ou Debian clients, on utiliserait la commande suivante:
sudo apt­get install zabbix­agent

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.

                                          abbix­agent​
On doit maintenant redémarrer le service z​          avec la commande suivante:

Sous Ubuntu/Debian:
sudo service zabbix­agent start

Sous CentOS 7:
systemctl start zabbix­agent
systemctl enable zabbix­agent

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é ci­dessous.

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