Tutoriels gratuits et ouverts à toutes et à tous · conçus au Lycée Chevrollier — AngersÀ propos

Série « Supervision avec Zabbix » · partie 2 / 2

Collecter les données avec Zabbix : agent ou SNMP ?

Comprendre l’agent Zabbix (agent et agent 2) et le protocole SNMP, les comparer sur les plans technique, fonctionnel et sécuritaire, choisir la bonne méthode, puis installer, configurer et chiffrer un agent sous Linux et Windows.

Supervision✎ B. Jousseaume📅 17 octobre 2026⏱ 2 h📶 Intermédiaire

Ce cours fait suite à Supervision des systèmes d’information avec Zabbix, qui présente la supervision et l’installation du serveur.

1. Présentation générale

1.1 L’agent Zabbix

L’agent Zabbix est un processus léger installé sur les machines à surveiller. Il collecte localement des données système et les transmet au serveur Zabbix. Comme il s’exécute sur la machine supervisée, il accède à des informations qu’aucune interrogation réseau ne peut fournir : état des services, contenu des journaux, résultat d’un script métier.

Deux implémentations coexistent :

  • Zabbix Agent (écrit en C) : l’agent historique, disponible sur un très large éventail de systèmes.
  • Zabbix Agent 2 (écrit en Go) : il exécute les contrôles en parallèle, conserve des connexions persistantes et intègre une architecture de plugins permettant de superviser des services applicatifs (MySQL, PostgreSQL, Docker, Redis, Nginx…) sans script supplémentaire. C’est aujourd’hui le choix par défaut sur un serveur récent.

1.2 Le protocole SNMP

SNMP (Simple Network Management Protocol) est un protocole normalisé de gestion des équipements. Il repose sur un manager (ici le serveur Zabbix) qui interroge des agents SNMP embarqués dans les équipements. Chaque équipement expose ses informations dans une base structurée, la MIB (Management Information Base), dont les entrées sont désignées par des identifiants numériques appelés OID.

SNMP autorise quatre opérations :

  • get-request / get-response : lecture d’une variable précise de la MIB ;
  • get-next-request : parcours d’une table complète de la MIB ;
  • set-request : écriture d’une valeur dans la MIB (modification de configuration) ;
  • trap / inform : notification spontanée émise par l’équipement vers le manager, sans interrogation préalable.

2. Comparaison technique

CritèreAgent ZabbixSNMP
Type de protocolePropriétaire Zabbix (échanges JSON)Standard ouvert (RFC)
Port par défautTCP 10050 (passif) / 10051 (actif)UDP 161 (requêtes) / 162 (traps)
SécuritéChiffrement TLS natif (PSK ou certificats), authentificationAucune sécurité en v1/v2c ; chiffrement et authentification en v3
PerformancesOptimisé pour Zabbix, faible latence, contrôles concurrents avec l’agent 2Peut être limité par la taille des réponses et la capacité de l’équipement
FlexibilitéTrès configurable : paramètres utilisateur, scripts personnalisésStandardisé donc interopérable, mais peu extensible
InstallationNécessite l’installation et la maintenance d’un logicielSouvent déjà présent sur les équipements réseau
RessourcesConsommation mémoire modéréeTrès léger
Types de donnéesMétriques système, services, journaux, exécution de scriptsMétriques réseau et système de base exposées par la MIB
ConfigurationFichier de configuration détaillé sur chaque hôteBasée sur les OID et les MIB de l’équipement

3. Comparaison fonctionnelle

3.1 Collecte des données

Agent Zabbix :

  • Collecte possible en mode actif comme en mode passif.
  • Exécution de scripts personnalisés (paramètres utilisateur).
  • Prise en charge de contrôles complexes et de dépendances entre éléments.
  • Métriques système détaillées : processeur, mémoire, disques, processus, services.
  • Surveillance d’applications et lecture de journaux.

SNMP :

  • Modèle d’interrogation (le serveur demande), complété par les traps.
  • Collecte normalisée via des OID, identiques d’un constructeur à l’autre pour les MIB standard.
  • Orientation matériel réseau : interfaces, températures, alimentations, ventilateurs.
  • Métriques système sommaires, peu adaptées à la supervision applicative.

3.2 Sécurité

Agent ZabbixSNMP
ChiffrementTLS natif, par clé pré-partagée (PSK) ou certificats X.509Aucun en v1/v2c ; AES en v3
AuthentificationIdentité PSK ou certificat vérifié de bout en boutCommunauté en clair en v1/v2c ; utilisateur + MD5/SHA en v3
Contrôle d’accèsDirectives Server / ServerActive, filtrage par adresse, permissions finesListes de contrôle d’accès sur l’équipement, vues SNMP
Surface d’expositionUn logiciel de plus à maintenir et à mettre à jour sur chaque hôtePile embarquée du constructeur, corrigée au rythme des mises à jour de firmware

4. Quelle méthode choisir ?

ContexteMéthode conseilléeJustification
Serveurs Linux et Windows, machines virtuellesAgent (de préférence agent 2)Métriques détaillées, état des services, journaux, scripts métier.
Commutateurs, routeurs, pare-feux, points d’accès, imprimantesSNMPv3Pas d’installation possible, MIB standard disponibles, très faible empreinte.
Équipement sur lequel aucun logiciel ne peut être installéSNMPv3, ou contrôles simples (ICMP, ports TCP)Supervision externe sans agent.
Environnement à forte exigence de sécuritéAgent avec TLS PSK ou certificatsChiffrement et authentification de bout en bout, maîtrisés par l’administrateur.
Supervision applicative (bases de données, conteneurs, web)Agent 2 et ses pluginsCollecte native sans script, contrôles concurrents.
Parc hétérogène et multi-constructeursCombinaison des deuxChaque méthode sur son terrain de prédilection.

5. Installer l’agent Zabbix

L’agent s’installe sur toutes les machines hébergeant des services que l’on souhaite superviser. Sa version doit rester compatible avec celle du serveur : un agent peut être plus ancien que le serveur, l’inverse n’est pas garanti.

5.1 Se procurer le bon paquet

Le paquet de l’agent se récupère sur la page officielle zabbix.com/download_agents, ou via le dépôt Zabbix déjà déclaré sur la machine. Plutôt que de recopier une commande figée, on renseigne les critères correspondant à la machine cible : la page fournit alors le fichier et la procédure exacts.

Critère de sélectionCe qui guide le choix
Version de ZabbixIdentique ou antérieure à celle du serveur. Un agent plus récent que le serveur n’est pas garanti.
Système d’exploitation et versionDétermine le format et le dépôt : paquet Debian ou RPM, installeur Windows, archive pour les autres systèmes.
Architecture matérielleamd64, i386, ARM : une erreur ici et le service refuse de démarrer.
ChiffrementChoisir la variante compilée avec OpenSSL : sans elle, le chiffrement TLS de la liaison est impossible.
Agent ou agent 2L’agent 2 est préférable sur un serveur récent (contrôles concurrents, plugins applicatifs).
FormatMSI sous Windows pour une installation assistée et un service déclaré automatiquement ; archive pour un déploiement maîtrisé.

5.2 Configurer l’agent

Quelle que soit la méthode d’installation, les directives à renseigner dans le fichier de configuration sont les mêmes. Elles sont stables d’une version à l’autre.

DirectiveRôle
ServerAdresses autorisées à interroger l’agent (contrôles passifs). Fait office de filtrage applicatif : à restreindre au serveur et au proxy.
ServerActiveAdresse à laquelle l’agent envoie ses données (contrôles actifs).
HostnameNom de l’hôte, qui doit correspondre exactement au nom technique déclaré dans le frontend.
ListenPortPort d’écoute, 10050 par défaut.
IncludeRépertoire des configurations complémentaires : à privilégier pour vos ajouts plutôt que de modifier le fichier principal.
TLSConnect / TLSAcceptMode de chiffrement des connexions sortantes et entrantes (voir chapitre 6).
LogFileEmplacement du journal de l’agent : premier élément à consulter en cas de dysfonctionnement.

5.3 Particularités de l’installation sous Windows

  1. Exécuter l’installeur MSI et renseigner le nom de l’hôte ainsi que l’adresse du serveur Zabbix : ces valeurs alimentent directement le fichier de configuration.
  2. Renseigner l’identité et la clé PSK si le chiffrement est retenu, l’installeur les prenant en charge.
  3. Créer la règle de pare-feu entrante TCP 10050 en la restreignant à l’adresse du serveur, plutôt que d’autoriser tout le réseau.
  4. Vérifier que le service Zabbix Agent est démarré et configuré en mode automatique.
  5. En cas de problème, consulter le journal de l’agent dans son répertoire d’installation.

5.4 Vérifier la collecte depuis le serveur

# zabbix_get -s 10.0.0.21 -k agent.ping
1
# zabbix_get -s 10.0.0.21 -k system.hostname
# zabbix_get -s 10.0.0.21 -k vfs.fs.size[/,pused]

6. Chiffrer la liaison agent / serveur

Le chiffrement par clé pré-partagée (PSK) est la méthode la plus simple à mettre en œuvre en laboratoire comme sur un parc de taille modeste. La même clé est déclarée côté agent et côté hôte dans le frontend.

# Génération de la clé (32 octets, format hexadécimal)
# openssl rand -hex 32 > /etc/zabbix/zabbix_agent2.psk
# chown zabbix:zabbix /etc/zabbix/zabbix_agent2.psk
# chmod 600 /etc/zabbix/zabbix_agent2.psk

# Extrait de /etc/zabbix/zabbix_agent2.conf
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PSK-SRV-LIN-01
TLSPSKFile=/etc/zabbix/zabbix_agent2.psk

Côté frontend, l’onglet Encryption de l’hôte doit déclarer la même identité PSK et la même clé, en cochant PSK pour les connexions entrantes et sortantes. Une fois la configuration active, la colonne de chiffrement de la liste des hôtes affiche PSK.

7. Bonnes pratiques

7.1 Pour l’agent Zabbix

  • Maintenir l’agent à jour et cohérent avec la version du serveur.
  • Activer systématiquement le chiffrement des communications.
  • Privilégier les contrôles actifs pour réduire la charge du serveur et simplifier le filtrage (flux sortants uniquement).
  • S’appuyer sur les modèles officiels pour standardiser la configuration, et cloner plutôt que modifier.
  • Superviser l’agent lui-même : disponibilité, version, dernière remontée de données.
  • Désactiver l’exécution de commandes distantes et les paramètres utilisateur non sécurisés si le besoin ne le justifie pas.

7.2 Pour SNMP

  • Utiliser SNMPv3 avec authentification et chiffrement.
  • Limiter l’accès SNMP aux seules adresses nécessaires au moyen d’une ACL (voir la partie ACL du guide d’administration Cisco).
  • Changer les communautés par défaut (public, private) et supprimer les accès en écriture.
  • Surveiller la taille des réponses pour éviter la fragmentation UDP.
  • Documenter les OID personnalisés utilisés et conserver les MIB constructeur dans le dossier technique.

8. Synthèse

9. Ressources complémentaires

🧠 Testez vos connaissances

8 questions. Répondez puis cliquez sur « Corriger ». Rien n’est enregistré : c’est de l’auto-évaluation.

1. Quel avantage principal l’agent Zabbix a-t-il sur SNMP ?

💬 S’exécutant sur la machine supervisée, l’agent voit ce qu’aucune interrogation réseau ne peut fournir.

2. Qu’apporte l’agent 2 par rapport à l’agent historique ?

💬 Écrit en Go, l’agent 2 est le choix par défaut sur un serveur récent.

3. Quelle opération SNMP permet de modifier la configuration d’un équipement ?

💬 C’est pourquoi la supervision doit se limiter à un accès en lecture seule.

4. Comment est désignée une entrée de la MIB ?

💬 Chaque variable de la MIB est identifiée par un OID, standard pour les MIB normalisées.

5. Pourquoi SNMPv1 et v2c sont-ils à proscrire ?

💬 Une capture réseau suffit à récupérer la communauté. SNMPv3 apporte authentification et chiffrement.

6. Quelle méthode de collecte conseiller pour un commutateur ?

💬 On ne peut pas installer d’agent sur un commutateur ; SNMPv3 est disponible et très léger.

7. Quelle directive de l’agent restreint les adresses autorisées à l’interroger ?

💬 Server sert de filtrage applicatif : on la limite au serveur et au proxy Zabbix, en complément du pare-feu.

8. Quelle règle d’hygiène s’applique aux clés PSK ?

💬 Une clé partagée par tout le parc annule l’intérêt de l’authentification.

© 2026 Bruno Jousseaume. Ce cours est publié sous licence CC BY-NC-SA 4.0 : vous pouvez le partager et l’adapter en citant l’auteur et un lien vers cette page, sans usage commercial, et en partageant vos adaptations sous la même licence.