Installation Zabbix · 23 min read · Oct 09, 2025
Comment installer et configurer le serveur et le client Zabbix sur Rocky Linux 9

Zabbix est une solution de surveillance gratuite et open-source pour l’infrastructure informatique, comme les réseaux, les serveurs, les machines virtuelles et les services cloud. Son cœur est écrit en C et Java, avec le frontend écrit en PHP. Le frontend fournit une interface web pour suivre et surveiller des métriques telles que l’utilisation du réseau, la charge CPU, l’espace disque, etc., et envoyer des notifications basées sur des déclencheurs personnalisés.
Zabbix fonctionne selon un modèle Client/Serveur. Les clients ou agents disponibles pour divers systèmes d’exploitation contactent le serveur pour envoyer les données. Pour les systèmes sans agent, Zabbix offre la possibilité d’utiliser des protocoles de surveillance génériques tels que le Simple Network Management Protocol (SNMP) ou l’Intelligent Platform Management Interface (IPMI).
Dans ce tutoriel, vous apprendrez à installer le serveur Zabbix et le client sur un serveur Rocky Linux 9.
Prérequis
- Deux serveurs exécutant Rocky Linux 9. L’un fonctionnera comme serveur et l’autre comme client que nous surveillerons à l’aide du serveur.
- Un utilisateur non-root avec des privilèges sudo.
- Un nom de domaine entièrement qualifié (FQDN) comme
zabbix.example.compointant vers votre serveur. - Un compte SMTP avec un service de messagerie comme Amazon SES ou Mailgun.
- Tout est à jour.
$ sudo dnf update - Quelques paquets essentiels sont nécessaires pour le tutoriel et le fonctionnement du serveur Zabbix. Certains d’entre eux seront déjà sur votre serveur.
$ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y
Étape 1 - Configurer le pare-feu
La première étape consiste à configurer le pare-feu. Rocky Linux utilise Firewalld Firewall. Vérifiez l’état du pare-feu.
$ sudo firewall-cmd --state
runningLe pare-feu fonctionne avec différentes zones, et la zone publique est celle par défaut que nous utiliserons. Listez tous les services et ports actifs sur le pare-feu.
$ sudo firewall-cmd --permanent --list-servicesIl devrait afficher la sortie suivante.
cockpit dhcpv6-client sshLes ports 10050 et 10051 sont nécessaires au serveur Zabbix pour se connecter à l’agent.
$ sudo firewall-cmd --add-port={10051/tcp,10050/tcp} --permanentAutorisez les ports HTTP et HTTPS.
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=httpsVérifiez à nouveau l’état du pare-feu.
$ sudo firewall-cmd --permanent --list-allVous devriez voir une sortie similaire.
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: cockpit dhcpv6-client http https ssh
ports: 10051/tcp 10050/tcp
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:Rechargez le pare-feu pour activer les changements.
$ sudo firewall-cmd --reloadÉtape 2 - Mettre SELinux en mode permissif
Configurez SELinux pour fonctionner en mode permissif. Dans ce mode, SELinux ne bloquera aucun processus mais enregistrera tout dans le fichier journal d’audit. Nous l’utiliserons plus tard pour configurer les règles SELinux.
$ sudo setenforce 0 && sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/configVérifiez l’état de SELinux.
$ sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 33Étape 3 - Configurer le dépôt Nginx et PHP
Le paquet Zabbix installera automatiquement PHP et Nginx. Mais il prendra des versions plus anciennes. Par conséquent, nous devons nous assurer que le processus installe la dernière version disponible.
Créez et ouvrez le fichier /etc/yum.repos.d/nginx.repo pour l’édition.
$ sudo nano /etc/yum.repos.d/nginx.repoCollez le code suivant dedans.
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=trueUne fois que vous avez terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Activez le dépôt principal de Nginx.
$ sudo dnf config-manager --enable nginx-mainlineEnsuite, nous devons configurer le dépôt PHP.
La première étape consiste à récupérer le dépôt Epel.
$ sudo dnf install epel-release -yEnsuite, installez le dépôt Remi.
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpmVérifiez les flux PHP disponibles.
$ dnf module list php -y
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 9 - x86_64
Name Stream Profiles Summary
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
php remi-8.2 common [d], devel, minimal PHP scripting language
php remi-8.3 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledLa version par défaut est 8.1. Au moment de la rédaction de ce tutoriel, Zabbix est compatible avec PHP 8.2. Par conséquent, activez le dépôt PHP 8.2 de Remi. La prochaine version de Zabbix prendra en charge PHP 8.3, donc vous pouvez l’activer si votre version de Zabbix est 6.0.26 ou supérieure.
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.2Maintenant, nous pouvons procéder à l’installation de Zabbix.
Étape 4 - Installer le serveur Zabbix
Les paquets Zabbix sont fournis par défaut dans le dépôt EPEL. Avant de procéder à notre installation, nous devons les désactiver. Ouvrez le fichier /etc/yum.repos.d/epel.repo pour l’édition et ajoutez la ligne suivante sous la section [epel].
[epel]
...
excludepkgs=zabbix*Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
La dernière version de Zabbix est 6.4.x, mais nous allons nous en tenir à la version LTS (support à long terme) qui est beaucoup plus stable pour un environnement de production.
Installez le dépôt Zabbix.
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpmSupprimez tout le cache RPM.
$ sudo dnf clean allInstallez le serveur Zabbix, le frontend et l’agent. Nous utiliserons le serveur PostgreSQL à cette fin et donc nous avons besoin du paquet zabbix-web-pgsql. Si vous utilisez MySQL/MariaDB/Percona, vous devrez installer le paquet zabbix-web-mysql.
$ sudo dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agentÉtape 5 - Installer et configurer PostgreSQL
Zabbix fonctionne avec PostgreSQL 13 et supérieur. Rocky Linux 9 est livré avec PostgreSQL 13 par défaut. Cependant, nous utiliserons PostgreSQL 16 pour notre tutoriel.
Installez le fichier RPM du dépôt PostgreSQL.
$ sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpmDésactivez le module PostgreSQL intégré.
$ sudo dnf -qy module disable postgresqlMaintenant, vous pouvez installer PostgreSQL en utilisant la commande ci-dessous.
$ sudo dnf install -y postgresql16-server postgresql16-contribInitialisez la base de données.
$ sudo /usr/pgsql-16/bin/postgresql-16-setup initdbActivez le service PostgreSQL.
$ sudo systemctl enable postgresql-16Démarrez le service PostgreSQL.
$ sudo systemctl start postgresql-16Vérifiez l’état du service PostgreSQL.
$ sudo systemctl status postgresql-16
? postgresql-16.service - PostgreSQL 16 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-16.service; enabled; preset: disabled)
Active: active (running) since Thu 2024-01-18 14:54:46 UTC; 10s ago
Docs: https://www.postgresql.org/docs/16/static/
Process: 3407 ExecStartPre=/usr/pgsql-16/bin/postgresql-16-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 3412 (postgres)
Tasks: 7 (limit: 24694)
Memory: 17.4M
CPU: 117ms
CGroup: /system.slice/postgresql-16.service
??3412 /usr/pgsql-16/bin/postgres -D /var/lib/pgsql/16/data/
??3413 "postgres: logger "
??3414 "postgres: checkpointer "
??3415 "postgres: background writer "
??3417 "postgres: walwriter "
??3418 "postgres: autovacuum launcher "
??3419 "postgres: logical replication launcher "Créez l’utilisateur de base de données Zabbix.
$ sudo -u postgres createuser --pwprompt zabbixVous serez invité à entrer le mot de passe.
Enter password for new role:
Enter it again: Créez la base de données Zabbix.
$ sudo -u postgres createdb -O zabbix zabbixImportez le schéma initial et les données de la base de données. Vous serez à nouveau invité à entrer votre mot de passe.
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbixCe processus peut prendre quelques minutes pour se terminer.
Ouvrez le fichier /etc/zabbix/zabbix_server.conf pour l’édition.
$ sudo nano /etc/zabbix/zabbix_server.confTrouvez la variable DBPassword, décommentez-la en supprimant le hachage (#) devant elle, et définissez sa valeur sur le mot de passe choisi à l’étape précédente.
DBPassword=psqlpasswordEnregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Démarrez et activez les services du serveur et de l’agent Zabbix.
$ sudo systemctl enable zabbix-server zabbix-agent --nowÉtape 6 - Configurer PHP
Zabbix installe des fichiers de configuration PHP et Nginx que nous allons utiliser. Cependant, nous devons apporter quelques modifications avant de pouvoir les utiliser.
Tout d’abord, nous devons ouvrir /etc/php-fpm.d/zabbix.conf pour l’édition.
$ sudo nano /etc/php-fpm.d/zabbix.confChangez les valeurs de user = apache, et group = apache en nginx comme indiqué ci-dessous.
user = nginx
group = nginxC’est parce que, comme nous utilisons Nginx à partir de son dépôt officiel, il fonctionne sous l’utilisateur nginx et non apache, qui est ce sous quoi la copie de distribution de Nginx fonctionne.
Vous pouvez également modifier d’autres valeurs liées à PHP ou ajouter des définitions personnalisées ici. Une fois terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Démarrez et activez le service PHP-FPM.
$ sudo systemctl enable php-fpm --nowÉtape 7 - Installer SSL
Nous devons installer Certbot pour générer le certificat SSL. Nous utiliserons le gestionnaire de paquets Snapd pour cela. Comme Rocky Linux ne l’inclut pas, installez le gestionnaire Snapd. Il nécessite le dépôt EPEL (Extra Packages for Enterprise Linux) pour fonctionner. Mais comme nous l’avons déjà installé à l’étape 3, nous pouvons directement avancer.
Installez Snapd.
$ sudo dnf install -y snapdActivez et démarrez le service Snap.
$ sudo systemctl enable snapd --nowInstallez le paquet de base Snap, et assurez-vous que votre version de Snapd est à jour.
$ sudo snap install core && sudo snap refresh coreCréez les liens nécessaires pour que Snapd fonctionne.
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.shInstallez Certbot.
$ sudo snap install --classic certbotUtilisez la commande suivante pour vous assurer que la commande Certbot peut être exécutée en créant un lien symbolique vers le répertoire /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbotVérifiez si Certbot fonctionne correctement.
$ certbot --version
certbot 2.8.0Exécutez la commande suivante pour générer un certificat SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d zabbix.example.comLa commande ci-dessus téléchargera un certificat dans le répertoire /etc/letsencrypt/live/zabbix.example.com sur votre serveur.
Générez un certificat de groupe Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096Vérifiez le service de planification de renouvellement de Certbot.
$ sudo systemctl list-timersVous trouverez snap.certbot.renew.service comme l’un des services programmés pour s’exécuter.
NEXT LEFT LAST PASSED UNIT ACTIVATES -------------------------------------------------------------------------------------------------------------------------------------
Sat 2024-01-20 10:04:02 UTC 1min 32s left Sat 2024-01-20 08:52:11 UTC 1h 10min ago dnf-makecache.timer dnf-makecache.service
Sun 2024-01-21 00:00:00 UTC 13h left Sat 2024-01-20 00:00:10 UTC 10h ago logrotate.timer logrotate.service
Sat 2024-01-20 21:13:00 UTC 11h left Sat 2024-01-20 08:19:11 UTC 1h 43min ago snap.certbot.renew.timer snap.certbot.renew.serviceFaites un essai à blanc du processus pour vérifier si le renouvellement SSL fonctionne correctement.
$ sudo certbot renew --dry-runSi vous ne voyez pas d’erreurs, vous êtes prêt. Votre certificat se renouvellera automatiquement.
Étape 8 - Configurer Nginx
Zabbix installe un fichier de configuration Nginx par défaut. Nous devons l’éditer pour ajouter le code permettant d’activer les certificats SSL. Nous devons également changer le port listen et ajouter du code pour rediriger les liens HTTP vers HTTPS.
Ouvrez le fichier /etc/nginx/conf.d/zabbix.conf pour l’édition.
$ sudo nano /etc/nginx/conf.d/zabbix.confModifiez le code pour que le fichier ressemble à ce qui suit.
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
root /usr/share/zabbix;
index index.php;
access_log /var/log/nginx/zabbix.access.log;
error_log /var/log/nginx/zabbix.error.log;
ssl_certificate /etc/letsencrypt/live/zabbix.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zabbix.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/zabbix.example.com/chain.pem;
ssl_session_timeout 5m;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
location = /favicon.ico {
log_not_found off;
}
location / {
try_files $uri $uri/ =404;
}
location /assets {
access_log off;
expires 10d;
}
location ~ \.ht {
deny all;
}
location ~ /(api/|conf[^\.]|include|locale) {
deny all;
return 404;
}
location /vendor {
deny all;
return 404;
}
location ~ [^/\.php(/|$) {
fastcgi_pass unix:/run/php-fpm/zabbix.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /usr/share/zabbix;
fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}
# enforce HTTPS
server {
listen 80;
listen [::]:80;
server_name zabbix.example.com;
return 301 https://$host$request_uri;
}Une fois terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Ouvrez le fichier /etc/nginx/nginx.conf pour l’édition.
$ sudo nano /etc/nginx/nginx.confAjoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Vérifiez votre configuration Nginx.
$ sudo nginx -tDémarrez et activez le service Nginx.
$ sudo systemctl enable nginx --nowÉtape 9 - Accéder au frontend Zabbix
Avant d’installer le frontend Zabbix, définissez les permissions sur le répertoire /etc/zabbix/web afin que Nginx puisse y accéder.
$ sudo chown -R nginx:nginx /etc/zabbix/webOuvrez l’URL https://zabbix.example.com dans votre navigateur et vous obtiendrez l’écran suivant.

Cliquez sur le bouton Next step pour terminer l’installation de Zabbix. La page suivante vérifie les exigences système et si elles sont toutes satisfaites.

S’il n’y a pas de problème, cliquez sur le bouton Next step pour continuer. Ensuite, vous serez invité à entrer vos identifiants de base de données. Décochez l’option Database TLS encryption car nous ne l’avons pas configurée.

Appuyez sur le bouton Next step pour continuer. Entrez le nom de votre serveur Zabbix. C’est cependant facultatif, mais s’il est configuré, il sera affiché dans la barre de menu et les titres de page.

Appuyez sur le bouton Next step pour continuer. Vous serez invité à confirmer tous les paramètres.

Si tout est en ordre, appuyez sur le bouton Next step pour continuer. Vous devriez voir le message vous informant que l’installation est réussie.

Cliquez sur le bouton Finish pour terminer le processus. Vous serez dirigé vers la page de connexion.

Le nom d’utilisateur par défaut est Admin et le mot de passe est zabbix. Entrez les informations de connexion et cliquez sur le bouton Sign in pour accéder au tableau de bord Zabbix.

Étape 10 - Configurer SELinux
Activez le démon HTTP pour se connecter à Zabbix.
$ sudo setsebool -P httpd_can_connect_zabbix 1Autorisez Zabbix à se connecter à tous les ports TCP.
$ sudo setsebool -P zabbix_can_network onActivez daemons_enable_cluster_mode pour éviter les erreurs du gestionnaire HA.
$ sudo setsebool -P daemons_enable_cluster_mode onCréez un paquet de politique SELinux personnalisé en utilisant le journal d’audit.
$ sudo grep "denied.*zabbix" /var/log/audit/audit.log | audit2allow -M zabbix_policy
****************** IMPORTANT *********************
Pour activer ce paquet de politique, exécutez :
semodule -i zabbix_policy.ppInstallez le paquet de politique SELinux personnalisé créé.
$ sudo semodule -i zabbix_policy.ppExécutez la commande pour vérifier les erreurs de base de données.
$ sudo sealert -a /var/log/audit/audit.logCela vous suggérera de nombreuses règles à appliquer.
Exécutez les commandes suivantes.
$ sudo ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm
$ sudo semodule -X 300 -i my-phpfpm.pp
$ sudo ausearch -c 'zabbix_agentd' --raw | audit2allow -M my-zabbixagentd
$ sudo semodule -X 300 -i my-zabbixagentd.ppAppliquez la politique pour permettre à Nginx d’accéder à PostgreSQL.
$ sudo setsebool -P httpd_can_network_connect_db 1Appliquez la politique pour permettre des connexions vers des hôtes externes.
$ sudo setsebool -P httpd_can_network_connect 1Mettez SELinux en mode enforcing.
$ sudo setenforce 1 && sudo sed -i 's/^SELINUX=.*/SELINUX=enforcing/g' /etc/selinux/configÉtape 11 - Installer l’agent Zabbix sur un système distant
Le principal travail de l’agent Zabbix est de recueillir des informations du système et de les envoyer au serveur Zabbix central pour analyse. Nous allons installer l’agent sur un système Rocky Linux 9, mais vous pouvez le faire sur n’importe quelle distribution.
Étape 11.1 - Configurer le pare-feu sur le système distant
Ouvrez le port 10050 pour permettre à l’agent Zabbix de se connecter au serveur.
$ sudo firewall-cmd --add-port=10050/tcp --permanent --zone=public
$ sudo firewall-cmd --reloadÉtape 11.2 - Installer l’agent Zabbix
Vous devez répéter l’étape 4, sauf la dernière instruction d’installation. Cela signifie, éditer le fichier /etc/yum.repos.d/epel.repo et ajouter la ligne suivante dans la section [epel].
[epel]
...
excludepkgs=zabbix*Ensuite, installez le dépôt Zabbix et nettoyez le cache RPM.
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
$ sudo dnf clean allInstallez l’agent Zabbix.
$ sudo dnf install zabbix-agentÉtape 11.3 Configurer l’agent Zabbix
Zabbix prend en charge le chiffrement basé sur des certificats, mais pour la simplicité de ce tutoriel, nous allons utiliser des clés pré-partagées (PSK) pour sécuriser la connexion entre le serveur et l’agent.
Générez un fichier PSK.
$ sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"Affichez la clé pour la copier.
$ cat /etc/zabbix/zabbix_agentd.psk
797c84746dfe86f71b0f207785906d2bb886be27149b296d86df6b1ec9de6bbeCopiez cette clé car nous en aurons besoin plus tard.
L’agent Zabbix stocke sa configuration dans le fichier /etc/zabbix/zabbix-agentd.conf. Ouvrez-le pour l’édition.
$ sudo nano /etc/zabbix/zabbix_agentd.confDécommentez les variables suivantes et mettez à jour leurs valeurs comme indiqué ci-dessous.
Server=
ServerActive=
HostMetadata=ZabbixLinuxClient
Hostname=zabbixclient.example.com Mettez l’adresse IP de votre serveur Zabbix comme valeur pour les variables Server et ServerActive. La variable HostMetadata peut être n’importe quoi que vous pouvez utiliser pour identifier le système. Elle est également utilisée dans le processus d’auto-enregistrement sur le frontend Zabbix dont nous parlerons plus tard. L’élément Hostname fait référence au nom d’hôte du nœud de l’agent Zabbix.
Vous pouvez trouver le nom d’hôte en utilisant la commande suivante.
$ cat /etc/hostnameEnsuite, trouvez la section qui configure une connexion sécurisée entre le serveur et l’agent. Trouvez la variable TLSConnect et changez sa valeur de unencrypted à psk comme indiqué ci-dessous.
...
### Option: TLSConnect
# Comment l'agent doit se connecter au serveur ou au proxy. Utilisé pour les vérifications actives.
# Une seule valeur peut être spécifiée:
# unencrypted - se connecter sans chiffrement
# psk - se connecter en utilisant TLS et une clé pré-partagée
# cert - se connecter en utilisant TLS et un certificat
#
# Obligatoire: oui, si les paramètres de certificat TLS ou PSK sont définis (même pour une connexion 'unencrypted')
# Par défaut:
# TLSConnect=psk
...Ensuite, localisez la section TLSAccept et changez sa valeur en psk comme indiqué ci-dessous.
...
### Option: TLSAccept
# Quelles connexions entrantes accepter.
# Plusieurs valeurs peuvent être spécifiées, séparées par des virgules:
# unencrypted - accepter les connexions sans chiffrement
# psk - accepter les connexions sécurisées avec TLS et une clé pré-partagée
# cert - accepter les connexions sécurisées avec TLS et un certificat
#
# Obligatoire: oui, si les paramètres de certificat TLS ou PSK sont définis (même pour une connexion 'unencrypted')
# Par défaut:
# TLSAccept=psk
...Ensuite, trouvez la section TLSPSKIdentity et changez sa valeur en PSK 001 comme indiqué.
...
### Option: TLSPSKIdentity
# Chaîne unique, sensible à la casse, utilisée pour identifier la clé pré-partagée.
#
# Obligatoire: non
# Par défaut:
# TLSPSKIdentity=PSK 001
...C’est l’ID PSK que vous utiliserez pour ajouter l’hôte via le frontend web Zabbix.
Enfin, localisez la section TLSPSKFile et changez sa valeur en fonction de l’emplacement du fichier PSK comme indiqué.
...
### Option: TLSPSKFile
# Chemin complet d'un fichier contenant la clé pré-partagée.
#
# Obligatoire: non
# Par défaut:
# TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...Une fois terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Étape 11.4 - Démarrer l’agent Zabbix
Démarrez et activez le service de l’agent Zabbix.
$ sudo systemctl enable zabbix-agent --nowÉtape 12 - Ajouter le client Zabbix au frontend Zabbix pour la surveillance
Nous pouvons ajouter un nouvel hôte aux groupes d’hôtes définis existants ou créer un nouveau groupe d’hôtes. Les groupes d’hôtes vous permettent de catégoriser les types de nœuds que vous surveillez. Pour créer un nouveau groupe d’hôtes, ouvrez l’option Host groups sous le menu Configuration.
Ajoutez le nom du groupe dans la case et cliquez sur le bouton Apply pour créer le groupe.
Pour créer un nouvel hôte, cliquez sur l’option Hosts sous le menu Configuration, et cliquez sur le bouton Create host en haut à droite.

Ajoutez le nom d’hôte du nœud Zabbix.
Tapez Linux par Zabbix agent dans la section Templates et sélectionnez le modèle dans le menu déroulant.
De même, tapez Linux Servers dans la section Groups et sélectionnez-le.
Cliquez sur le bouton Add sous la section Interfaces et sélectionnez Agent.
Ajoutez ensuite l’adresse IP du nœud client Zabbix. Une fois que vous avez terminé, la fenêtre contextuelle New host complète devrait ressembler à ce qui suit.

Ensuite, passez à l’onglet Encryption. Sélectionnez PSK pour les options Connections to host et Connections from host. Définissez l’PSK Identity sur PSK 001, qui est la valeur que nous avons définie à l’étape 11.3 pour la variable TLSPSKIdentity précédemment. Ensuite, définissez la valeur PSK comme la clé que vous avez générée sur la machine de l’agent.

Une fois terminé, cliquez sur le bouton Add pour terminer l’ajout de l’hôte.
Vous devriez voir le nouvel hôte dans la liste avec une étiquette verte indiquant que l’agent est connecté au serveur et fonctionne comme prévu.

Étape 13 - Configurer les notifications par e-mail
Zabbix prend en charge de nombreux types de notifications comme les e-mails, Slack, Telegram, SMS, etc. Pour les besoins de notre tutoriel, nous allons configurer les notifications par e-mail. Visitez le frontend Zabbix, cliquez sur Administration, puis sur Media types dans le menu de gauche. Vous verrez deux types d’e-mails, l’un pour les e-mails en texte brut et l’autre pour les e-mails HTML.

Cliquez sur l’option Email (HTML) et vous obtiendrez la page suivante.

Entrez les détails de votre serveur SMTP. Pour notre tutoriel, nous utilisons le service Amazon SES. Cliquez sur le bouton Update une fois terminé pour enregistrer les détails. Vous serez ramené à la page Media types. Cliquez sur le bouton Test sur la page pour tester les paramètres de messagerie. Cela créera une fenêtre contextuelle. Remplissez votre adresse e-mail et cliquez sur le bouton Test pour envoyer un e-mail de test.

Vous devriez voir un message de succès sur la fenêtre contextuelle vous informant que cela a bien fonctionné et vous devriez recevoir l’e-mail suivant dans votre boîte de réception. Fermez la fenêtre contextuelle en cliquant sur le bouton Cancel.

Étape 14 - Créer un nouvel utilisateur
L’utilisateur par défaut de Zabbix n’est pas configuré pour recevoir des notifications. Bien que nous puissions le faire, l’utilisateur par défaut n’est pas non plus sûr à utiliser. La meilleure option est de créer un nouvel utilisateur et ensuite de désactiver l’utilisateur par défaut.
Visitez la section Administration >> Users du menu et cliquez sur le bouton Create user en haut à droite pour ouvrir la page suivante.

Remplissez les détails de l’utilisateur. Sélectionnez Zabbix administrators comme groupe d’utilisateurs. Une fois terminé, cliquez sur l’onglet Media. Cliquez sur le bouton Add et sélectionnez Email (HTML) comme type.

Entrez votre adresse e-mail dans le champ Send to et cliquez sur le bouton Add pour ajouter l’option e-mail. Ensuite, passez à l’onglet Permissions et cliquez sur le bouton Select pour ajouter le Super admin role.

Cliquez sur le bouton Add pour terminer l’ajout de l’utilisateur. Ensuite, vous devez vous déconnecter du frontend, vous reconnecter en tant que nouvel utilisateur, et revenir à la page des utilisateurs. Cliquez sur l’utilisateur Admin, sélectionnez le groupe Disabled, et mettez à jour l’utilisateur. Cela désactivera l’utilisateur par défaut.
Étape 15 - Envoyer une alerte de test
Par défaut, Zabbix suit la quantité d’espace libre sur le serveur. Il détecte tous les montages de disque et effectue des vérifications régulièrement.
La première étape consiste à activer le déclencheur de notification qui permet à Zabbix d’envoyer des notifications à tous les administrateurs. Zabbix a déjà configuré le déclencheur par défaut. Nous devons l’activer pour qu’il fonctionne. Visitez Configuration >> Actions >> Trigger actions et cliquez sur le statut Disabled pour le changer en Enabled comme indiqué.

Ensuite, connectez-vous au nœud Zabbix et créez un fichier temporaire suffisamment grand pour déclencher une alerte d’utilisation du disque.
Tout d’abord, déterminez l’espace libre sur le serveur.
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 780M 51M 730M 7% /run
/dev/vda2 94G 12G 78G 13% /
/dev/vda1 260M 7.0M 253M 3% /boot/efi
tmpfs 390M 4.0K 390M 1% /run/user/1001Cela montre que nous avons environ 78 Go d’espace libre. Ensuite, utilisez la commande fallocate pour pré-allouer plus de 80 % de l’espace disque. C’est assez grand pour déclencher l’alerte.
$ fallocate -l 74G /tmp/temp.imgVérifiez à nouveau l’utilisation du disque.
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 780M 54M 726M 7% /run
/dev/vda2 94G 86G 3.9G 96% /
/dev/vda1 260M 7.0M 253M 3% /boot/efi
tmpfs 390M 4.0K 390M 1% /run/user/1001Zabbix déclenchera une alerte concernant l’espace disque et enverra une alerte par e-mail à ce sujet. L’e-mail ressemblera à ce qui suit.

Vous pouvez également vérifier le tableau de bord pour l’alerte qui devrait apparaître en quelques secondes.

Supprimez le fichier temporaire lorsque vous avez terminé.
$ rm -f /tmp/temp.imgVous devriez recevoir un autre e-mail vous informant que le problème a été résolu.

Étape 16 - Configurer l’auto-enregistrement pour les nœuds Linux
Lorsque vous devez ajouter plusieurs nœuds au serveur Zabbix, le processus peut devenir un peu fastidieux. Heureusement, le frontend Zabbix vous permet d’automatiser le processus en utilisant l’auto-enregistrement.
Visitez Actions >> Autoregistration actions et cliquez sur le bouton Create action en haut à droite.

Une fois sur la nouvelle page, donnez un nom (Auto registration of Linux servers) à l’action.
Cliquez sur le bouton Add en dessous de Conditions pour ajouter une condition et choisissez Host metadata comme type, contains comme opérateur, et Linux comme valeur.

Cliquez sur Add pour continuer et la page de création d’action devrait ressembler à ce qui suit.

Cliquez sur l’onglet Operations, sélectionnez Add to host group comme opération, et sélectionnez Linux servers comme Host groups. Cliquez sur le bouton Add pour terminer.

Si vous souhaitez utiliser le chiffrement PSK, vous pouvez également le configurer. Visitez le menu Administration >> General >> Autoregistration et activez les deux options de chiffrement. Entrez un ID PSK et une clé PSK créés sur le serveur Zabbix. Vous pouvez utiliser cet ID PSK et cette clé sur chaque nœud et ils seront chiffrés en utilisant ces valeurs.

Désormais, chaque fois que vous installerez et configurerez l’agent Zabbix sur un serveur Linux, il sera automatiquement ajouté au frontend Zabbix.
Conclusion
Cela conclut notre tutoriel sur l’installation et la configuration d’un serveur Zabbix sur un système Rocky Linux 9. Nous avons également installé un agent Zabbix sur un serveur distant pour le connecter au serveur. Si vous avez des questions, postez-les dans les commentaires ci-dessous.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.