Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 314 minIntermédiaire

Zabbix : architecture, agent et proxy

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • nommer les composants de Zabbix et le rôle de chacun ;
  • choisir entre contrôle passif et contrôle actif, et ouvrir les bons ports ;
  • placer un proxy pour un site distant ou une zone filtrée ;
  • choisir une version de Zabbix d'après son cycle de vie.

3 exercices corrigés2 schémas

Zabbix est un logiciel libre de supervision qui collecte des mesures sur les serveurs, les équipements réseau et les applications, les stocke dans une base de données, les compare à des seuils et envoie des alertes. Son architecture tient en cinq briques : le serveur, la base de données, l'interface web, les agents et, pour les sites distants, les proxys. Ce chapitre décrit le rôle de chacune, la différence entre contrôles passifs et actifs, les ports à ouvrir et le choix d'une version.

Les composants

ComposantRôleChez Sorbier
Serveur Zabbix (zabbix_server)Le cœur : il planifie les collectes, reçoit les valeurs, évalue les déclencheurs, crée les événements et exécute les actions (alertes, scripts)Sur srv-journaux (192.168.10.180)
Base de donnéesStocke la configuration (hôtes, modèles, utilisateurs) et toutes les valeurs collectées. MySQL, MariaDB ou PostgreSQL (avec l'extension TimescaleDB pour les gros volumes)MariaDB 11.8, sur srv-journaux
Interface web (frontend)Application PHP servie par Apache ou Nginx : configuration, consultation, tableaux de bord, rapports. Elle lit et écrit dans la base, et parle au serveurhttps://srv-journaux.ad.sorbier.example/zabbix
Agent (zabbix_agentd) ou agent 2 (zabbix_agent2)Programme installé sur la machine supervisée : il mesure le processeur, la mémoire, les disques, les services, les journaux, et répond au serveur ou lui envoie ses mesuresSur chaque serveur Linux et Windows
Proxy (zabbix_proxy)Collecte à la place du serveur sur un site distant ou dans une zone filtrée, garde les valeurs en tampon et les transmet au serveurprx-mrs à l'agence de Marseille (10.30.1.162)

Pour les équipements où l'on ne peut rien installer (switchs, routeurs, pare-feu, NAS, onduleurs, imprimantes), le serveur ou le proxy interroge leur agent SNMP intégré (chapitre 7), ou leur API en HTTP.

TechniciensnavigateurHTTPSInterface webPHP, APIGrafanatableaux de bordAPIServeur Zabbixcollecte, seuils, alertesBase de donnéesMariaDB, PostgreSQLLinux, agent 2contrôle passifTCP 10050Windows, agent 2contrôle actifTCP 10051Switchagent SNMPUDP 161trap : UDP 162Proxysite distantTCP 10051Agents, SNMPdu site distantAlertescourriel, Teams, Slack
Les composants de Zabbix et les ports qu'ils utilisent

Agent ou agent 2 ?

Zabbix fournit deux agents, interchangeables pour l'essentiel :

Agent (classique)Agent 2
LangageCGo
Paquet Debianzabbix-agentzabbix-agent2
Fichier de configuration/etc/zabbix/zabbix_agentd.conf/etc/zabbix/zabbix_agent2.conf
Greffons (plugins)NonOui : Docker, MySQL, Redis, SMART, certificats web, Ceph… intégrés ; PostgreSQL, MongoDB et MSSQL en greffons chargeables (paquets zabbix-agent2-plugin-…)
Contrôles actifs simultanésUn traitement à la fois par serveurPlusieurs en parallèle, avec un tampon persistant possible
Modèles officiels… by Zabbix agentLes mêmes, plus les modèles … by Zabbix agent 2

Les deux écoutent sur le même port et comprennent les mêmes clés de base (system.cpu.util, vfs.fs.size…). Choisis l'agent 2 pour une installation neuve : il est livré pour Linux et Windows, et ses greffons évitent d'écrire des scripts pour superviser une base de données ou un certificat. Ce cours l'utilise partout.

Contrôle passif et contrôle actif

C'est la notion d'architecture la plus importante, et la plus demandée en entretien : qui ouvre la connexion.

  • Contrôle passif (passive check). Le serveur (ou le proxy) se connecte à l'agent sur le port TCP 10050 et lui demande une valeur : « donne-moi system.cpu.util ». L'agent répond. Le pare-feu doit autoriser le serveur à joindre l'agent sur 10050.
  • Contrôle actif (active check). L'agent se connecte au serveur sur le port TCP 10051, lui demande la liste des éléments à mesurer pour son nom d'hôte, les mesure lui-même à l'intervalle prévu et renvoie les valeurs par le même chemin. Le pare-feu doit autoriser l'agent à joindre le serveur sur 10051 ; rien n'entre vers l'agent.
Contrôle passifServeur Zabbix192.168.10.1801. demandela valeur2. répond12,4Agent 2 (srv-gestion)Server=192.168.10.180le serveur se connecte : TCP 10050Contrôle actifServeur Zabbix192.168.10.1801. demandesa liste2. envoieses valeursAgent 2 (srv-web)ServerActive=192.168.10.180Hostname=srv-webl'agent se connecte : TCP 10051
Passif : le serveur interroge l'agent sur 10050. Actif : l'agent envoie au serveur sur 10051
Contrôle passifContrôle actif
Qui se connecteLe serveur vers l'agentL'agent vers le serveur
PortTCP 10050 sur la machine superviséeTCP 10051 sur le serveur ou le proxy
Paramètre de l'agentServer= (qui a le droit d'interroger)ServerActive= (où envoyer) et Hostname= (sous quel nom)
Type d'élément dans ZabbixZabbix agentZabbix agent (active)
AvantagesSimple à tester (zabbix_get), le serveur voit immédiatement un agent muetTraverse un pare-feu ou un NAT sortant, charge moindre pour le serveur, mesures gardées en tampon si le serveur est injoignable
Indispensable pour—Surveiller un journal (log[], eventlog[]), car seul l'agent peut lire en continu ; machines derrière un NAT

Un même agent peut faire les deux : certains éléments en passif, d'autres en actif. Les modèles officiels existent en deux variantes, par exemple Linux by Zabbix agent (passif) et Linux by Zabbix agent active.

Chez Sorbier, les serveurs du VLAN 20 sont dans le même réseau que srv-journaux : le contrôle passif, plus simple à diagnostiquer, est retenu. Le serveur web de la DMZ, lui, utilise le contrôle actif. Exposé à Internet, il vaut mieux qu'il n'écoute sur aucun port de plus : en actif, l'agent n'ouvre pas le port 10050. Et la DMZ envoie déjà ses journaux à srv-journaux (matrice des flux du cours Cybersécurité) : une seule règle s'ajoute, 192.168.10.225 vers 192.168.10.180, TCP 10051. Retiens la méthode : le sens de la connexion décide de la règle de pare-feu.

Les types d'éléments

Un élément (item) est une mesure : une valeur collectée à intervalle régulier et stockée. Zabbix sait collecter de nombreuses façons ; voici celles que tu utiliseras.

Type d'élémentQui collecte, commentExemple
Zabbix agent / Zabbix agent (active)L'agent sur la machinevfs.fs.size[/,pused], service.info[DNS]
SNMP agentLe serveur interroge l'équipement en SNMPget[1.3.6.1.2.1.1.3.0] (durée de fonctionnement)
SNMP trapLe serveur reçoit un trapsnmptrap["linkDown"]
Simple checkLe serveur teste lui-même, sans agenticmpping, net.tcp.service[https,,443]
HTTP agentLe serveur appelle une URL ou une APIAPI de Proxmox VE, point /health d'une application
ScriptUn petit programme JavaScript exécuté par le serveurModèle Proxmox VE by HTTP
CalculatedUne formule sur d'autres élémentsEspace total de plusieurs volumes
Dependent itemUne valeur extraite d'un autre élément, sans nouvelle collecteChaque champ d'une réponse JSON
Zabbix internalZabbix se mesure lui-mêmeFile d'attente, charge de ses processus
Zabbix trapperUne valeur envoyée par un script avec zabbix_senderRésultat d'une sauvegarde nocturne

Historique et tendances

Zabbix garde deux formes de données numériques :

  • l'historique (history) : chaque valeur brute, avec son horodatage. Précis, mais volumineux : un élément interrogé toutes les minutes produit 525 600 valeurs par an ;
  • les tendances (trends) : pour chaque heure, le minimum, la moyenne, le maximum et le nombre de valeurs. 8 760 lignes par an et par élément, suffisant pour les graphiques sur plusieurs mois et la métrologie.

Chaque élément fixe sa durée de conservation de l'historique et des tendances (de quelques jours à plusieurs années). Le housekeeper, un processus du serveur, supprime régulièrement les données trop anciennes (Administration > Housekeeping). Garde l'historique quelques semaines et les tendances un an ou plus : tu as le détail pour diagnostiquer un incident récent, et les tendances pour comparer avec l'an dernier.

Le proxy : un site distant, une zone filtrée

Un proxy Zabbix collecte à la place du serveur, sur un périmètre donné, et lui transmet les valeurs. Il sert dans trois cas :

  • un site distant : à Marseille, le proxy prx-mrs interroge les agents et les équipements de l'agence en local. Seul le proxy parle au siège, avec une seule connexion. Si le lien vers Lyon tombe, il continue de collecter et garde les valeurs dans sa base locale, puis il les renvoie au retour du lien : aucune mesure n'est perdue ;
  • une zone filtrée : un proxy placé dans la DMZ ou dans un réseau isolé évite d'ouvrir des flux entre le serveur et chaque machine de la zone ;
  • la charge : au-delà de quelques milliers d'hôtes, des proxys répartissent la collecte.

Le proxy fonctionne lui aussi en deux modes :

ModeConnexionPort
Proxy actif (le plus courant)Le proxy se connecte au serveur, demande sa configuration et envoie ses donnéesTCP 10051 sur le serveur
Proxy passifLe serveur se connecte au proxyTCP 10051 sur le proxy

Le proxy a sa propre petite base (SQLite suffit) et, depuis Zabbix 7.0, peut garder ses données en mémoire. Les groupes de proxys, nouveaux dans la version 7.0 (Administration > Proxy groups), répartissent les hôtes entre plusieurs proxys et les redistribuent si l'un d'eux tombe. Le serveur lui-même peut fonctionner en grappe (HA cluster) : plusieurs nœuds, un seul actif, les autres prêts à prendre le relais.

Quelle version de Zabbix ?

Zabbix publie deux sortes de versions :

TypeRythmeSupportExemple
LTS (Long Term Support)Tous les 18 mois environ3 ans de support complet, puis 2 ans de correctifs de sécurité7.0 LTS : publiée le 4 juin 2024, support complet jusqu'au 30 juin 2027, correctifs jusqu'au 30 juin 2029
StandardEntre deux LTSJusqu'à la LTS suivante, puis quelques mois de correctifs7.2, puis 7.4 (publiée le 1er juillet 2025)

En entreprise et pour ton épreuve, prends la LTS : 7.0 en 2026. Les versions standard apportent des nouveautés plus tôt, mais t'obligent à migrer chaque année. La version 8.0 LTS est annoncée par l'éditeur pour le quatrième trimestre 2026 ; quand elle sortira, attends ses premières versions correctives avant de migrer une production. Les numéros de correctifs (7.0.31, 7.0.32…) se mettent à jour avec apt upgrade, sans changer la base de manière incompatible.

Exercices

Exercice 1 sur 3 Ports et sens des connexions Réussi À revoir

Pour chaque cas, donne la source, la destination, le port et le protocole de la règle de pare-feu nécessaire.

  1. Le serveur Zabbix 192.168.10.180 interroge en passif l'agent de srv-gestion 192.168.10.179.
  2. L'agent du serveur web 192.168.10.225 (DMZ) fonctionne en actif.
  3. Le proxy actif de Marseille 10.30.1.162 remonte vers le serveur.
  4. Le switch SW-ETAGE1 192.168.10.211 envoie ses traps au serveur.
Voir la réponseMasquer la réponse de l'exercice 1
  1. 192.168.10.180 → 192.168.10.179, TCP 10050. Les deux sont dans le VLAN 20 : le flux ne traverse pas pfSense, aucune règle n'est nécessaire sur le pare-feu, seulement sur le pare-feu local de srv-gestion s'il en a un.
  2. 192.168.10.225 → 192.168.10.180, TCP 10051, règle sur l'interface DMZ de pfSense.
  3. 10.30.1.162 → 192.168.10.180, TCP 10051, sur l'interface de pfSense qui fait face au routeur R-LYON (selon le plan retenu dans le cours Pare-feu pfSense).
  4. 192.168.10.211 → 192.168.10.180, UDP 162, sur l'interface ADMIN. Ce flux figure déjà dans la matrice de Sorbier (« traps SNMP »).

Tu avais trouvé ?

Exercice 2 sur 3 Passif ou actif ? Réussi À revoir

Choisis le mode de contrôle et justifie.

  1. Une VM Linux dans le même VLAN que le serveur Zabbix.
  2. Le portable d'un commercial, connecté tantôt au réseau de l'entreprise, tantôt chez un client, derrière un NAT.
  3. La surveillance des lignes ERROR dans le journal /var/log/gestion/app.log.
  4. Une machine dont la politique de sécurité interdit toute connexion entrante.
Voir la réponseMasquer la réponse de l'exercice 2
  1. Passif : flux simple, testable avec zabbix_get, et le serveur détecte immédiatement un agent qui ne répond plus. L'actif fonctionnerait aussi.
  2. Actif : derrière un NAT, le serveur ne peut pas joindre le portable ; c'est le portable qui se connecte au serveur dès qu'il le peut (il faut alors que le serveur ou un proxy soit joignable, par exemple par le VPN).
  3. Actif obligatoirement : les éléments log[] sont toujours des contrôles actifs, l'agent lit le fichier en continu et n'envoie que les nouvelles lignes.
  4. Actif : aucune connexion n'entre vers la machine, c'est elle qui ouvre la connexion sortante vers TCP 10051.

Tu avais trouvé ?

Exercice 3 sur 3 Le proxy de Marseille Réussi À revoir

Le lien entre Lyon et Marseille est coupé de 10 h à 10 h 40. Le proxy actif de l'agence fonctionne.

  1. Les mesures des serveurs de Marseille entre 10 h et 10 h 40 sont-elles perdues ?
  2. Le technicien reçoit-il une alerte si le serveur srv-mrs tombe à 10 h 15 ?
  3. Comment Zabbix peut-il signaler la coupure du lien elle-même ?
Voir la réponseMasquer la réponse de l'exercice 3
  1. Non : le proxy continue de collecter et garde les valeurs dans son tampon, puis il les envoie au serveur au retour du lien. Les graphiques seront complets.
  2. Pas pendant la coupure : les déclencheurs sont évalués sur le serveur, qui ne reçoit plus rien. L'alerte partira au retour du lien, quand les valeurs arriveront. (Zabbix évite les fausses alertes nodata : par défaut, ces déclencheurs tiennent compte de la disponibilité du proxy et ignorent la période de coupure ; on peut l'empêcher avec le paramètre "strict". Les dépendances du chapitre 9 traitent les autres alertes en cascade.)
  3. Par le proxy lui-même : le serveur connaît l'heure du dernier contact de chaque proxy (colonne Last seen de Administration > Proxies, élément interne zabbix[proxy,prx-mrs,lastaccess]). Un déclencheur sur cet élément alerte quand le proxy ne s'est pas manifesté depuis quelques minutes. On ajoute un ping, depuis le siège, de l'interface du routeur de Marseille.

Tu avais trouvé ?

Chapitre terminé !

Fais les 3 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : Installer Zabbix 7.0 LTS sur Debian 13Revoir le sommaire du cours