Installer Zabbix Agent sur Rocky Linux 8 et 9 : guide complet

Installer Zabbix Agent 2 sur Rocky Linux 8 et 9 : dépôt RPM officiel, dnf, configuration de zabbix_agent2.conf, clé PSK, firewalld et SELinux, vérification systemd.

Guide pas à pas de l'installation de Zabbix Agent sur Rocky Linux : dépôt RPM, dnf, configuration, chiffrement PSK, firewalld, SELinux et diagnostic.
Installer Zabbix Agent sur Rocky Linux 8 et 9 : guide complet

Protégez votre infrastructure dès aujourd'hui

Démarrez gratuitement, sans carte bancaire requise

Superviser un serveur Rocky Linux avec Zabbix nécessite d'installer un agent sur le système : un service léger qui collecte les métriques système et les transmet au serveur de supervision. Voir la définition complète de l'agent Zabbix.

Ce guide couvre l'installation manuelle et complète sur Rocky Linux 8 et 9. La procédure est identique sur AlmaLinux, RHEL, CentOS Stream et Oracle Linux : ce sont les mêmes paquets RPM el8/el9.

Le plus simple : avec Logiserv

Logiserv s'appuie sur ce même moteur Zabbix et automatise l'ensemble. Depuis la page Agent du tableau de bord :

curl -sSL "https://www.logiserv.app/api/agent-script/linux?token=..." | sudo bash

Le script détecte la famille RHEL via /etc/os-release, ajoute le bon dépôt el8/el9, installe le paquet, génère une clé PSK unique, écrit la configuration, crée l'hôte côté serveur avec les templates adaptés, pose les ACL nécessaires aux contrôles de sécurité et démarre le service.

Comptez 1 à 2 minutes par système avec Logiserv. L'installation manuelle détaillée ci-dessous demande 7 étapes et 12 minutes environ par serveur, sans compter la création de l'hôte côté serveur Zabbix. Voir la comparaison détaillée.

Agent 1 ou Agent 2 ?

Le dépôt officiel fournit zabbix-agent (l'agent historique en C) et zabbix-agent2 (la version actuelle en Go). Agent 2 est recommandé pour toute nouvelle installation : plugins intégrés, connexion persistante unique, empreinte mémoire moindre. Ce guide l'utilise ; pour Agent 1, remplacez agent2 par agent dans les commandes et les chemins.

Prérequis

  • un accès root ou sudo
  • l'adresse IP ou le nom DNS de votre serveur Zabbix
  • un accès sortant vers le port 10051/TCP du serveur

Étape 1 : ajouter le dépôt RPM officiel

Le paquet dépend de la version majeure d'Enterprise Linux. Pour Rocky Linux 9 :

sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.4/release/rhel/9/noarch/zabbix-release-latest.el9.noarch.rpm
sudo dnf clean all

Pour Rocky Linux 8, remplacez les deux 9 par 8.

Version automatique :

. /etc/os-release
MAJOR=$(echo "$VERSION_ID" | cut -d. -f1)
sudo rpm -Uvh "https://repo.zabbix.com/zabbix/7.4/release/rhel/${MAJOR}/noarch/zabbix-release-latest.el${MAJOR}.noarch.rpm"
sudo dnf clean all

Rocky Linux, AlmaLinux, RHEL, CentOS Stream et Oracle Linux partagent les mêmes paquets el8/el9. Le dépôt Zabbix ne distingue pas ces distributions : seule la version majeure compte.

Étape 2 : installer l'agent

sudo dnf install -y zabbix-agent2

Le paquet crée l'utilisateur zabbix, installe l'unité systemd et dépose la configuration dans /etc/zabbix/.

Pour les plugins optionnels :

sudo dnf install -y zabbix-agent2-plugin-postgresql zabbix-agent2-plugin-mongodb

Étape 3 : configurer l'agent

sudo vi /etc/zabbix/zabbix_agent2.conf

Les directives essentielles :

# Serveur autorisé à interroger cet agent (mode passif)
Server=192.168.1.10
 
# Serveur vers lequel l'agent pousse ses métriques (mode actif)
ServerActive=192.168.1.10
 
# Doit correspondre EXACTEMENT au nom d'hôte défini côté serveur Zabbix
Hostname=srv-app-01
 
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=10

Le piège du Hostname

Hostname doit être strictement identique au champ « Nom d'hôte » de l'hôte côté serveur. Une casse différente et les vérifications actives ne remontent jamais, sans erreur explicite.

Pour reprendre le nom du système :

HostnameItem=system.hostname

Mode actif ou passif

  • Passif (Server=) : le serveur interroge l'agent sur le port 10050.
  • Actif (ServerActive=) : l'agent pousse ses données, aucun port entrant à ouvrir. À privilégier pour les systèmes distants.

Pas envie d'enchaîner les étapes suivantes ? La clé PSK, son report côté serveur, la création de l'hôte et le démarrage du service sont les étapes où l'on se trompe le plus. Avec Logiserv, une seule commande les fait toutes, avec une clé unique par système. Essayer gratuitement, sans carte bancaire.

Étape 4 : chiffrer la liaison avec une clé PSK

openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agent2.psk > /dev/null
sudo chown zabbix:zabbix /etc/zabbix/zabbix_agent2.psk
sudo chmod 600 /etc/zabbix/zabbix_agent2.psk

Puis dans la configuration :

TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PSK-srv-app-01
TLSPSKFile=/etc/zabbix/zabbix_agent2.psk

Reportez clé et identité dans l'onglet Chiffrement de l'hôte côté serveur. Une identité distincte par système est nécessaire.

En cas d'erreur SSL alert number 40, supprimez le retour à la ligne ajouté par openssl : sudo truncate -s 64 /etc/zabbix/zabbix_agent2.psk

Étape 5 : ouvrir le port dans firewalld

Avec Logiserv, cette étape est inutile. La commande d'installation générée depuis la page Agent configure l'agent en mode actif uniquement : il se connecte lui-même au serveur Logiserv en sortie sur le port 10051/TCP et n'écoute sur aucun port. Aucun port entrant à ouvrir, aucune règle de pare-feu à créer.

Uniquement en mode passif. firewalld connaît le service zabbix-agent :

sudo firewall-cmd --permanent --add-service=zabbix-agent
sudo firewall-cmd --reload

Pour restreindre à l'adresse du serveur Zabbix — nettement préférable :

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.10" port port="10050" protocol="tcp" accept'
sudo firewall-cmd --reload

En mode actif, aucune règle entrante n'est nécessaire.

Étape 6 : composer avec SELinux

C'est la principale différence avec Debian et Ubuntu. Rocky Linux active SELinux en mode enforcing par défaut, ce qui peut bloquer l'agent — en particulier les métriques exécutant des commandes système.

Vérifiez le mode actif :

getenforce

Après quelques minutes de fonctionnement, cherchez les refus concernant l'agent :

sudo ausearch -m AVC -ts recent | grep -i zabbix

Si des refus apparaissent, autorisez l'agent à interroger le système :

sudo setsebool -P zabbix_can_network on

Pour un cas non couvert par les booléens existants, générez un module dédié plutôt que de désactiver SELinux :

sudo ausearch -c 'zabbix_agent2' --raw | audit2allow -M zabbix_agent2_local
sudo semodule -i zabbix_agent2_local.pp

Ne désactivez pas SELinux pour faire fonctionner un agent de supervision. Un module local ciblé règle le problème sans retirer une protection qui couvre l'ensemble du serveur.

Étape 7 : démarrer et vérifier

sudo systemctl enable --now zabbix-agent2
sudo systemctl status zabbix-agent2

Testez des métriques localement :

zabbix_agent2 -t agent.version
zabbix_agent2 -t system.cpu.load[all,avg1]
zabbix_agent2 -t vfs.fs.size[/,pfree]

Consultez le journal :

sudo tail -f /var/log/zabbix/zabbix_agent2.log

Messages d'erreur courants

MessageCause probable
no active checks on serverHostname ne correspond à aucun hôte côté serveur
SSL alert number 40Clé ou identité PSK divergente
connection refusedService arrêté, ou port bloqué par firewalld
Permission denied sans cause apparenteSELinux — vérifiez avec ausearch -m AVC

Pour les métriques lisant les journaux système :

sudo usermod -aG shadow zabbix
sudo setfacl -m u:zabbix:r /var/log/secure /var/log/messages
sudo systemctl restart zabbix-agent2

Superviser plusieurs serveurs Rocky Linux

Sur un parc conséquent, la procédure manuelle devient coûteuse : dépôt, paquet, configuration, clé PSK unique, firewalld, SELinux, création de l'hôte côté serveur. Les approches classiques sont Ansible, Kickstart au provisionnement, ou l'auto-enregistrement Zabbix.

La même installation avec Logiserv

Logiserv s'appuie sur ce même moteur Zabbix et automatise l'ensemble. Depuis la page Agent du tableau de bord :

curl -sSL "https://www.logiserv.app/api/agent-script/linux?token=..." | sudo bash

Le script détecte la famille RHEL via /etc/os-release, ajoute le bon dépôt el8/el9, installe le paquet, génère une clé PSK unique, écrit la configuration, crée l'hôte côté serveur avec les templates adaptés, pose les ACL nécessaires aux contrôles de sécurité et démarre le service.

Installation manuelle ou Logiserv

Installation manuelle (ce guide)Avec Logiserv
Étapes7 étapes, une quinzaine de commandes1 commande copiée-collée
Durée par serveur12 minutes environ, hors création de l'hôte1 à 2 minutes, tout compris
DépôtURL à adapter à la version el8 / el9Détecté automatiquement
Fichier de configurationÀ éditer à la mainÉcrit par le script
Clé PSKÀ générer, sécuriser puis recopier côté serveurUnique, générée et enregistrée automatiquement
Hôte côté serveur ZabbixÀ créer dans l'interface, templates à lierCréé automatiquement dans le groupe du parc
Pare-feuRègle firewalld en mode passifAucun port entrant
Serveur ZabbixÀ héberger, sécuriser, sauvegarder, mettre à jourHébergé et maintenu par Logiserv
Tableaux de bord et alertesÀ construireInclus, prêts à l'emploi
Familles reconnues
RHEL, Rocky, AlmaLinux, Oracle Linux

La version majeure est extraite automatiquement pour choisir le dépôt el8 ou el9.

Chiffrement
PSK unique par système

Clé de 32 octets générée à l'enrôlement, jamais partagée entre deux hôtes.

Port entrant requis
Aucun

Mode actif : seul le trafic sortant vers le serveur est nécessaire.

Accès aux journaux
ACL posées automatiquement

setfacl sur /var/log/secure et /var/log/messages pour les contrôles de sécurité.

Le fonctionnement de la page Agent est détaillé dans la documentation Logiserv.

Pour aller plus loin

Partagez ce lien

Protégez votre infrastructure dès aujourd'hui

Démarrez gratuitement, sans carte bancaire requise