
Zabbix est une plateforme d'entreprise mature sans compromis conçue pour la surveillance en temps réel de millions de métriques collectées à partir de dizaines de milliers de serveurs, machines virtuelles et périphériques réseau, qui s'adaptent sans effort, même dans des environnements plus étendus. Collectez et analysez des statistiques précises et des mesures de performance, visualisez-les, soyez informé des problèmes actuels et potentiels, sans délai et profitez du développement et du support professionnels éprouvés dans le temps.
L'installation se fera sur une machine Almalinux 8.5 avec une base de données MariaDB et Apache.
dnf update -y
rpm -Uvh https://repo.zabbix.com/zabbix/5.5/rhel/8/x86_64/zabbix-release-5.5-1.el8.noarch.rpm
dnf clean all
dnf update -y
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 -y
Nous allons d'abord ajouter le dépôt officiel de MariaDB, que l'on peut retouver ici
touch /etc/yum.repos.d/mariadb.repo
Puis ajouter la configuration fourni par MariaDB
nano /etc/yum.repos.d/mariadb.repo
# MariaDB 10.6 CentOS repository list - created 2022-05-17 12:39 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.xtom.nl/mariadb/yum/10.6/centos8-amd64
module_hotfixes=1
gpgkey=https://mirrors.xtom.nl/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
Mettez à jour vos dépôts :
dnf update -y
Ensuite on installer MariaDB-Server :
dnf install MariaDB-server -y
Démarrez les processus de MariaDB et faites-les démarrer au démarrage du système.
sudo systemctl enable mariadb
sudo systemctl restart mariadb
Attention, si votre base de donnée doit etre accessible depuis un autre serveur.
Il vous faudra ouvrir le port 3306.
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
mysql_secure_installation
Le mot de passe de l’utilisateur root est demandé. Il ne s’agit pas ici du mot de passe de l’utilisateur root sur la machine elle-même mais de l’utilisateur SQL (base de données). A ce stade, aucun mot de passe ne lui a été configuré, c’est donc ce que nous allons faire. Appuyez simplement sur Entrée.

A la question suivante, tapez la lettre Y pour répondre Yes et appuyez sur Entrée.


A la question suivante, on vous demande justement si vous voulez attribuer un mot de passe au compte root. Tapez la lettre Y pour répondre Yes et appuyez sur Entrée.

Saisissez 2 fois le mot de passe que vous voulez donner au compte SQL root.
Attention, aucun symbole ne va s’afficher pendant la saisie, soyez vigilant à votre frappe !

Vous pourrez par la suite répondre Yes à toutes les autres questions posées.

Maintenant que l’accès aux bases de données est sécurisé, nous allons pouvoir nous y connecter avec le compte root et le mot de passe que nous venons de lui définir :
sudo mysql -u root -p
mysql> create database zabbix_db character set utf8 collate utf8_bin;
mysql> create user zabbix_user@localhost identified by 'password';
mysql> grant all privileges on zabbix_db.* to zabbix_user@localhost;
mysql> quit;
Pensez à changer le mot de passe
password!
Si vous installez votre base de donnée sur un autre serveur, changez la valeur localhost en "%".
Vous serez invité à entrer votre mot de passe nouvellement créé.
sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -u zabbix_user -p zabbix_db
Modifier le fichier /etc/zabbix/zabbix_server.conf :
DBHost=IP ou localhost de la base de données
DBName=zabbix_db
DBUser=zabbix_user
DBPassword=password
Pensez à changer le mot de passe
password!
Démarrez les processus du serveur et de l'agent Zabbix et faites-les démarrer au démarrage du système.
sudo systemctl restart zabbix-server zabbix-agent2 httpd php-fpm
sudo systemctl enable zabbix-server zabbix-agent2 httpd php-fpm
Il vous faut ouvrir le port 80 pour accéder au serveur :
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
Par défault l'accès à zabbix ce fait par http://ip_or_name/zabbix, cependant on peut faire un sorte de retirer le /zabbix à chaque fois.
Pour cela, rendez-vous dans :
sudo nano /etc/httpd/conf/httpd.conf
Modifier les entrés comme ci-dessous à partir de la ligne 122 à 134
DocumentRoot "/usr/share/zabbix"
#
# Relax access to content within /var/www.
#
<Directory "/usr/share/zabbix">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
# Further relax access to the default document root:
<Directory "/usr/share/zabbix">
Redémarrer le service *httpd :
sudo systemctl restart httpd
Il vous faut modifier les valeurs par défaut de l'agent2, rendez vous dans :
sudo nano /etc/zabbix/zabbix_agent2.conf
Puis modifier les champs suivant :
Server=IP
ServerActive=IP
Hostname=Nom_Du_Serveur
Attention à la valeur IP, mettez bien l'ip de votre serveur zabbix.
Pour le Hostname, vous pouvez mettre ce que vous voulez.
Il ne faut juste pas oublier qu'une fois dans zabbix, il faudra aller changer le nom qui est mis par défaut sur l'host zabbix_server par celui que vous avez choisi pour que les données de l'agent remonte bien.
Redémarrer l'agent pour qu'il prenne sa configuration en compte :
sudo systemctl restart zabbix-agent2
Pour que le serveur puisse envoyer et récuperer les informations des agents, il vous ouvrir les ports 10050 / 10051 :
sudo firewall-cmd --permanent --add-port=10050/tcp
sudo firewall-cmd --permanent --add-port=10051/tcp
sudo firewall-cmd --reload
Vorte serveur Zabbix est installé ! Il est accessible depuis :
http://ip_or_name






Admin et le mot de passe zabbix
Pensez à changer le mot de passe du compte Admin !
Toutes mes félicitations, vous pouvez maintenant superviser votre premier serveur !
Vous pouvez déployer rapidement et simplement un serveur Zabbix et sa base de données avec ce docker-compose :