Installation et Configuration Zabbix

Cette section décrit l'installation et la configuration complète de la solution de supervision Zabbix.

Elle couvre l'installation du serveur Zabbix, de MariaDB et d'Apache, ainsi que la configuration de la base de données.

Elle inclut également la mise en place des agents Zabbix sur les machines à superviser et leur ajout dans l'interface graphique.


Partie 1 — Installation de Zabbix

Installation de Zabbix, MariaDB et Apache

Installation du service

Importer le dépôt officiel de Zabbix :

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm

Installer les services nécessaires :

dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent mariadb-server




Partie 2 — Configuration de la base de données

Création et initialisation de la base de données MariaDB pour Zabbix

Démarrage de MariaDB

Activer et sécuriser MariaDB :

systemctl enable --now mariadb
mysql_secure_installation

Création de la base de données

Se connecter à la base de données :

mysql -u root -p

Créer la base Zabbix et l'utilisateur associé :

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Importer le schéma de base de données Zabbix :

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix

⚠ ATTENTION : Cette commande peut prendre plusieurs minutes. Elle initialise toutes les tables nécessaires au fonctionnement de Zabbix.




Partie 3 — Configuration de Zabbix

Configuration du serveur Zabbix, PHP et ouverture des ports

Configuration du serveur Zabbix

Ouvrir le fichier de configuration de Zabbix :

vi /etc/zabbix/zabbix_server.conf

Renseigner le mot de passe de la base de données :

DBPassword=MotDePasseFort

Configuration du fuseau horaire PHP

Ouvrir le fichier de configuration PHP de Zabbix :

vi /etc/php-fpm.d/zabbix.conf

Ajouter ou modifier la ligne suivante :

php_value[date.timezone] = Europe/Paris

Démarrage des services

Activer et démarrer tous les services Zabbix :

systemctl enable --now zabbix-server zabbix-agent httpd php-fpm
systemctl start zabbix-server zabbix-agent httpd php-fpm

Ouverture des ports dans iptables

Ouvrir les ports Zabbix (10051), HTTP (80) et HTTPS (443) :

vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT

Recharger iptables :

systemctl reload iptables

Accès à l'interface web

Depuis une machine cliente, ouvrir un navigateur et saisir l'adresse IP du serveur Zabbix.

Identifiants de connexion par défaut :

Utilisateur : Admin
Mot de passe : zabbix

⚠ IMPORTANT : Changer le mot de passe par défaut immédiatement après la première connexion.




Partie 4 — Configuration d'un agent Zabbix

Installation et configuration de l'agent Zabbix sur les machines à superviser

Installation de l'agent

Sur chaque machine à superviser, importer le dépôt Zabbix :

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm

Installer l'agent :

dnf install zabbix-agent -y

Configuration de l'agent

Ouvrir le fichier de configuration de l'agent :

vi /etc/zabbix/zabbix_agentd.conf

Modifier les trois lignes suivantes :

Server=IP_DU_SERVEUR_ZABBIX
ServerActive=IP_DU_SERVEUR_ZABBIX
Hostname=Nom_Exact_DuServeur_A_Superviser
  • Server : adresse IP du serveur Zabbix
  • ServerActive : adresse IP du serveur Zabbix (checks actifs)
  • Hostname : nom exact de la machine (doit correspondre à celui saisi dans l'interface web)

Activer et démarrer l'agent :

systemctl enable --now zabbix-agent
systemctl start zabbix-agent

Ouverture du port de l'agent dans iptables

Ouvrir le port 10050 uniquement pour le serveur Zabbix :

vi /etc/sysconfig/iptables
-A INPUT -p tcp -s IP_Serveur_Zabbix --dport 10050 -j ACCEPT

Recharger iptables :

systemctl reload iptables




Partie 5 — Ajout de l'agent dans l'interface Zabbix

Déclaration de la machine supervisée dans l'interface graphique Zabbix

Création d'un hôte

Dans l'interface web de Zabbix, naviguer vers :

Data collection → Hosts → Create host

Remplir les champs suivants :

  • Host name : nom exact renseigné dans la configuration de l'agent
  • Templates : sélectionner le template adapté (ex : Linux by Zabbix agent)
  • Host groups : créer un nouveau groupe ou en sélectionner un existant
  • Interfaces : sélectionner Agent et renseigner l'adresse IP de la machine
  • Cliquer sur Add pour valider

⚠ ATTENTION : Le champ Host name doit correspondre exactement au paramètre Hostname du fichier zabbix_agentd.conf.

Après quelques instants, la section Availability de l'hôte doit passer au vert.

Répéter ces étapes pour chaque machine à superviser.




Remarques Finales

Votre superviseur Zabbix est désormais fonctionnel.

Pensez à configurer des triggers et des alertes dans l'interface pour être notifié en cas d'anomalie sur vos machines.

Répéter la Partie 4 sur chaque machine que vous souhaitez superviser.