Comment installer Zabbix sur RHEL/CentOS et Debian/Ubuntu
Zabbix est un logiciel d’entreprise open source de haut niveau conçu pour surveiller et suivre les réseaux, les serveurs et les applications en temps réel. Dans un modèle serveur-client, Zabbix peut collecter différents types de données qui sont utilisées pour créer des graphiques historiques et afficher les performances ou les tendances de charge des cibles surveillées.
Le serveur a la capacité de vérifier les services de réseau standard (HTTP, FTP, SMTP, IMAP, etc.) sans avoir besoin d’installer de logiciel supplémentaire sur les hôtes surveillés.
Cependant, afin de collecter des données et de créer des statistiques sur les services locaux ou d’autres ressources système spécifiques qui s’exécutent sur des instances distantes, telles que le processeur, les disques, le processus système interne, la RAM, etc., vous devez installer et configurer un agent Zabbix.
Voici la série de 4 articles sur l’application de surveillance Zabbix :
Ce tutoriel se concentrera sur la façon d’installer la dernière version du serveur Zabbix sur Debian/Ubuntu et RHEL/CentOS /Fedora/Rocky Linux/AlmaLinux avec la base de données backend MySQL/MariaDB pour stocker les données collectées, PHP et Apache Web Server en tant qu’interface principalement Web.
Important : Les instructions Zabbix données fonctionnent également sur tous les dérivés de Debian et les distributions basées sur RedHat comme RHEL/CentOS/Fedora et Rocky Linux/AlmaLinux.
Étape 1 : Installer Apache Web Server et PHP
1. Tout d’abord, mettez à jour les progiciels, puis installez Apache Web Server en même temps que PHP et ses extensions afin de fournir la fonctionnalité Web pour Zabbix Server en exécutant la commande suivante.
--------------- On Debian/Ubuntu ---------------
sudo apt update && sudo apt upgrade
sudo apt install apache2 php php-mysql php-mysqlnd php-ldap php-bcmath php-mbstring php-gd php-pdo php-xml libapache2-mod-php
--------------- On RHEL-based Distros ---------------
yum update && yum upgrade
yum -y install epel-release
yum install httpd php php-mysqlnd php-ldap php-bcmath php-mbstring php-gd php-xml
2. Ensuite, vous devez régler l’interpréteur PHP et ajuster certaines valeurs afin d’exécuter Zabbix Server. Ouvrez donc le fichier de configuration Apache php.ini pour le modifier en exécutant la commande suivante :
$ sudo nano /etc/php/7.X/apache2/php.ini [On Debian/Ubuntu]
vi /etc/php.ini [On RHEL/CentOS/]
Maintenant, recherchez avec CTRL+C et remplacez les valeurs PHP suivantes comme suit :
post_max_size = 16M
upload_max_filesize = 2M
max_execution_time 300
max_input_time = 300
memory_limit 128M
session.auto_start = 0
mbstring.func_overload = 0
date.timezone = Europe/Bucharest
Remplacez la variable date.timezone en fonction de l’emplacement géographique de votre serveur. Une liste des fuseaux horaires pris en charge par PHP peut être trouvée ici http://php.net/manual/en/timezones.php.
3. Après avoir mis à jour le fichier de configuration PHP, redémarrez le démon Apache pour refléter les modifications en exécutant la commande suivante.
$ sudo systemctl restart apache2.service [On Debian/Ubuntu]
systemctl restart httpd.service [On RHEL/CentOS]
Étape 2 : Installer la base de données et la bibliothèque MariaDB
4. À l’étape suivante, installez la base de données MariaDB et la bibliothèque de développement MySQL à partir de packages binaires. Lors de l’installation de MariaDB sur votre système, il vous sera demandé de définir un mot de passe pour l’utilisateur root de la base de données lors de l’installation (uniquement sur Debian). Choisissez un mot de passe fort, répétez-le et attendez la fin de l’installation.
$ sudo apt-get install mariadb-server mariadb-client libmysqld-dev [On Debian/Ubuntu]
yum install mariadb-server mariadb-client mariadb-devel [On RHEL/CentOS]
5. Lorsque l’installation de Mariadb est terminée, démarrez et sécurisez la base de données en émettant mysql_secure_installation commande avec les privilèges root du système (répondez par oui pour la suppression des utilisateurs anonymes, désactivez la connexion root à distance, supprimez la base de données de test et l’accès à celle-ci et appliquez toutes les modifications).
$ sudo systemctl start mariadb
sudo mysql_secure_installation
OR
systemctl start mariadb
mysql_secure_installation
Utilisez la capture d’écran ci-dessous comme guide.
6. La prochaine exigence pour Zabbix est la mise en place d’une base de données SGBDR. Connectez-vous à votre composant de base de données de pile LAMP (MySQL ou MariaDB) et créez une base de données Zabbix ainsi que les informations d’identification requises pour gérer la base de données, en exécutant les commandes suivantes.
Assurez-vous de remplacer le nom de la base de données, l’utilisateur et le mot de passe pour qu’ils correspondent à vos propres paramètres.
# mysql -u root -p
MariaDB [(none)]> create database zabbixdb character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbixdb.* to 'zabbixuser'@'localhost' identified by 'password1';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
Étape 3 : Installer le serveur Zabbix
7. Maintenant, commencez à installer le serveur Zabbix et l’application frontend PHP Zabbix en ajoutant les dépôts officiels Zabbix à votre gestionnaire de paquets système en exécutant les commandes suivantes avec les privilèges root.
Installer Zabbix sur Debian
--------------- On Debian 11 ---------------
sudo wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian11_all.deb
sudo dpkg -i zabbix-release_5.4-1+debian11_all.deb
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
--------------- On Debian 10 ---------------
sudo wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian10_all.deb
sudo dpkg -i zabbix-release_5.4-1+debian10_all.deb
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Installer Zabbix sur Ubuntu
--------------- On Ubuntu 20.04 ---------------
sudo wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
--------------- On Ubuntu 18.04 ---------------
sudo wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu18.04_all.deb
sudo dpkg -i zabbix-release_5.4-1+ubuntu18.04_all.deb
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Installer Zabbix sur des distributions basées sur RHEL
--------------- On RHEL/CentOS 8 ---------------
rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm
dnf clean all
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
--------------- On RHEL/CentOS 7 ---------------
rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm
dnf clean all
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Si vous souhaitez télécharger et compiler une version plus ancienne, veuillez visiter les dépôts officiels de Zabbix Sourceforge.
8. À l’étape suivante, redémarrez le serveur HTTP Apache afin d’appliquer le fichier de configuration Zabbix installé pour Apache.
$ sudo systemctl restart apache2 [On Debian/Ubuntu]
systemctl restart httpd [On RHEL/CentOS]
setenforce 0 [Disable SELinux on RHEL/CentOS]
Étape 4 : Configurer le serveur et l’agent Zabbix
9. Avant de configurer le serveur, importez d’abord le schéma de base de données initial de Zabbix dans la base de données MySQL. Importez le schéma par rapport à la base de données créée pour l’application Zabbix, en exécutant la commande ci-dessous.
$ sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -u zabbixuser zabbixdb -p
OR
zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -u zabbixuser zabbixdb -p
10. À l’étape suivante, configurez le serveur Zabbix en ouvrant le fichier de configuration principal pour l’édition avec la commande suivante.
$ sudo nano /etc/zabbix/zabbix_server.conf
OR
nano /etc/zabbix/zabbix_server.conf
Dans le fichier zabbix_server.conf, recherchez et modifiez les lignes suivantes comme présenté dans l’extrait ci-dessous. Mettez à jour les variables pour refléter les paramètres de votre propre base de données.
DBHost=localhost
DBName=zabbixdb
DBUser=zabbixuser
DBPassword=password1
11. Enfin, enregistrez et fermez le fichier de configuration du serveur Zabbix en appuyant sur Ctrl+o et Ctrl+x et en redémarrant le démon Zabbix pour appliquer les modifications en exécutant la commande ci-dessous.
# systemctl restart zabbix-server.service
12. Ensuite, configurez le fichier de configuration de l’agent Zabbix en mettant à jour les lignes suivantes. Tout d’abord, ouvrez le fichier pour le modifier.
# nano /etc/zabbix/zabbix_agentd.conf
Extrait du fichier de configuration de l’agent Zabbix :
Server=127.0.0.1
ListenPort=10050
13. Enregistrez et fermez le fichier de configuration de l’agent Zabbix et redémarrez l’agent Zabbix pour refléter les modifications en exécutant la commande suivante.
# systemctl restart zabbix-agent.service
Étape 5 : Installer et configurer l’interface frontale Zabbix
15. Il est maintenant temps d’installer l’interface Web Zabbix Server Frontend. Pour accomplir cette étape, ouvrez un navigateur et accédez à l’adresse IP de votre serveur à l’aide du protocole HTTP ou HTTPS et l’écran de bienvenue devrait apparaître. Appuyez sur le bouton Suivant pour avancer.
http://192.168.1.151/zabbix/setup.php
OR
https://192.168.1.151/zabbix/setup.php
Sur le premier écran d’accueil, il suffit d’appuyer sur le bouton Étape suivante pour passer à la nouvelle étape du processus d’installation.
16. Après une série de vérifications, si toutes les valeurs pré-requises sont satisfaites, appuyez sur le bouton Suivant pour continuer.
17. À l’étape suivante, fournissez les paramètres de la base de données MySQL, appuyez sur le bouton Tester la connexion pour tester la connectivité MySQL, puis passez à l’étape en appuyant sur le bouton Suivant.
18. Ensuite, fournissez l’hôte (ou l’adresse IP) et le port du serveur Zabbix (utilisez l’hôte localhost et le port 10051 car le serveur Zabbix est configuré pour fonctionner sur le même hôte que l’interface Web frontale Zabbix dans ce tutoriel) et un nom pour l’installation frontale Zabbix. Lorsque vous avez terminé, appuyez sur Suivant pour continuer.
19. Ensuite, vérifiez tous les paramètres de configuration.
20. Une fois le processus d’installation terminé, un message de félicitations apparaîtra dans votre navigateur. Appuyez sur le bouton Terminer pour quitter le programme d’installation frontal de Zabbix.
21. Enfin, accédez à l’adresse IP de votre serveur ou au nom de domaine en ajoutant l’adresse URL /zabbix et connectez-vous au panneau d’administration Web Zabbix avec les informations d’identification par défaut présentées ci-dessous.
https://your_domain.tld/zabbix/
Username: Admin
Password: zabbix
22. Après vous être connecté au panneau d’administration de Zabbix, vous pouvez commencer à configurer Zabbix et ajouter de nouvelles ressources réseau à surveiller par le serveur Zabbix.
23. Pour modifier le mot de passe du compte administrateur frontal Zabbix, accédez à Administration -> Utilisateurs -> Utilisateur et appuyez sur le bouton Modifier le mot de passe et ajoutez votre nouveau mot de passe, comme illustré dans la capture d’écran ci-dessous. Enfin, cliquez sur le bouton Bas Mettre à jour afin d’enregistrer le nouveau mot de passe du compte administrateur.
Ça va ! La prochaine série concernant le système de surveillance Zabbix abordera comment configurer davantage le serveur à l’aide de l’interface Web et comment installer et configurer les agents Zabbix sur différentes distributions Linux ou même systèmes Windows.










