Zabbix Documentation
Zabbix Documentation – Improvize
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 pousseses 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:<machine>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.xcorrespond 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é UserParameteragent.getlocalbackupsize(agent actif). Plus besoin d'autorisersystem.runcô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=<IP du serveur Zabbix>
ServerActive=<IP du serveur Zabbix>
Hostname=<nom exact de l'hôte dans l'interface> # ex: elephant, babar, wip...
Include=/etc/zabbix/zabbix_agent2.d/*.conf
⚠️ Le
Hostnamede 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.runviaAllowKeycomme 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
Hostnamede l'agent. Interface agent = IP, port10050. - Groupe :
Linux servers(physique) ouVirtual machines(VM/conteneur). - Ajouter le tag
host:<machine physique>si c'est un conteneur/VM. - Lier les templates :
Linux by Zabbix agent activeOS APT updates by Zabbix agentPersonalized 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 sortirvers 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 |