Cours B2-28 - Supervision : SNMP, Zabbix, alertes
Cours · Fiche de cours

B2-28 - Supervision : SNMP, Zabbix, alertes

B2-28 Supervision : SNMP, Zabbix, alertes

🎓 SIO2 · semestre 3 ⏱️ 5 h (cours + TP) 🎯 Bloc 2 – SISR Synchroniser l'heure avec NTP, interroger les équipements en SNMP, superviser serveurs et réseau avec Zabbix, et déclencher des alertes utiles plutôt que du bruit.

🎯 Objectifs

  • Expliquer à quoi sert la supervision : disponibilité, performance, anticipation.
  • Synchroniser l'heure de tous les équipements avec NTP et expliquer pourquoi c'est indispensable.
  • Décrire SNMP : gestionnaire, agent, MIB, OID, requêtes et alertes (traps), versions v2c et v3.
  • Configurer NTP et SNMP sur des routeurs et commutateurs Cisco.
  • Installer Zabbix, ajouter des hôtes avec des modèles, lire les déclencheurs et configurer une alerte.
  • Choisir des seuils pertinents et dépanner une supervision qui ne remonte rien.

📋 Prérequis

🧭 Référentiel

  • B2.3 Exploiter, dépanner et superviser une solution d'infrastructure réseau.
  • B2.2 Installer et configurer les services de supervision (NTP, SNMP, Zabbix).
  • B1.5 Mettre à disposition des indicateurs de qualité de service (disponibilité, incidents).
Test express des prérequis 3 questions · 2 minutes · conseillé avant de commencer

1. Quel protocole de transport n'établit pas de connexion et n'accuse pas réception des messages ?

UDP envoie ses messages sans connexion ni accusé de réception. SNMP et NTP l'utilisent : c'est léger, mais un message peut se perdre sans que personne ne le sache. À revoir : B2-01 · Architecture réseau.

2. Sur Debian 13, quelle commande vérifie qu'un service tourne et démarre avec le système ?

systemctl status NOM affiche l'état (active (running)) et le démarrage automatique (enabled). À revoir : B2-14 · Debian 13.

3. Uptime Kuma t'indique qu'un site web répond. Que ne te dit-il pas ?

Uptime Kuma teste la disponibilité vue de l'extérieur (le site répond, en combien de temps). Il ne mesure pas ce qui se passe dans la machine : disque, mémoire, processeur. C'est le rôle d'une supervision comme Zabbix. À revoir : B2-27 · Uptime Kuma.
lundi, 3 h 12 SRV-01 disque C: plein à 100 % aucune alerte personne n'est prévenu 8 h : plus personne ne se connecte

Brocéliande Logistique (entreprise fictive) a vécu un lundi difficile : à 8 h, plus aucun salarié ne pouvait ouvrir de session. Le disque de SRV-01 s'était rempli pendant la nuit avec les journaux d'une sauvegarde ratée. Le problème grossissait depuis trois semaines ; personne ne l'avait vu.

Le responsable informatique veut être prévenu avant la panne. Il te demande de mettre en place une supervision : heure commune sur tout le réseau, interrogation des équipements Cisco en SNMP, un serveur Zabbix qui surveille serveurs et réseau, et des alertes envoyées aux bonnes personnes, sans noyer le service sous les messages inutiles.

Le coursLa boucle de supervision, l'heure commune avec NTP, le protocole SNMP et sa sécurité, l'outil Zabbix et ses déclencheurs, les alertes, puis le dépannage.

1. Pourquoi superviser ?

Superviser, c'est mesurer en continu l'état des équipements et des services, comparer ces mesures à des seuils et prévenir quelqu'un quand un seuil est franchi. L'objectif n'est pas de constater la panne, mais de la voir venir : un disque qui se remplit, une interface qui sature, un service qui redémarre en boucle.

1. Collecteragent · SNMP · ping 2. Stockerhistorique · courbes 3. Comparerseuil · déclencheur 4. Alerter, agirmessage · intervention disque 71 % · CPU 12 % · Gi0/1 up disque utilisé : +2 % par jour seuil : 85 % utilisé état : PROBLÈME SRV-01 : disque C: à 86 % envoyé à l'astreinte, 03:12 le technicien libère de la place : retour au vert
La supervision est une boucle : mesurer, garder l'historique, comparer à un seuil, prévenir, puis vérifier le retour à la normale.

On distingue deux familles de questions :

  • DisponibilitéEst-ce que ça marche ? Le serveur répond au ping, le service web renvoie 200, l'interface est up. Réponse binaire : oui ou non.
  • PerformanceEst-ce que ça marche bien ? Temps de réponse, charge du processeur, mémoire, débit d'une interface. Réponse chiffrée, que l'on suit dans le temps.
  • CapacitéEst-ce que ça marchera encore dans un mois ? Remplissage des disques, croissance du trafic. On prolonge la courbe pour anticiper un achat.
OutilQuestion poséeExemple chez BrocéliandeFiche
Uptime KumaLe service répond-il, vu de l'extérieur ?L'intranet répond en moins d'une secondeB2-27
Zabbix (supervision)Comment vont les machines et le réseau, de l'intérieur ?Disque de SRV-01 à 86 %, débit du lien WAN à 90 %B2-28
Syslog (journalisation)Que s'est-il passé, et quand ?« Gi0/1 est passée down à 03:12:04 »B2-29

La supervision mesure (disponibilité, performance, capacité), garde l'historique, compare à des seuils et alerte. Uptime Kuma dit si le service répond ; Zabbix dit comment vont les machines ; les journaux disent ce qui s'est passé. Les trois se complètent.

2. Une heure commune : NTP

Avant de superviser, tous les équipements doivent avoir la même heure. Sinon, impossible de reconstituer une panne : le routeur dit que l'interface est tombée à 03:12, le serveur dit que la sauvegarde a échoué à 02:47… alors que c'était la même seconde. L'heure exacte sert aussi à la sécurité : l'authentification Kerberos de l'Active Directory refuse les machines décalées de plus de 5 minutes, et les certificats ont des dates de validité.

NTP (Network Time Protocol, port UDP 123) distribue l'heure en cascade. Chaque niveau s'appelle une strate : plus le numéro est petit, plus on est près de l'horloge de référence.

strate 0-1strate 2strate 3-4strate 5 horloge atomique · GPS serveurs publics (pool.ntp.org) R1 · source interne R2 · R3 SW1 · SW2 SRV-01 (AD) postes (via le domaine) au labo, sans Internet :R1 sert sa propre horloge
Chaque niveau se synchronise sur le précédent. Les postes du domaine prennent l'heure du contrôleur de domaine.
Cisco IOS NTPR1 source, les autres clients
R1(config)# clock timezone CET 1 ! heure d'hiver de Paris
R1(config)# clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00
R1(config)# ntp server 0.fr.pool.ntp.org ! si R1 a accès à Internet
R1(config)# ntp master 4 ! sinon (labo) : R1 sert sa propre horloge en strate 4
SW1(config)# ntp server 172.16.99.252 ! adresse réelle de R1 dans le VLAN de gestion
SW1# show ntp status ! « Clock is synchronized, stratum 5 »
SW1# show clock

Sur Debian 13, le client NTP par défaut est systemd-timesyncd (fichier /etc/systemd/timesyncd.conf, vérification avec timedatectl) ; chrony le remplace quand la machine doit aussi servir l'heure. Sur Windows, le contrôleur de domaine principal se synchronise sur la source interne (w32tm /config /manualpeerlist:172.16.50.252 /syncfromflags:manual /update) et les postes du domaine suivent automatiquement.

Dans le fil rouge, l'adresse .254 est portée par R1 ou R3 selon HSRP. Si seul R1 est source NTP, les clients doivent viser son adresse réelle (.252). En entreprise, on configure souvent deux sources (R1 et R3, ou deux serveurs) pour qu'une panne n'arrête pas la synchronisation.

3. SNMP : interroger les équipements

SNMP (Simple Network Management Protocol) est le langage commun des équipements réseau : routeurs, commutateurs, imprimantes, onduleurs, pare-feu, bornes Wi-Fi. Tous embarquent un petit agent SNMP qui répond aux questions d'un gestionnaire (le serveur de supervision).

Le couloir de l'hôpital chambre 1 chambre 2 chambre 3 la tournée : elle relève les constantes de chaque patient sonnette ! tournée = requête (GET), toutes les minutes sonnette = trap, envoyé par l'équipement

Pour bien comprendre : la tournée et la sonnette

À l'hôpital, l'infirmière fait sa tournée à heures fixes : elle passe dans chaque chambre et relève la température et la tension. C'est l'interrogation (polling) : le gestionnaire SNMP demande régulièrement les valeurs à chaque agent.

Mais si un patient va mal entre deux tournées, il appuie sur la sonnette : c'est le trap, une alerte que l'agent envoie de lui-même, tout de suite. Les deux se complètent : la tournée donne l'historique, la sonnette donne la réactivité. Et si la sonnette est en panne, la tournée finit quand même par voir le problème.

Chaque information qu'un agent peut fournir porte un identifiant unique, l'OID, rangé dans un arbre. La MIB est le dictionnaire qui donne un nom lisible et un sens à chaque OID.

iso (1) org (3) dod (6) internet (1) mgmt (2) private (4) mib-2 (1) enterprises (1) · Cisco 9 system (1) interfaces (2) .1.0 sysDescr · modèle, IOS.3.0 sysUpTime · depuis quand.5.0 sysName · « R1 ».6.0 sysLocation · où ifOperStatus · up (1) / down (2)ifInOctets · octets reçusifOutOctets · octets envoyés sysName = 1.3.6.1.2.1.1.5.0 iso . org . dod . internet . mgmt . mib-2 . system . sysName . 0
La MIB-2 (branche 1.3.6.1.2.1) est commune à tous les constructeurs ; chacun ajoute ses informations sous « enterprises ».
Zabbix · gestionnaire R1 · agent SNMP GET sysName UDP 161 · communauté « BL-Supervision » OID 1.3.6.1.2.1.1.5.0 RESPONSE « R1 » sysName.0 = STRING: R1 mauvaise communauté : aucune réponse TRAP linkDown UDP 162 · envoyé à l'initiative de l'agent GigabitEthernet0/1 down · aucun accusé de réception
Requête et réponse sur UDP 161 ; trap vers UDP 162. La version v2c ajoute l'INFORM, un trap acquitté.
OpérationQui l'envoieRôle
GETGestionnaireLire la valeur d'un OID précis
GETNEXT / GETBULKGestionnaireLire l'OID suivant, ou tout un tableau d'un coup (v2c) : c'est ce que fait snmpwalk
SETGestionnaireModifier une valeur (nécessite un accès en écriture : on l'évite)
TRAP / INFORMAgentPrévenir spontanément d'un évènement ; l'INFORM attend un accusé de réception

SNMP : le gestionnaire interroge l'agent sur UDP 161 (GET, GETNEXT, GETBULK) ; l'agent envoie ses traps sur UDP 162. Chaque information a un OID ; la MIB lui donne un nom et un sens. Exemple à connaître : sysName = 1.3.6.1.2.1.1.5.0.

4. Versions de SNMP et configuration Cisco

VersionAuthentificationChiffrementUsage
v1 (1988)Communauté en clairAucunAncien matériel seulement
v2cCommunauté en clairAucunLe plus répandu ; ajoute GETBULK, INFORM et des compteurs 64 bits. Acceptable en lecture seule, sur un réseau de gestion isolé, avec une liste d'accès
v3Utilisateur + mot de passe (SHA)Oui (AES), niveau authPrivÀ privilégier dès que l'équipement le permet

En v1 et v2c, la communauté sert de mot de passe… et circule en clair dans chaque requête. Trois protections s'imposent : une communauté non devinable, l'accès en lecture seule (RO) et une liste d'accès qui n'autorise que les postes de supervision.

Cisco IOS SNMP v2c en lecture seulesur R1 ; même chose sur chaque équipement
R1(config)# access-list 10 permit host 172.16.99.20 ! PC-ADMIN
R1(config)# access-list 10 permit host 172.16.99.21 ! SRV-SUP, le serveur Zabbix
R1(config)# snmp-server community BL-Supervision RO 10 ! RO = lecture seule, 10 = la liste d'accès
R1(config)# snmp-server location Siege - baie informatique
R1(config)# snmp-server contact support@broceliande.lan
R1(config)# snmp-server host 172.16.99.21 version 2c BL-Supervision ! destinataire des traps
R1(config)# snmp-server enable traps snmp linkdown linkup coldstart
R1# show snmp community
Cisco IOS SNMP v3 · authentification et chiffrement
R1(config)# snmp-server group SUPERV v3 priv access 10
R1(config)# snmp-server user zabbix SUPERV v3 auth sha MotDePasseAuth1 priv aes 128 MotDePassePriv1
R1# show snmp user ! l'utilisateur n'apparaît pas dans show running-config

Depuis un poste Debian, le paquet snmp fournit snmpget et snmpwalk pour tester avant de configurer l'outil de supervision :

Debian 13 tester SNMP depuis SRV-SUP
root@srv-sup:~# apt install snmp
root@srv-sup:~# snmpget -v2c -c BL-Supervision 172.16.99.252 1.3.6.1.2.1.1.5.0
iso.3.6.1.2.1.1.5.0 = STRING: "R1.broceliande.lan"
root@srv-sup:~# snmpwalk -v2c -c BL-Supervision 172.16.99.252 1.3.6.1.2.1.2.2.1.8 # état de chaque interface
iso.3.6.1.2.1.2.2.1.8.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.2 = INTEGER: 2
root@srv-sup:~# snmpwalk -v3 -l authPriv -u zabbix -a SHA -A MotDePasseAuth1 -x AES -X MotDePassePriv1 172.16.99.252 1.3.6.1.2.1.1

Dans le résultat, INTEGER: 1 signifie up et 2 down (valeurs définies par la MIB). Sans les fichiers MIB installés, Debian affiche les OID en chiffres (iso.3.6…) : c'est normal.

Laisser la communauté public (ou pire, private en écriture) : c'est la première chose qu'essaie un attaquant. Avec un accès en écriture, il peut modifier la configuration de l'équipement. Jamais de RW, une communauté propre à l'entreprise, une liste d'accès, et SNMP v3 quand c'est possible.

Complète la configuration SNMP de SW2 : lecture seule avec la communauté de l'entreprise, accès limité à la liste 10, et envoi des traps vers SRV-SUP. Vérifie chaque ligne avec ✓.

SW2(config)#
SW2(config)#
SW2(config)#
SW2(config)#

5. Zabbix : l'architecture

Zabbix est un logiciel libre de supervision, très répandu en entreprise. La version 7.0 LTS (support long) s'installe sur Debian 13 depuis le dépôt officiel de Zabbix. Il collecte des valeurs par plusieurs moyens : son propre agent installé sur les serveurs, SNMP pour les équipements réseau, le ping ICMP, des requêtes web, IPMI pour le matériel.

Clique sur chaque élément pour découvrir son rôle et le port qu'il utilise.

SRV-SUP · Debian 13 · 172.16.99.21 10050 10051 UDP 161 10051 serveur Zabbix base interface web SRV-01agent · passif SRV-WEBagent · actif SW1SNMP proxyRennes bleu : le serveur interroge · vert et noir : l'agent ou le proxy envoie · orange : requête SNMP

Choisis un élément : quel est son rôle, et par quel port passe-t-il ?

Un serveur, une base, une interface web ; des agents (passifs ou actifs), des équipements SNMP et, pour un site distant, un proxy.
FluxPortSens
Agent passifTCP 10050Serveur → agent
Agent actif, proxyTCP 10051Agent ou proxy → serveur
SNMP (requêtes)UDP 161Serveur → équipement
SNMP (traps)UDP 162Équipement → serveur
Interface webTCP 80 / 443Navigateur → SRV-SUP

6. Hôtes, éléments, modèles et déclencheurs

Dans Zabbix, tout s'organise autour de quatre objets. Ce sont les mots de l'interface (en français : menu Collecte de données → Hôtes) :

  • Hôte (host)Ce qu'on supervise : un serveur, un routeur, une imprimante. Il a un nom, un ou plusieurs groupes et des interfaces (agent sur 10050, SNMP sur 161 avec sa communauté).
  • Élément (item)Une valeur mesurée, identifiée par une clé : system.cpu.util (processeur), vfs.fs.size[C:,pused] (disque C: utilisé, en %), icmpping, ou un OID SNMP. Chaque élément a un intervalle (1 min) et une durée de conservation.
  • Modèle (template)Un lot d'éléments, de déclencheurs et de graphiques prêt à l'emploi : Windows by Zabbix agent, Linux by Zabbix agent, Cisco IOS by SNMP, ICMP Ping. On lie le modèle à l'hôte au lieu de tout créer à la main.
  • Déclencheur (trigger)Une condition sur un élément, avec une sévérité. Quand elle devient vraie, Zabbix crée un problème ; quand elle redevient fausse, le problème est résolu.

Les modèles découvrent aussi automatiquement ce qui existe sur l'hôte (découverte de bas niveau) : chaque disque, chaque interface du commutateur reçoit ses éléments sans saisie. Les réglages communs passent par des macros, par exemple {$SNMP_COMMUNITY} pour la communauté SNMP.

Un déclencheur s'écrit avec une fonction appliquée à un élément, désigné par /hôte/clé :

Zabbix 7.0 expressions de déclencheurs
last(/SRV-01/vfs.fs.size[C:,pused])>85              disque C: rempli à plus de 85 %
avg(/SRV-01/system.cpu.util,10m)>90                 processeur à plus de 90 % en moyenne sur 10 min
max(/R1/icmpping,3m)=0                              R1 ne répond plus au ping depuis 3 min
last(/SW1/net.if.status[ifOperStatus.10101])=2      interface Gi0/1 de SW1 down
temps disque utilisé (%) seuil d'alerte 85 % retour à la normale 80 % PROBLÈME (sévérité : Moyen) alerte envoyée « résolu » envoyé entre 80 et 85 % :pas d'alerte en boucle
Deux seuils (alerte à 85 %, retour à 80 %) évitent qu'une valeur qui oscille autour du seuil envoie dix alertes par heure.
SévéritéExempleQui est prévenu ?
InformationUn équipement a redémarréPersonne, visible dans le tableau de bord
AvertissementDisque à 80 %Le support, par courriel, aux heures ouvrées
MoyenDisque à 85 %, processeur saturé 10 minLe support, par courriel
HautService AD arrêté, lien WAN tombéL'astreinte, par messagerie instantanée ou SMS
DésastreSRV-01 ne répond plusL'astreinte et le responsable, immédiatement

Zabbix : un hôte porte des éléments (valeurs mesurées, identifiées par une clé) ; un modèle les apporte tout prêts ; un déclencheur compare une valeur à un seuil et crée un problème d'une certaine sévérité. Agent passif : TCP 10050 ; agent actif : TCP 10051.

7. Les alertes : prévenir la bonne personne

Un problème qui reste affiché dans un tableau de bord que personne ne regarde ne sert à rien. Zabbix envoie des notifications grâce à trois réglages :

  • Type de médiaLe canal : courriel (serveur SMTP), webhook vers une messagerie d'équipe (Teams, Slack, Mattermost, ntfy), SMS. Menu Alertes → Types de média.
  • Média de l'utilisateurL'adresse de chaque technicien sur ce canal, avec ses heures et les sévérités qu'il veut recevoir. Menu Utilisateurs → Utilisateurs → Média.
  • ActionLa règle : « si un problème de sévérité Haut ou plus survient sur le groupe Serveurs, prévenir le groupe Support ». Menu Alertes → Actions → Actions de déclencheur. Elle peut escalader : prévenir le responsable si personne n'a acquitté au bout de 30 min.

Quand un technicien prend en charge un problème, il l'acquitte dans Zabbix avec un commentaire : ses collègues savent que quelqu'un s'en occupe, et l'escalade s'arrête. Le lien avec l'outil de tickets (GLPI) se fait par webhook ou à la main : chaque alerte importante devient un ticket.

Si chaque nuit 200 courriels annoncent « interface down » parce que les postes sont éteints, plus personne ne lit les alertes… et la vraie panne passe inaperçue. Règles d'or : n'alerter que sur ce qui demande une action ; ne pas superviser l'état des ports des postes, seulement les liens entre équipements ; mettre des durées (« depuis 5 min ») et deux seuils ; utiliser les dépendances (si R2 est injoignable, inutile d'alerter aussi pour SW3 et PC-RENNES derrière lui).

Uptime Kuma et Zabbix ne se font pas concurrence : Kuma, très simple, vérifie depuis l'extérieur que les services répondent et publie une page d'état pour les utilisateurs ; Zabbix suit de l'intérieur des centaines de valeurs, avec historique et seuils. Beaucoup d'équipes utilisent les deux.

8. Dépanner la supervision

Quand un hôte reste rouge ou qu'un élément ne reçoit rien, remonte la chaîne dans l'ordre, du réseau vers l'application :

  1. Joignable ? ping depuis SRV-SUP vers l'hôte.
  2. Port ouvert ? nc -zv 172.16.50.10 10050 (agent) ; pour SNMP, un snmpget qui répond.
  3. Autorisé ? Communauté et liste d'accès SNMP, ligne Server= de l'agent, pare-feu Windows.
  4. Bien déclaré ? Adresse et port de l'interface de l'hôte, nom d'hôte identique à Hostname= pour l'agent actif, modèle lié.
  5. Que dit Zabbix ? Icône de disponibilité (ZBX, SNMP) de l'hôte et message d'erreur au survol, menu Surveillance → Dernières données, journal /var/log/zabbix/zabbix_server.log.
PowerShell vérifier l'agent sur SRV-01
PS C:\> Get-Service "Zabbix Agent 2"
PS C:\> Get-NetTCPConnection -LocalPort 10050 -State Listen
PS C:\> Select-String -Path "C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf" -Pattern "^Server|^Hostname"
File d'attente du support6 tickets · un à la fois · l'explication s'affiche après ta réponse
Ticket n° 1De : responsable informatiquePriorité haute
« R1 est en rouge dans Zabbix depuis qu'on l'a ajouté, alors qu'il fonctionne très bien. »
Cisco IOS R1
R1# show running-config | include snmp|access-list 10
access-list 10 permit host 172.16.99.20
snmp-server community BL-Supervision RO 10

Pourquoi Zabbix (SRV-SUP, 172.16.99.21) n'obtient-il aucune réponse ?

Cause : l'agent SNMP ignore silencieusement les requêtes des adresses refusées par la liste 10 ; Zabbix affiche un délai dépassé (Timeout). Correction : access-list 10 permit host 172.16.99.21, puis tester avec snmpget depuis SRV-SUP.

Ticket n° 2De : supportPriorité moyenne
« L'agent est installé sur SRV-01 et le service tourne, mais Zabbix indique une erreur. »
Zabbix disponibilité de l'hôte SRV-01
Received empty response from Zabbix Agent at [172.16.50.10].
Assuming that agent dropped connection because of access permissions.

Que faut-il vérifier en premier ?

Cause : la connexion aboutit (le port est ouvert) mais l'agent la ferme aussitôt : l'adresse du serveur ne figure pas dans Server= (souvent resté à 127.0.0.1). Correction : Server=172.16.99.21, puis redémarrer le service « Zabbix Agent 2 ».

Ticket n° 3De : supportPriorité moyenne
« Nouveau serveur Windows ajouté : l'icône ZBX reste rouge. »
Debian 13 SRV-SUP
root@srv-sup:~# ping -c 2 172.16.50.15
2 packets transmitted, 2 received, 0% packet loss
root@srv-sup:~# nc -zv -w 3 172.16.50.15 10050
nc: connect to 172.16.50.15 port 10050 (tcp) timed out

Quelle est la cause la plus probable ?

Cause : le serveur répond au ping mais le port 10050 ne répond pas (délai dépassé, pas de refus) : un pare-feu filtre. Correction : règle entrante TCP 10050 limitée à l'adresse de SRV-SUP (New-NetFirewallRule). La communauté SNMP n'a rien à voir avec l'agent Zabbix.

Ticket n° 4De : responsable informatiquePriorité basse
« Les heures des journaux de SW1 ne correspondent à rien : impossible de comparer avec les serveurs. »
Cisco IOS R1 (au labo, sans accès Internet)
R1# show running-config | include ntp
ntp server 0.fr.pool.ntp.org
R1# show ntp status
Clock is unsynchronized, stratum 16, no reference clock

Pourquoi SW1, client de R1, n'a-t-il pas la bonne heure ?

Cause : une source NTP non synchronisée (strate 16) est refusée par ses clients. Correction : donner à R1 une source joignable, ou, sur un réseau isolé, ntp master 4 après avoir réglé l'heure avec clock set. NTP utilise UDP 123, pas TCP.

Ticket n° 5De : technicien d'astreintePriorité moyenne
« Je reçois 150 courriels chaque soir vers 18 h : “Interface Fa0/3 : Link down”, “Fa0/4 : Link down”… Je ne les lis plus. »

Que proposes-tu ?

Cause : le modèle découvre toutes les interfaces et alerte sur chacune ; l'extinction des postes est normale. Correction : filtrer la découverte des interfaces (par description ou par type) ou désactiver ces déclencheurs pour les ports d'accès. Une alerte doit appeler une action ; sinon elle masque les vraies pannes.

Ticket n° 6De : supportPriorité basse
« Le disque de SRV-WEB alterne entre “problème” et “résolu” toutes les cinq minutes depuis ce matin. »
Zabbix déclencheur
Expression : last(/SRV-WEB/vfs.fs.size[/,pused])>85
Dernières valeurs : 84,9 · 85,2 · 84,8 · 85,1 · 84,9

Comment éviter ce va-et-vient ?

Cause : la valeur oscille autour du seuil unique. Correction : mode de génération avec expression de récupération last(/SRV-WEB/vfs.fs.size[/,pused])<80 (hystérésis), ou une moyenne sur 15 min. Et surtout agir : un disque à 85 % mérite une intervention.

9. À l'examen et en entreprise

  • Montrer une supervision qui vit : tableau de bord Zabbix avec des hôtes verts, un déclencheur que tu provoques devant le jury (service arrêté, interface coupée) et l'alerte reçue.
  • Justifier les choix : pourquoi SNMP v2c en lecture seule avec liste d'accès (ou v3), pourquoi tels seuils et telles sévérités, qui reçoit quoi.
  • Documenter : liste des hôtes supervisés, modèles, ports ouverts (10050, 10051, 161, 162, 123), procédure d'ajout d'un nouvel équipement.
  • En entreprise : la supervision alimente les indicateurs de service (taux de disponibilité, délai de détection) promis au client dans le contrat de service, et prouve qu'ils sont tenus.

10. L'essentiel

  1. Superviser = collecter, stocker, comparer à un seuil, alerter : voir la panne venir plutôt que la subir.
  2. Trois questions : disponibilité (ça marche ?), performance (ça marche bien ?), capacité (ça marchera encore ?).
  3. NTP (UDP 123) donne la même heure à tous : indispensable pour comparer les journaux, pour Kerberos et les certificats. Strate 16 = non synchronisé.
  4. SNMP : le gestionnaire interroge l'agent sur UDP 161 ; l'agent envoie ses traps sur UDP 162.
  5. OID = identifiant d'une information dans l'arbre ; MIB = dictionnaire des OID. sysName = 1.3.6.1.2.1.1.5.0.
  6. v1 et v2c : communauté en clair → lecture seule, nom non devinable, liste d'accès. v3 : utilisateur, authentification et chiffrement.
  7. Zabbix : serveur, base de données, interface web ; agent passif (TCP 10050) ou actif (TCP 10051) ; SNMP pour le réseau ; proxy pour un site distant.
  8. Hôte → éléments (clés) apportés par un modèle → déclencheurs avec une sévérité → problème.
  9. Alerte = type de média + média de l'utilisateur + action (avec escalade) ; le technicien acquitte.
  10. Pas d'alerte sans action à mener : durées, deux seuils, dépendances, pas d'alerte sur les ports des postes.
SupervisionZabbix Pourquoivoir venir la pannedispo · perf · capacité NTPUDP 123 · même heurestrate 16 = pas synchro SNMPGET UDP 161 · trap 162OID · MIB · v2c RO / v3 Architectureserveur · base · webagent 10050 / 10051 Objetshôte · élément · modèledéclencheur · sévérité Alertesmédia · action · escaladepeu, mais utiles
La fiche en une image : à refaire de mémoire, sur une feuille, avant de passer aux exercices.

Les commandes clés

Pour…Commandes
NTP (Cisco)ntp master 4 (source) · ntp server 172.16.99.252 (client) · show ntp status
SNMP v2c (Cisco)access-list 10 permit host 172.16.99.21 · snmp-server community BL-Supervision RO 10
Traps (Cisco)snmp-server host 172.16.99.21 version 2c BL-Supervision · snmp-server enable traps
Tester SNMP (Debian)snmpget -v2c -c COMMUNAUTE IP 1.3.6.1.2.1.1.5.0 · snmpwalk …
Heure (Debian, Windows)timedatectl · w32tm /query /status
Agent ZabbixServer= · ServerActive= · Hostname= · port TCP 10050
Dépannernc -zv IP 10050 · /var/log/zabbix/zabbix_server.log · Surveillance → Dernières données

Tout cela tient sur une page : utilise le bouton Mémo à imprimer en haut de la fiche.

La pratiqueLe quiz noté pour vérifier tes acquis, les exercices à rendre à ton professeur, puis le fil rouge Packet Tracer et le TP Zabbix au labo.

11. Quiz noté

8 questions · 10 minutesRéponds à toutes les questions, puis valide. Seule ta première tentative est enregistrée : elle compte dans ton suivi. Ensuite, tu peux t'entraîner autant que tu veux.

1. Sur quel port le gestionnaire SNMP interroge-t-il un agent ?

2. Qu'est-ce qu'un trap SNMP ?

3. Pourquoi la version 2c de SNMP doit-elle être limitée à la lecture seule et filtrée par une liste d'accès ?

4. show ntp status affiche « stratum 16 ». Qu'est-ce que cela signifie ?

5. Dans Zabbix, quel objet compare une valeur à un seuil et crée un problème ?

6. En mode actif, comment l'agent Zabbix communique-t-il avec le serveur ?

7. Pourquoi tous les équipements doivent-ils avoir la même heure ?

8. Que faire d'une alerte qui arrive chaque soir et n'appelle aucune action ?

12. Exercices : à toi de répondre

Écris ta réponse sous chaque énoncé et envoie-la à ton professeur. Quand il l'a validée, le corrigé s'affiche à la place du cadenas ; s'il te la renvoie « à revoir », lis son commentaire et corrige.

Exercice 1 – Lire l'arbre SNMP (SIO2)

Un collègue lance snmpwalk -v2c -c BL-Supervision 172.16.99.11 1.3.6.1.2.1.1 sur SW1. Explique ce que fait la commande (version, communauté, cible, branche), puis donne l'OID complet du nom de l'équipement et celui de sa durée de fonctionnement.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

Exercice 2 – Configurer (SIO2)

Écris la configuration de R2 (agence de Rennes) : client NTP de R1 par la liaison WAN, SNMP v2c en lecture seule avec la communauté de l'entreprise, accès limité à SRV-SUP (172.16.99.21), emplacement « Rennes », traps de lien vers SRV-SUP.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

Exercice 3 – Dépanner (SIO2)

Dans Zabbix, l'hôte SRV-WEB (agent actif, Debian 13) n'a aucune donnée récente. Le journal de l'agent indique : no active checks on server [172.16.99.21:10051]: host [srv-web] not found. L'hôte est déclaré dans Zabbix sous le nom SRV-WEB. Explique la panne et la correction.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

Exercice 4 – Concevoir (SIO2)

Le responsable informatique te demande un plan de supervision pour Brocéliande Logistique : quels hôtes, par quel moyen (agent, SNMP, ping), quels déclencheurs principaux, quelles sévérités et qui est prévenu. Pense à l'agence de Rennes et aux heures où personne n'est au bureau.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

13. Fil rouge : superviser Brocéliande Logistique

Étape 15sur 17
Fil rouge Packet Tracer · SupervisionTu construis le réseau de Brocéliande Logistique fiche après fiche : chaque étape repart de la précédente.
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17

Tu pars de ta maquette de l'étape 14 (B2-26) : FR-14-NOM-Prenom.pkt.

Tu enregistres FR-15-NOM-Prenom.pkt, point de départ de l'étape 16 (B2-29 · Journalisation centralisée).

Où tu en es, où tu vas

Le tableau donne l'état des équipements concernés à l'entrée de l'étape (fin de l'étape 14, téléphonie IP et QoS) et ce que tu dois obtenir à la sortie. Les autres équipements ne changent pas. Tu n'as pas ta maquette FR-14 ? Reprends les fiches précédentes du fil rouge dans l'ordre. L'étape suivante (16) ajoutera le serveur de journaux SRV-LOG : l'heure commune que tu poses ici lui sera indispensable.

ÉquipementModèleÀ l'entréeÀ la sortie
R1Routeur 1941Sous-interfaces .10 à .99, HSRP actif (.252), CME, QoS+ source NTP (ntp master 4) ; SNMP v2c lecture seule, communauté BL-Supervision, liste d'accès 10 (PC-ADMIN)
R2, R3Routeur 1941Rennes (R2) ; HSRP en attente (R3)+ clients NTP de R1 (R2 : 10.0.0.1, R3 : 172.16.99.252) ; même SNMP que R1
SW1, SW2, SW32960-24TTGestion SW1 .99.11, SW2 .99.12+ clients NTP de R1 ; même SNMP. SW3 : adresse de gestion 172.16.60.250 si elle manque (VLAN 60, passerelle .254)
PC-ADMINPC-PTAbsent ; SW1 Fa0/22 en VLAN 998, éteint172.16.99.20/24, passerelle 172.16.99.254, DNS 172.16.50.10, sur SW1 Fa0/22 (access VLAN 99)

Au labo, tu disposes des mêmes modèles en vrai : routeurs Cisco 1941, commutateurs Cisco 2960 et, pour le routage de niveau 3, Cisco 3750 (remplacé par le 3560-24PS dans Packet Tracer). Packet Tracer n'a pas Zabbix : la supervision proprement dite se fait au labo, sur tes VM (TP en fin de partie). Dans la maquette, PC-ADMIN interroge les équipements avec le MIB Browser de son bureau.

SIÈGE · étape 15 R1 · NTP maître · .252 R3 · client SW1 · .99.11 SW2 · .99.12 NTP · UDP 123 PC-ADMIN172.16.99.20 · Fa0/22 GET SNMP · UDP 161 · BL-Supervision RENNES R2 · client NTP de 10.0.0.1 SW3 · .60.250 1. une seule horloge : R12. SNMP en lecture seule3. réponse au seul PC-ADMIN
R1 donne l'heure à tout le réseau ; PC-ADMIN est le seul poste autorisé à interroger les équipements en SNMP.

Ce que tu ajoutes à cette étape

  • Une heure commune : R1 source NTP, tous les autres clients.
  • SNMP v2c en lecture seule sur tous les routeurs et commutateurs.
  • PC-ADMIN dans le VLAN 99 de gestion, sur SW1 Fa0/22.
  • Au labo : un vrai serveur Zabbix sur tes VM.

1 Repartir de l'étape précédente

Ouvre FR-14-NOM-Prenom.pkt et enregistre-la tout de suite sous FR-15-NOM-Prenom.pkt (File → Save As).

2 Installer PC-ADMIN dans le VLAN de gestion

Cisco IOS SW1 · port de PC-ADMIN
SW1(config)# interface fa0/22
SW1(config-if)# description PC-ADMIN
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 99 ! le port était dans le VLAN parking 998
SW1(config-if)# spanning-tree portfast
SW1(config-if)# spanning-tree bpduguard enable
SW1(config-if)# no shutdown

Place un PC-PT nommé PC-ADMIN, relie-le à Fa0/22 de SW1, puis dans Desktop → IP Configuration : 172.16.99.20, masque 255.255.255.0, passerelle 172.16.99.254, DNS 172.16.50.10. Vérifie avec un ping 172.16.99.252.

3 Une heure commune avec NTP

Cisco IOS R1 · source de l'heure
R1# clock set 09:00:00 15 October 2026 ! mets l'heure et la date du jour
R1# configure terminal
R1(config)# clock timezone CET 1
R1(config)# ntp master 4
Cisco IOS clientsR3, SW1, SW2 : 172.16.99.252 · R2 : 10.0.0.1
SW1(config)# clock timezone CET 1
SW1(config)# ntp server 172.16.99.252
SW1# show ntp status ! patiente une à deux minutes (bouton Fast Forward)

Selon la version de Packet Tracer, ntp master n'est pas reconnu sur le 1941. Dans ce cas, active le service NTP de SRV-01 (onglet Services → NTP, On), fais de R1 un client avec ntp server 172.16.50.10, et garde R1 comme source des autres équipements ; si les clients restent non synchronisés, fais-les pointer directement sur ntp server 172.16.50.10. Sur le 1941 du labo, ntp master fonctionne : note l'écart dans ton dossier.

4 SNMP en lecture seule partout

Cisco IOS R1à refaire sur R2, R3, SW1, SW2, SW3
R1(config)# access-list 10 permit host 172.16.99.20
R1(config)# snmp-server community BL-Supervision RO 10 ! si refusé : snmp-server community BL-Supervision ro
R1(config)# snmp-server location Siege
R1(config)# snmp-server contact support@broceliande.lan
R1(config)# no snmp-server community public ! au cas où elle existerait
R1# copy running-config startup-config

SW3 n'a peut-être pas encore d'adresse de gestion : donne-lui interface vlan 60, ip address 172.16.60.250 255.255.255.0 et ip default-gateway 172.16.60.254, sinon il ne peut ni recevoir l'heure ni répondre en SNMP.

Complète la configuration de SW2 : client NTP de R1, puis SNMP en lecture seule réservé à PC-ADMIN. Vérifie chaque ligne avec ✓.

SW2(config)#
SW2(config)#
SW2(config)#

5 Interroger les équipements depuis PC-ADMIN

Sur PC-ADMIN, ouvre Desktop → MIB Browser, puis Advanced : Address 172.16.99.252, Port 161, Read Community BL-Supervision, SNMP Version v2. Dans l'arbre, déplie MIB Tree → router_std → .iso.org.dod.internet.mgmt.mib-2.system, sélectionne sysName, choisis l'opération GET et clique sur GO : le nom de R1 s'affiche. Essaie ensuite un Walk sur system, puis une communauté fausse : plus aucune réponse.

Enregistre la maquette : la partie Packet Tracer de l'étape 15 est terminée. La supervision réelle se fait maintenant au labo.

6 Au labo : installer le serveur Zabbix sur Debian 13

Le TP se fait sur les VM de ton pool Proxmox (Mes serveurs et VM). Dans les commandes, remplace IP-DEBIAN et IP-WINDOWS par les adresses de tes VM.

VMRôle dans le TPCe que tu installes
Debian 13SRV-SUP, serveur de supervisionZabbix 7.0 LTS (serveur, interface web Apache, agent 2), MariaDB
Windows Server 2025Serveur superviséZabbix Agent 2
TON POOL PROXMOX Debian 13 · SRV-SUP zabbix-server · Apache · PHPMariaDB (base zabbix)http://IP-DEBIAN/zabbixagent 2 local Windows Server 2025 Zabbix Agent 2Server = IP-DEBIANpare-feu : TCP 10050depuis IP-DEBIAN seulement TCP 10050 valeurs mesurées
Deux VM suffisent : le serveur Zabbix sur Debian, l'agent sur Windows Server.
Debian 13 dépôt Zabbix 7.0 et paquetsen root
root@srv-sup:~# wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian13_all.deb
root@srv-sup:~# dpkg -i zabbix-release_latest_7.0+debian13_all.deb
root@srv-sup:~# apt update
root@srv-sup:~# apt install mariadb-server zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2
Debian 13 base de donnéesmysql, en root
root@srv-sup:~# mysql
MariaDB [(none)]> CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
MariaDB [(none)]> CREATE USER zabbix@localhost IDENTIFIED BY 'MotDePasseBDD';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
MariaDB [(none)]> SET GLOBAL log_bin_trust_function_creators = 1;
MariaDB [(none)]> quit
root@srv-sup:~# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix # une à deux minutes
root@srv-sup:~# mysql -e "SET GLOBAL log_bin_trust_function_creators = 0;"
Debian 13 configuration et démarrage
root@srv-sup:~# nano /etc/zabbix/zabbix_server.conf # décommente et renseigne : DBPassword=MotDePasseBDD
root@srv-sup:~# dpkg-reconfigure locales # coche fr_FR.UTF-8 pour l'interface en français
root@srv-sup:~# systemctl restart zabbix-server zabbix-agent2 apache2
root@srv-sup:~# systemctl enable zabbix-server zabbix-agent2 apache2
root@srv-sup:~# tail /var/log/zabbix/zabbix_server.log

Ouvre http://IP-DEBIAN/zabbix depuis ta VM Windows 11 : l'assistant vérifie les prérequis, demande la connexion à la base (MySQL, localhost, base et utilisateur zabbix, ton mot de passe), le nom du serveur (SRV-SUP) et le fuseau Europe/Paris. Connecte-toi avec Admin / zabbix et change ce mot de passe immédiatement (Utilisateurs → Utilisateurs → Admin).

7 Au labo : l'agent 2 sur Windows Server 2025

Sur la VM Windows Server, télécharge depuis le site de Zabbix (Download → Zabbix agents) le paquet Windows, amd64, 7.0 LTS, OpenSSL, MSI de l'agent 2. Pendant l'installation, renseigne Host name SRV-WIN, Zabbix server IP/DNS = IP-DEBIAN, Agent listen port 10050 et Server or Proxy for active checks = IP-DEBIAN. Ces valeurs vont dans C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf.

PowerShell en administrateur
PS C:\> New-NetFirewallRule -DisplayName "Zabbix Agent 2" -Direction Inbound -Protocol TCP -LocalPort 10050 -RemoteAddress IP-DEBIAN -Action Allow
PS C:\> Get-Service "Zabbix Agent 2"
PS C:\> w32tm /query /status # l'heure doit être juste, sinon les courbes sont décalées

Depuis Debian, vérifie que le port répond : apt install netcat-openbsd puis nc -zv IP-WINDOWS 10050 doit afficher succeeded.

8 Au labo : déclarer l'hôte et recevoir une alerte

  • Hôte : Collecte de données → Hôtes → Créer un hôte. Nom SRV-WIN (identique à Hostname=), modèle Windows by Zabbix agent, nouveau groupe Broceliande, interface Agent avec IP-WINDOWS et le port 10050.
  • Données : après une à deux minutes, l'icône ZBX passe au vert ; Surveillance → Dernières données affiche processeur, mémoire et disque C:.
  • Alerte : dans Alertes → Types de média, configure Email avec le serveur SMTP du labo si ton professeur en fournit un ; ajoute ton adresse dans le média de l'utilisateur Admin ; active l'action Report problems to Zabbix administrators (Alertes → Actions → Actions de déclencheur).
  • Provoquer une panne : arrête le service « Zabbix Agent 2 » sur Windows. Après quelques minutes, le problème « Zabbix agent is not available » apparaît dans Surveillance → Problèmes. Acquitte-le avec un commentaire, redémarre le service : il passe à « Résolu ».
  • Pour aller au bout si un commutateur du labo est joignable : ajoute-le en SNMP v2c (interface SNMP, macro {$SNMP_COMMUNITY}) avec le modèle SNMP de sa marque.

9 Valider l'étape : le cahier de recette

N°TestCommandeRésultat attenduOK
1R1 est source de l'heureshow ntp status sur R1Synchronisé, strate 4 (ou client de SRV-01 si ntp master est refusé)
2Les clients ont la même heureshow ntp status et show clock sur SW1, SW2, R2, R3Clock is synchronized, même heure que R1
3PC-ADMIN joint la gestion et Rennesping 172.16.99.11 puis ping 10.0.0.2 depuis PC-ADMINRéponses
4SNMP répond à PC-ADMINMIB Browser : GET sysName sur R1, SW1 et R2Le nom de chaque équipement s'affiche
5SNMP est protégéMIB Browser avec la communauté publicAucune réponse (délai dépassé)
6Zabbix fonctionne (labo)http://IP-DEBIAN/zabbixConnexion avec le nouveau mot de passe ; l'hôte Zabbix server est vert
7Windows est supervisé (labo)Surveillance → Dernières données, hôte SRV-WINValeurs de processeur, mémoire et disque C: récentes
8L'alerte fonctionne (labo)Arrêt puis redémarrage du service de l'agentProblème ouvert, acquitté, puis résolu ; notification visible dans Rapports → Journal des actions
Suis ta progressionConnecte-toi pour marquer les ressources comme terminées et retrouver ton avancement.
Se connecter