Zabbix Image générale de la configuration zabbix actuelle Zabbix Documentation Documentation de maintenance de l'instance Zabbix d'Improvize. But : comprendre rapidement comment l'instance est organisée et savoir ajouter / dépanner un agent sur une machine. Dernière mise à jour : 2026-06-29 Sommaire L'essentiel en 1 minute Les hôtes surveillés Ce qui est configuré dans l'interface Installer l'agent sur une machine Ajouter l'hôte dans l'interface Dépannage rapide Fichiers de référence 1. L'essentiel en 1 minute Élément Valeur URL https://zabbix.improvize.eu/zabbix Version (serveur + frontend) 7.4.11 Base de données PostgreSQL Agent sur les machines Zabbix Agent 2 en mode actif , port 10050 Nb d'hôtes 25 (4 serveurs physiques, 20 VM/conteneurs, 1 « Web Monitoring ») Notifications E-mail uniquement (seulement les alertes d'espace disque sont envoyées) Proxy / Maintenance / Macros globales Aucun (tous les agents remontent directement au serveur) Comment ça marche, en bref : chaque machine fait tourner un Zabbix Agent 2 en mode actif : c'est l'agent qui pousse ses données vers le serveur (rien à ouvrir en entrée vers la machine). Le serveur applique des templates (modèles) à chaque hôte pour décider quoi surveiller. 2. Les hôtes surveillés Les hôtes sont rangés en 3 groupes : Linux servers → les 4 serveurs physiques (bare-metal). Virtual machines → les 20 VM / conteneurs qui tournent sur ces serveurs. Web monitoring → 1 hôte spécial « Web Monitoring » qui surveille des sites web (voir §3.4). 💡 Plusieurs hôtes partagent la même IP : c'est normal, la machine physique et ses conteneurs sont surveillés séparément mais via la même IP. Le tag host: indique sur quelle machine physique tourne chaque conteneur (utilisé dans le dashboard pour repérer la machine concernée par un problème). Serveurs physiques Hôte IP Particularité hathi 88.198.1.27 Serveur principal (héberge le plus de conteneurs + le serveur Zabbix) sprite 176.9.70.250 Serveur hôte siam2026 77.42.5.123 Serveur hôte maru 136.243.57.113 Serveur hôte (a aussi un backup local surveillé) VM / conteneurs Hôte IP Tourne sur ( host: ) Templates en plus alchemy 88.198.1.27 hathi   amis 10.0.3.5 hathi   api 176.9.70.250 sprite   babar 176.9.70.250 sprite PostgreSQL + Backup bookstack 10.0.3.22 hathi   cjmonnet 10.0.3.8 hathi   elephant 10.0.3.11 hathi PostgreSQL + Backup facteur 10.0.3.9 hathi   front 176.9.70.250 sprite   gitlab 10.0.3.16 hathi   izmail 176.9.70.250 sprite   jsreport 176.9.70.250 (sprite)   lachambre 10.0.3.2 hathi   mbo 77.42.5.123 siam2026 PostgreSQL + Backup ntfy 176.9.70.250 sprite   pagesjaunes 10.0.3.18 hathi   webcli 10.0.3.3 hathi   websys 10.0.3.4 hathi   wip 10.0.3.20 hathi PostgreSQL Zabbix server 127.0.0.1 hathi Santé du serveur Zabbix Le réseau interne 10.0.3.x correspond aux conteneurs hébergés sur hathi . 3. Ce qui est configuré dans l'interface 3.1 Templates appliqués Template Origine Appliqué à Linux by Zabbix agent active Standard Zabbix Tous les hôtes OS APT updates by Zabbix agent ⭐ Custom Tous les hôtes Personalized Scripts by Zabbix agent ⭐ Custom babar, elephant, mbo, maru PostgreSQL by Zabbix agent 2 active Standard Zabbix babar, elephant, mbo, wip Zabbix server health by Zabbix agent active Standard Zabbix Zabbix server uniquement ⭐ OS APT updates by Zabbix agent Surveille les mises à jour de paquets disponibles (Debian/Ubuntu). Repose sur une clé UserParameter apt.updates[*] (à installer sur chaque agent, voir §4.3). Item Clé Intervalle Pending package updates apt.updates[total] 1 h Pending security updates apt.updates[security] 1 h Triggers : Warning si des mises à jour existent, Average s'il y a des mises à jour de sécurité . ⭐ Personalized Scripts by Zabbix agent Surveille la taille de la dernière sauvegarde locale . Item Clé Intervalle Get local backup size agent.getlocalbackupsize 1 h 🔔 Changement important : ce contrôle est passé d'un system.run[...] à une clé UserParameter agent.getlocalbackupsize (agent actif). Plus besoin d'autoriser system.run côté agent — il suffit du UserParameter (voir §4.4). 3.2 Alerting (notifications) Un seul média actif : Email (SMTP classique). Paramètre Valeur Serveur SMTP 10.0.3.9 HELO bmat.com Expéditeur zabbix@bmat.com Actions configurées : Action Déclencheur Destinataire Statut Disque espace critique (≥90 %) événement « Space is critically low » cat (BOGGIO JC) Activée Disque espace faible (≥80 %) événement « Space is low » cat (BOGGIO JC) Activée Report problems to Zabbix administrators (défaut) — Désactivée 📌 Seules les alertes d'espace disque envoient un e-mail. Les autres triggers (mises à jour APT, etc.) s'affichent dans l'interface mais ne génèrent pas de mail. 3.3 Utilisateurs Utilisateur Rôle Admin Super admin (built-in) cat (BOGGIO JC) Super admin — destinataire des alertes mail Alex Admin Emily Admin Jessica / Lucas / Ludivine Dev guest Guest (désactivé) 3.4 Surveillance des sites web (hôte « Web Monitoring ») Un hôte dédié exécute 8 scénarios web qui vérifient la disponibilité de sites externes en HTTP (code de réponse attendu : 200 ), toutes les 1 minute : arepege.org · bmat.com · collegejeanmonnet.com · improvize.eu · lesprixdelacreationmusicale.com · melmax.fr · rigny-usse.fr · thefreecat.org/files 3.5 Dashboard « Global view » Widgets en place : Disk space and cpu usage – top hôtes par usage disque/CPU Host availability – nb d'hôtes disponibles / inconnus / total Disk Space Used in % et CPU Usage Over Time – graphes (serveurs physiques) Local backup size – taille des backups (elephant, mbo, babar, maru) PostgreSQL connections – connexions PG (babar, elephant, mbo, wip) Available system updates – tableau des mises à jour par hôte (Regular / Security) Hosted sites – état HTTP des 8 sites surveillés (vert = 200) Current problems – problèmes en cours, avec le tag host: System information – santé du serveur Zabbix 4. Installer l'agent sur une machine 🎯 Étape à reproduire sur chaque nouvelle machine à surveiller. L'agent utilisé est Zabbix Agent 2 en mode actif . 4.1 Installer le paquet Sur Debian/Ubuntu, ajouter le dépôt officiel Zabbix puis installer l'agent 2 : # Adapter la version du repo à l'OS (exemple Debian 12) wget https://repo.zabbix.com/zabbix/7.4/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.4+debian12_all.deb sudo dpkg -i zabbix-release_latest_7.4+debian12_all.deb sudo apt update sudo apt install zabbix-agent2 Garder l'agent sur la même version majeure que le serveur (7.4). 4.2 Configurer l'agent Éditer /etc/zabbix/zabbix_agent2.conf : Server= ServerActive= Hostname= # ex: elephant, babar, wip... Include=/etc/zabbix/zabbix_agent2.d/*.conf ⚠️ Le Hostname de l'agent doit être identique au nom de l'hôte dans l'interface, sinon les items actifs ne remontent pas. Mode actif : l'agent sort vers le serveur sur le port 10051 . Aucun port entrant à ouvrir vers la machine ; vérifier juste que la machine peut sortir vers le serveur. 4.3 UserParameter mises à jour APT (toutes les machines) Le template OS APT updates a besoin de la clé apt.updates[*] . Créer /etc/zabbix/zabbix_agent2.d/apt.conf : # $1 = "total" ou "security" UserParameter=apt.updates[*],/etc/zabbix/zabbix_agent2.d/scripts/apt-updates.sh "$1" Le script doit renvoyer un entier (nombre de paquets), typiquement basé sur apt-get -s upgrade ou /usr/lib/update-notifier/apt-check . 4.4 UserParameter taille de backup (machines avec sauvegarde locale) Pour le template Personalized Scripts (clé agent.getlocalbackupsize ). Créer un fichier de conf, par ex. /etc/zabbix/zabbix_agent2.d/backup.conf : UserParameter=agent.getlocalbackupsize,/etc/zabbix/zabbix_agent2.d/scripts/getlastbackupsize.sh Le script renvoie la taille (en octets) de la dernière sauvegarde locale. Le rendre exécutable ( chmod +x ) et accessible à l'utilisateur zabbix . ✅ Avec cette méthode (UserParameter), plus besoin d'autoriser system.run via AllowKey comme avant. 4.5 Cas particuliers Conteneurs (réseau 10.0.3.x sur hathi) : l'agent surveille deux systèmes de fichiers — / (le conteneur) et /host (le rootfs de la machine physique, bind-monté dans le conteneur). Penser à ce bind-mount pour récupérer les vraies métriques disque de l'hôte. PostgreSQL (babar, elephant, mbo, wip) : le monitoring PG est intégré au plugin PostgreSQL de l'Agent 2 (template PostgreSQL by Zabbix agent 2 active ). Fournir un accès en lecture via les macros au niveau de l'hôte ( {$PG.URI} , {$PG.USER} , {$PG.PASSWORD} ). Depuis PostgreSQL 17, donner les droits de lecture des stats à l'utilisateur zabbix : GRANT pg_read_all_stats TO zabbix; 4.6 Redémarrer sudo systemctl restart zabbix-agent2 sudo systemctl enable zabbix-agent2 5. Ajouter l'hôte dans l'interface Data collection → Hosts → Create host . Host name = exactement le Hostname de l'agent. Interface agent = IP, port 10050 . Groupe : Linux servers (physique) ou Virtual machines (VM/conteneur). Ajouter le tag host: si c'est un conteneur/VM. Lier les templates : Linux by Zabbix agent active OS APT updates by Zabbix agent Personalized Scripts by Zabbix agent (si backup local) PostgreSQL by Zabbix agent 2 active (si base de données) Vérifier dans Monitoring → Latest data que les items remontent (mode actif : peut prendre 1-2 min). 6. Dépannage rapide Symptôme Cause probable / Solution L'agent ne remonte plus Hostname agent ≠ nom dans l'interface ; ou ServerActive pointe ailleurs ; ou la machine ne peut pas sortir vers le serveur sur 10051 . Item « not supported » UserParameter manquant ( apt.updates ou agent.getlocalbackupsize ) → vérifier le fichier dans zabbix_agent2.d/ et redémarrer l'agent. Pas d'alerte e-mail reçue Seules les alertes espace disque envoient un mail. Tester le média via Alerts → Media types → Email → Test . Vérifier que cat (BOGGIO JC) reçoit bien. Un site web passe en rouge Voir Monitoring → Latest data sur l'hôte Web Monitoring (code ≠ 200). Mise à jour Zabbix Serveur et frontend doivent rester sur la même version majeure (7.4.x). Sauvegarde de la config Exporter régulièrement templates + hôtes (bouton Export ) et sauvegarder la base PostgreSQL du serveur Zabbix. 7. Fichiers de référence Sur les machines (agent) : Fichier Rôle /etc/zabbix/zabbix_agent2.conf Conf principale (Server, ServerActive, Hostname) /etc/zabbix/zabbix_agent2.d/*.conf Confs additionnelles (UserParameters, plugins) /etc/zabbix/zabbix_agent2.d/scripts/apt-updates.sh Comptage des mises à jour APT /etc/zabbix/zabbix_agent2.d/scripts/getlastbackupsize.sh Taille de la dernière sauvegarde Sur le serveur : Élément Rôle Apache vhost → /usr/share/zabbix/ui Frontend web Base PostgreSQL Données Zabbix nginx frontal Reverse-proxy vers zabbix.improvize.eu