TP 6 — Supervision SNMP avec Zabbix (Concordia + Proxy Inmarsat)
Auteur : Thibaut Fontaine — Kodetis Institution : Université de la Réunion Date : 2026
Table des matières
Section intitulée « Table des matières »- Objectifs et contexte
- Glossaire SNMP express
- Section 0 — Setup du lab (10 min)
- Section 1 — SNMP basics en CLI (30 min)
- Section 2 — Compteur ≠ débit (25 min)
- Section 3 — MIBs vendor : l’onduleur APC (20 min)
- Section 4 — Connecter Zabbix au switch (20 min)
- Section 5 — Le pattern Proxy ⭐ (30 min)
- Section 6 — OIDs custom : le modem Inmarsat (25 min)
- Section 7 — Alerte Discord (15 min)
- Synthèse finale (2 pts)
- Livrables & validation
1. Objectifs et contexte
Section intitulée « 1. Objectifs et contexte »📡 Poste SOC · La Réunion — Acte 1, Voir : tu superviser Concordia (Dôme C, Antarctique intérieur), à ~13 000 km. Liaison Inmarsat BGAN — 492 kbps shared, latence 1.3 s, fenêtres de disponibilité variables.
🎯 Objectif métier — Tu connais Prometheus pour les containers. Mais une infra TAAF, c’est aussi des switches, des onduleurs, des modems satellite, des capteurs. Pour ces équipements, Zabbix + SNMP est l’outil de référence à La Réunion (et dans toute l’industrie). Tu vas apprendre à les manipuler depuis la base.
🔴 Au fil de l’enquête
Section intitulée « 🔴 Au fil de l’enquête »Le jour J, l’attaquant downgrade le KEM SATCOM (TP Module 2 PQC). Mais avant ça : la station Concordia tourne en autonomie 8 mois sur 12 derrière un lien Inmarsat à 492 kbps. Si tu installes un Zabbix Agent par équipement, l’uplink sature. Solution : un Zabbix Proxy local qui collecte les SNMP à Concordia, bufferise quand le SATCOM coupe, et synchronise vers le Server au PC Réunion quand le lien remonte.
Ce que tu vas apprendre concrètement
Section intitulée « Ce que tu vas apprendre concrètement »- SNMP en CLI :
snmpget,snmpwalk,snmptranslate, OIDs, MIBs, types Counter32/Gauge32/TimeTicks - Compteurs réseau : pourquoi un Counter32 n’est pas un débit, et comment Zabbix calcule des bps
- MIBs vendor : différence MIB standard (RFC) vs MIB constructeur (APC, Cobham)
- Zabbix host + template : connecter, importer, voir tomber les données
- Pattern Server/Proxy : architecture distribuée pour lien contraint
- Items custom + triggers : écrire ses propres items quand le template n’existe pas
Architecture du TP
Section intitulée « Architecture du TP »graph LR subgraph "PC La Réunion (VM monitoring)" ZS[Zabbix Server
+ Frontend :8080] PG[(Postgres)] end subgraph "Concordia, Antarctique (VM concordia)" ZP[Zabbix Proxy
buffer SQLite] SIM[snmpsim
4 devices simulés] SCADA[Console Lab
SCADA :3001] end subgraph "Devices SNMP simulés" SW[Switch Cisco IE-2000] UPS[Onduleur APC] SEN[Sonde NetBotz] MOD[Modem Inmarsat] end ZS <-->|poll passif TLS| ZP ZS --- PG ZP -->|SNMP poll| SIM SIM --- SW SIM --- UPS SIM --- SEN SIM --- MOD SCADA -.->|écrit snmprec| SIM classDef reunion fill:#ffcc99,stroke:#333,stroke-width:2px classDef concordia fill:#99ccff,stroke:#333,stroke-width:2px classDef device fill:#99ff99,stroke:#333,stroke-width:2px class ZS,PG reunion class ZP,SIM,SCADA concordia class SW,UPS,SEN,MOD device
2. Glossaire SNMP express
Section intitulée « 2. Glossaire SNMP express »Avant de plonger, 8 termes à connaître. Réfère-toi à cette liste quand un mot ne te parle pas.
| Terme | Définition simple |
|---|---|
| SNMP | Simple Network Management Protocol — protocole pour interroger des équipements réseau et infra physique |
| OID | Object IDentifier — adresse hiérarchique d’une valeur dans la MIB (ex: 1.3.6.1.2.1.1.5.0) |
| MIB | Management Information Base — catalogue qui donne un nom humain à un OID (ex: sysName.0) |
| community | Mot de passe SNMP v2c (ex: public, switch-concordia). Choisit aussi quel “device” est interrogé dans notre lab |
| agent | Le programme qui répond aux requêtes SNMP sur l’équipement (notre snmpsim simule N agents) |
| manager | Le programme qui interroge (Zabbix Server/Proxy ici, ou ton snmpget CLI) |
| poll | Une interrogation périodique : le manager demande une valeur à l’agent |
| trap | Notification spontanée envoyée par l’agent au manager (alarme) |
3. Section 0 — Setup du lab (10 min)
Section intitulée « 3. Section 0 — Setup du lab (10 min) »3.1 — Ajouter la VM concordia au Vagrantfile
Section intitulée « 3.1 — Ajouter la VM concordia au Vagrantfile »Sur ton hôte (poste étudiant), dans le repo server que tu utilises depuis l’Acte 0 :
cd ~/server/manualOuvre le Vagrantfile et ajoute le bloc fourni dans Vagrantfile.concordia.snippet du repo zabbix-lab. Le bloc complet est aussi disponible ici.
Tu colles juste avant la dernière ligne end du fichier (le end du Vagrant.configure).
3.2 — Démarrer la VM concordia
Section intitulée « 3.2 — Démarrer la VM concordia »vagrant up concordiaPremier démarrage : ~3-5 minutes (téléchargement de la box Ubuntu + provisioning Docker + outils SNMP).
3.3 — Démarrer le Zabbix Server sur monitoring
Section intitulée « 3.3 — Démarrer le Zabbix Server sur monitoring »vagrant ssh monitoring
# Sur la VM monitoring :git clone https://gitlab.com/kds-formation/zabbix-lab.gitcd zabbix-lab/zabbix-server-labdocker compose up -dAttends ~30 secondes. Vérifie :
docker compose ps# Tu dois voir 3 services en "running" :# - zabbix-postgres# - zabbix-server# - zabbix-frontend3.4 — Démarrer le Proxy + snmpsim + console sur concordia
Section intitulée « 3.4 — Démarrer le Proxy + snmpsim + console sur concordia »exit # Quitter monitoring
vagrant ssh concordia
# Sur la VM concordia :git clone https://gitlab.com/kds-formation/zabbix-lab.gitcd zabbix-lab/zabbix-proxy-labmake upÀ la fin, tu dois voir :
✅ Lab démarré. Ouvre : 🌐 http://localhost:8080 (Zabbix — Admin / zabbix) 🖥️ http://localhost:3001 (Console Lab SCADA)3.5 — Checkpoint
Section intitulée « 3.5 — Checkpoint »📸 Capture obligatoire #1 : ouvre les 2 URLs dans 2 onglets de ton navigateur. Tu dois voir :
- L’écran de connexion Zabbix (port 8080) — connecte-toi avec
Admin/zabbix - La console SCADA verte phosphore (port 3001) avec 8 devices listés (4 Concordia + 4 DDU)
🎉 Bravo, le lab tourne. On peut attaquer SNMP.
4. Section 1 — SNMP basics en CLI (30 min)
Section intitulée « 4. Section 1 — SNMP basics en CLI (30 min) »Tu vas maîtriser SNMP en 30 minutes sans toucher Zabbix. C’est la base. Quand tu rejoindras Zabbix après, tu sauras ce qu’il fait pour toi.
4.1 — Première requête : sysName
Section intitulée « 4.1 — Première requête : sysName »Sur la VM concordia, dans n’importe quel terminal :
snmpget -v2c -c switch-concordia localhost:1161 SNMPv2-MIB::sysName.0Sortie attendue :
SNMPv2-MIB::sysName.0 = STRING: TAAF-CDA-SW-01.univ-taaf.internalDécodage de la commande :
snmpget= on demande une valeur précise-v2c= version SNMP 2c (la version 2 sans security, suffisante en TP — la v3 avec auth/chiffrement c’est pour la prod)-c switch-concordia= la community (mot de passe v2c)localhost:1161= adresse du snmpsim (port forwardé Vagrant)SNMPv2-MIB::sysName.0= le nom humain d’un OID (lisible)
4.2 — Le même appel avec l’OID numérique
Section intitulée « 4.2 — Le même appel avec l’OID numérique »snmpget -v2c -c switch-concordia localhost:1161 1.3.6.1.2.1.1.5.0Même résultat. Pourquoi ? Parce que SNMPv2-MIB::sysName.0 ↔ 1.3.6.1.2.1.1.5.0 désignent la même chose. La MIB est juste un dictionnaire de traduction.
4.3 — Combien de temps tourne ce switch ?
Section intitulée « 4.3 — Combien de temps tourne ce switch ? »snmpget -v2c -c switch-concordia localhost:1161 SNMPv2-MIB::sysUpTime.0Sortie :
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1234567890) 142 days, 19:14:38.90Le format Timeticks = centièmes de secondes depuis le boot. Conversion :
1234567890 / 100 / 86400 ≈ 142 jours (cohérent avec la sortie texte)4.4 — Walk : explorer toute une branche
Section intitulée « 4.4 — Walk : explorer toute une branche »snmpwalk -v2c -c switch-concordia localhost:1161 SNMPv2-MIB::systemTu obtiens toutes les valeurs sous le node system :
SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, IE-2000 Series, Version 15.2(7)E5...SNMPv2-MIB::sysObjectID.0 = OID: ...SNMPv2-MIB::sysUpTime.0 = Timeticks: ...SNMPv2-MIB::sysContact.0 = STRING: sysadmin@univ-taaf.internalSNMPv2-MIB::sysName.0 = STRING: TAAF-CDA-SW-01.univ-taaf.internalSNMPv2-MIB::sysLocation.0 = STRING: Concordia · Local IT room...SNMPv2-MIB::sysServices.0 = INTEGER: 78→ Voilà pourquoi walk est puissant : tu découvres ce qu’un device expose.
4.5 — Walker la table des interfaces
Section intitulée « 4.5 — Walker la table des interfaces »snmpwalk -v2c -c switch-concordia localhost:1161 IF-MIB::ifDescrSortie :
IF-MIB::ifDescr.1 = STRING: GigabitEthernet0/0 — Uplink InmarsatIF-MIB::ifDescr.2 = STRING: GigabitEthernet0/1 — LAN salle serveurIF-MIB::ifDescr.3 = STRING: GigabitEthernet0/2 — LAN labo scienceIF-MIB::ifDescr.4 = STRING: GigabitEthernet0/3 — LAN admin→ 4 interfaces. Note bien l’index (1, 2, 3, 4) — il sera réutilisé pour toutes les colonnes de la table.
4.6 — Livrable 1 : ton fichier de requêtes
Section intitulée « 4.6 — Livrable 1 : ton fichier de requêtes »Crée un fichier requetes-switch.md sur ta VM concordia. Documente ces 5 requêtes en CLI avec leur sortie :
| # | Question métier | Commande snmpget |
|---|---|---|
| 1 | Hostname du switch | snmpget -v2c -c switch-concordia localhost:1161 SNMPv2-MIB::sysName.0 |
| 2 | Localisation physique | snmpget -v2c -c switch-concordia localhost:1161 SNMPv2-MIB::sysLocation.0 |
| 3 | Description du modèle | snmpget -v2c -c switch-concordia localhost:1161 SNMPv2-MIB::sysDescr.0 |
| 4 | Statut opérationnel de l’interface 2 (LAN salle serveur) | snmpget -v2c -c switch-concordia localhost:1161 IF-MIB::ifOperStatus.2 |
| 5 | Compteur d’octets reçus sur l’interface 1 (Uplink Inmarsat) | snmpget -v2c -c switch-concordia localhost:1161 IF-MIB::ifInOctets.1 |
Pour la #4, traduis le résultat (INTEGER: 1) à l’humain : 1 = up, 2 = down, 3 = testing. Voir RFC 2863.
🎉 Tu sais maintenant SNMP en CLI. Sysname, syswalk, types, traduction MIB. C’est le métier de base d’un admin réseau.
5. Section 2 — Compteur ≠ débit (25 min)
Section intitulée « 5. Section 2 — Compteur ≠ débit (25 min) »Voici un piège classique. Le device te donne un nombre d’octets cumulé depuis le boot, pas un débit. Tu vas calculer un débit à la main.
5.1 — Lire le compteur 2 fois
Section intitulée « 5.1 — Lire le compteur 2 fois »snmpget -v2c -c switch-concordia localhost:1161 IF-MIB::ifInOctets.1# Note la valeur, ex: IF-MIB::ifInOctets.1 = Counter32: 42351827
# Attends 10 secondessleep 10
snmpget -v2c -c switch-concordia localhost:1161 IF-MIB::ifInOctets.1# Nouvelle valeur, ex: IF-MIB::ifInOctets.1 = Counter32: 423703275.2 — Calculer le débit en bps
Section intitulée « 5.2 — Calculer le débit en bps »delta_octets = 42370327 - 42351827 = 18 500 octetsdelta_temps = 10 secondesdébit_octets/s = 18500 / 10 = 1850 oct/sdébit_bits/s = 1850 × 8 = 14 800 bps ≈ 14.8 kbps→ C’est exactement ce que Zabbix calcule pour toi en arrière-plan quand tu mets une preprocessing rule “Change per second” sur un Counter32.
5.3 — Wraparound (le piège du Counter32)
Section intitulée « 5.3 — Wraparound (le piège du Counter32) »Que se passe-t-il si le compteur dépasse 2^32 - 1 = 4 294 967 295 (~4.3 Go) ?
→ Il rebound à 0. Sur un lien Gigabit ça arrive en ~35 secondes ! Pour ça, IF-MIB définit aussi ifHCInOctets en Counter64 (rebound impossible en pratique : ~50 ans à 1 Tbps).
snmpget -v2c -c switch-concordia localhost:1161 IF-MIB::ifHCInOctets.1→ Zabbix utilise toujours Counter64 quand disponible. Bon à savoir.
5.4 — Livrable 2 : calcul de débit
Section intitulée « 5.4 — Livrable 2 : calcul de débit »Refait l’expérience sur l’interface 3 (LAN labo science) avec un intervalle de 30 secondes. Documente :
- Valeur t0
- Valeur t1
- Delta
- Débit en bps et en kbps
- Conversion en Mbit/s
🎉 Tu sais maintenant ce que Zabbix calcule. Tu pourras lire ses graphs sans confusion.
6. Section 3 — MIBs vendor : l’onduleur APC (20 min)
Section intitulée « 6. Section 3 — MIBs vendor : l’onduleur APC (20 min) »Le switch utilisait la MIB standard MIB-II. Maintenant on attaque une MIB vendor : APC PowerNet.
6.1 — D’abord, l’arbre OID
Section intitulée « 6.1 — D’abord, l’arbre OID »L’OID 1.3.6.1.4.1.318 appartient à APC (American Power Conversion). Vérifie :
snmptranslate -Of .1.3.6.1.4.1.318# Output: APC.318 ou SNMPv2-SMI::enterprises.318enterprises.318 veut dire : « nœud privé enterprise n°318 chez l’IANA = APC ». Chaque constructeur a son propre sous-arbre.
6.2 — Explorer l’UPS
Section intitulée « 6.2 — Explorer l’UPS »snmpwalk -v2c -c ups-concordia localhost:1161 .1.3.6.1.4.1.318.1.1.1Tu obtiens toutes les valeurs PowerNet. Beaucoup. Trions les 5 plus intéressantes.
6.3 — Les 5 OIDs clé d’un UPS APC (livrable 3)
Section intitulée « 6.3 — Les 5 OIDs clé d’un UPS APC (livrable 3) »Voici le tableau à reproduire dans un fichier ups-oids.md. Va chercher chaque valeur en CLI et complète :
| OID PowerNet | Nom humain | Valeur courante | Sens métier |
|---|---|---|---|
1.3.6.1.4.1.318.1.1.1.2.1.1.0 | upsBasicBatteryStatus | ? | 1=unknown, 2=normal, 3=batteryLow |
1.3.6.1.4.1.318.1.1.1.2.2.1.0 | upsAdvBatteryCapacity | ? | Pourcentage de batterie (0-100) |
1.3.6.1.4.1.318.1.1.1.2.2.3.0 | upsAdvBatteryRunTimeRemaining | ? | Temps restant (Timeticks) |
1.3.6.1.4.1.318.1.1.1.4.1.1.0 | upsBasicOutputStatus | ? | 2=onLine, 3=onBattery, … |
1.3.6.1.4.1.318.1.1.1.4.2.3.0 | upsAdvOutputLoad | ? | Charge sortie (%) |
Pour chacun, fais :
snmpget -v2c -c ups-concordia localhost:1161 <OID>6.4 — Tester un scénario de coupure
Section intitulée « 6.4 — Tester un scénario de coupure »Maintenant déclenche une coupure secteur avec le Makefile :
make power-outRefait les 5 requêtes. Tu dois voir :
upsBasicBatteryStatuspasse de2à3(batteryLow)upsAdvBatteryCapacitypasse de100à62upsBasicOutputStatuspasse de2(onLine) à3(onBattery)- etc.
→ La MIB modélise les états réels d’un onduleur. Quand tu écriras des triggers Zabbix dessus, tu sauras exactement quoi tester.
Restaure pour la suite :
make power-on🎉 Tu sais maintenant lire une MIB constructeur. APC, Cisco, Schneider — c’est le même principe partout.
7. Section 4 — Connecter Zabbix au switch (20 min)
Section intitulée « 7. Section 4 — Connecter Zabbix au switch (20 min) »Maintenant tu sais ce que SNMP fait à la base. On le met dans Zabbix qui va historiser, alerter, graphiquer.
7.1 — Récupérer l’IP de concordia (pour le Server)
Section intitulée « 7.1 — Récupérer l’IP de concordia (pour le Server) »Le Zabbix Server (sur VM monitoring) doit pouvoir joindre snmpsim (sur VM concordia). Récupère l’IP privée de concordia :
# Sur la VM concordiahostname -I# Sortie : 10.0.2.15 10.42.x.y# Garde la 2e (réseau privé Vagrant)Note cette IP — appelons-la IP_CONCORDIA.
7.2 — Configurer le Proxy dans Zabbix UI
Section intitulée « 7.2 — Configurer le Proxy dans Zabbix UI »Va sur http://localhost:8080 → Admin / zabbix.
- Administration → Proxies → Create proxy
- Remplis :
- Proxy name :
Proxy-Concordia - Proxy mode : Passive
- Interface → IP address :
IP_CONCORDIA - Port :
10061
- Proxy name :
- Add
📸 Capture obligatoire #2 : page Proxies avec Proxy-Concordia en “Online”.
Attends ~30 secondes que le statut passe à Online (point vert).
7.3 — Créer le host “switch-concordia”
Section intitulée « 7.3 — Créer le host “switch-concordia” »- Configuration → Hosts → Create host
- Remplis :
- Host name :
switch-concordia - Templates : tape
Cisco IOS SNMPet choisis le template (livré avec Zabbix 7.0) - Groups :
Templates(ou créeTAAF) - Interfaces → Add → SNMP :
- IP :
IP_CONCORDIA - Port :
1161 - SNMP version :
SNMPv2 - SNMP community :
switch-concordia
- IP :
- Monitored by Proxy :
Proxy-Concordia
- Host name :
- Add
7.4 — Vérifier que les données tombent
Section intitulée « 7.4 — Vérifier que les données tombent »Va dans Monitoring → Hosts → clique sur switch-concordia → Latest data.
Attends ~1-2 minutes. Tu dois voir des items se peupler :
System name:TAAF-CDA-SW-01.univ-taaf.internal(familier non ? c’est lesysName.0que tu avais en CLI)System uptimeSystem contact- Etc.
📸 Capture obligatoire #3 : Latest data du host switch-concordia avec ≥ 5 items historisés.
7.5 — Comprendre ce que Zabbix fait pour toi
Section intitulée « 7.5 — Comprendre ce que Zabbix fait pour toi »| Tu en CLI | Zabbix en autonomie |
|---|---|
Tu tapes snmpget ... sysName.0 à chaque fois | Zabbix poll automatiquement toutes les 60 secondes |
| Tu vois UNE valeur à un instant T | Zabbix historise → tu vois l’historique sous forme de graph |
| Si la valeur change, tu rates l’événement | Zabbix peut déclencher un trigger + alerte |
| Tu fais ça pour 1 device | Zabbix scale à des centaines |
→ Zabbix = snmpget + cron + DB + UI + triggers. Tu vois la valeur ajoutée.
🎉 Tu as branché ton premier host Zabbix. Le switch est supervisé en autonomie.
8. Section 5 — Le pattern Proxy ⭐ (30 min)
Section intitulée « 8. Section 5 — Le pattern Proxy ⭐ (30 min) »Le moment fort du TP. Pourquoi un Proxy ? Tu vas le démontrer en coupant le SATCOM.
8.1 — Ajouter UPS et sonde sur le Proxy (rapide)
Section intitulée « 8.1 — Ajouter UPS et sonde sur le Proxy (rapide) »Pour avoir plus de données dans le buffer, ajoute 2 autres hosts (même méthode que le switch) :
| Host name | Community | Template |
|---|---|---|
ups-concordia | ups-concordia | APC SmartUPS SNMP |
sensor-concordia | sensor-concordia | (on créera des items custom plus tard — laisse vide pour l’instant) |
Vérifie qu’ils sont monitored by Proxy Proxy-Concordia.
8.2 — Provoquer une “panne SATCOM”
Section intitulée « 8.2 — Provoquer une “panne SATCOM” »Sur la VM concordia :
# Soit en CLI :make satcom-down
# Soit dans la console SCADA :# → ouvre http://localhost:3001# → clique "Couper SATCOM" sur le panneau Modem InmarsatCette commande stoppe le container Zabbix Proxy. Le Server à Réunion ne reçoit plus rien.
8.3 — Observer le buffer monter
Section intitulée « 8.3 — Observer le buffer monter »Le Proxy avant qu’il ne s’éteigne avait collecté des données qu’il avait bufferisées localement (SQLite). Quand le SATCOM redescend, il les “rattrape”.
Vérifie l’état du Proxy côté Server :
- Zabbix UI → Administration → Proxies
Proxy-Concordiaest passéOffline(rouge)- Le Server affiche depuis quand il n’a pas reçu de heartbeat
8.4 — Restaurer et observer le catch-up
Section intitulée « 8.4 — Restaurer et observer le catch-up »Attends 2-3 minutes que le buffer s’accumule.
# Restaurer SATCOMmake satcom-up(Cette commande relance le Zabbix Proxy.)
Retourne sur Zabbix UI → Monitoring → Hosts → switch-concordia → Graphs. Tu vois :
- Un trou dans la courbe (pendant la panne)
- Un rattrapage quand le Proxy ré-envoie son buffer
📸 Capture obligatoire #4 : un graph Zabbix montrant le “trou + catch-up”.
8.5 — Comprendre la valeur du pattern Proxy
Section intitulée « 8.5 — Comprendre la valeur du pattern Proxy »| Sans Proxy | Avec Proxy |
|---|---|
| Si SATCOM tombe → données perdues | Données bufferisées localement, rejouées au retour |
| Bande passante WAN consommée à chaque poll | WAN seulement pour la sync (compressé, transactionnel) |
| Le Server poll en direct chaque agent | Le Server poll un seul point (le Proxy) |
| 1 SATCOM = 1 panne supervision | Le Proxy continue à collecter même offline |
→ C’est précisément pourquoi Zabbix domine sur les architectures distribuées. Plus pratique qu’un cluster Prometheus dans ce cas.
🎉 Tu viens de démontrer le pattern Proxy avec tes mains. C’est un savoir-faire valorisable.
9. Section 6 — OIDs custom : le modem Inmarsat (25 min)
Section intitulée « 9. Section 6 — OIDs custom : le modem Inmarsat (25 min) »Pas de template Zabbix prêt pour ton modem Cobham SAILOR. Tu écris tes items à la main.
9.1 — D’abord, explorer le modem en CLI
Section intitulée « 9.1 — D’abord, explorer le modem en CLI »snmpwalk -v2c -c modem-inmarsat localhost:1161 .1.3.6.1.4.1.20712.2.1Tu vois apparaître tout l’arbre custom Cobham. Repère :
SNMPv2-SMI::enterprises.20712.2.1.1.2.0 = INTEGER: -87SNMPv2-SMI::enterprises.20712.2.1.1.3.0 = INTEGER: 62SNMPv2-SMI::enterprises.20712.2.1.1.6.0 = INTEGER: 236SNMPv2-SMI::enterprises.20712.2.1.2.3.0 = INTEGER: 1342D’après la doc Cobham (ou ce qu’on t’a fourni) :
| OID | Sens | Unité |
|---|---|---|
.1.3.6.1.4.1.20712.2.1.1.2.0 | Signal RSSI | dBm |
.1.3.6.1.4.1.20712.2.1.1.3.0 | Signal quality | 0-100 |
.1.3.6.1.4.1.20712.2.1.1.6.0 | Throughput downlink | kbps |
.1.3.6.1.4.1.20712.2.1.2.3.0 | RTT | ms |
.1.3.6.1.4.1.20712.2.1.2.4.0 | Packet loss | % |
9.2 — Créer le host dans Zabbix
Section intitulée « 9.2 — Créer le host dans Zabbix »- Configuration → Hosts → Create host
- Host name :
modem-inmarsat-concordia - Interfaces → SNMP : IP
IP_CONCORDIA, port1161, communitymodem-inmarsat - Pas de template (on crée les items à la main)
- Add
9.3 — Créer 4 items manuels
Section intitulée « 9.3 — Créer 4 items manuels »Sur le host nouvellement créé → Items → Create item :
Item 1 : RSSI
- Name :
Inmarsat RSSI - Type :
SNMP agent - Key :
inmarsat.rssi - SNMP OID :
.1.3.6.1.4.1.20712.2.1.1.2.0 - Type of information :
Numeric (integer) - Units :
dBm - Update interval :
60s
Item 2 : RTT
- Name :
Inmarsat RTT - Key :
inmarsat.rtt - SNMP OID :
.1.3.6.1.4.1.20712.2.1.2.3.0 - Units :
ms
Item 3 : Throughput downlink
- Name :
Inmarsat throughput downlink - Key :
inmarsat.throughput.down - SNMP OID :
.1.3.6.1.4.1.20712.2.1.1.6.0 - Units :
kbps
Item 4 : Packet loss
- Name :
Inmarsat packet loss - Key :
inmarsat.loss - SNMP OID :
.1.3.6.1.4.1.20712.2.1.2.4.0 - Units :
%
9.4 — Tester
Section intitulée « 9.4 — Tester »Va dans Monitoring → Hosts → modem-inmarsat-concordia → Latest data.
Tu dois voir RSSI = -87 dBm, RTT = 1342 ms, etc.
Maintenant déclenche un signal dégradé :
make satcom-degradedAttends ~2 minutes. Refresh Latest data → RSSI = -115 dBm, throughput = 48 kbps, loss = 142%.
Restaure :
make satcom-up🎉 Tu sais maintenant écrire des items custom. Pour 90% des équipements industriels exotiques, c’est ce que tu feras.
10. Section 7 — Alerte Discord (15 min)
Section intitulée « 10. Section 7 — Alerte Discord (15 min) »Boucle de la chaîne. Item → Trigger → Action → Notification.
10.1 — Créer le trigger
Section intitulée « 10.1 — Créer le trigger »Sur le host modem-inmarsat-concordia → Triggers → Create trigger
- Name :
Inmarsat signal faible - Severity :
High - Problem expression :
last(/modem-inmarsat-concordia/inmarsat.rssi)<-100 - Recovery expression :
last(/modem-inmarsat-concordia/inmarsat.rssi)>=-90
10.2 — Tester le trigger
Section intitulée « 10.2 — Tester le trigger »make satcom-degradedAttends 2 min. Tu dois voir une alerte dans Monitoring → Problems :
Severity Problem Host Duration StatusHigh Inmarsat signal faible modem-inmarsat-concordia 2m PROBLEM10.3 — Router vers Discord (réutilise TP4 Alerting)
Section intitulée « 10.3 — Router vers Discord (réutilise TP4 Alerting) »Reprends le webhook Discord que tu as utilisé au TP4 Alerting :
- Administration → Media types → Create media type
- Type :
Webhook - Name :
Discord SOC - Parameters : ajoute
url=<ton webhook> - Code JavaScript du webhook : disponible dans
zabbix-discord-webhook.jsdu repo zabbix-lab
Puis crée une Action :
- Configuration → Actions → Trigger actions → Create action
- Conditions : trigger severity ≥ High
- Operations → Send message → User
Admin→ mediaDiscord SOC
Refait le test. La notif tombe dans Discord.
📸 Capture obligatoire #5 : message Discord avec l’alerte Zabbix.
🎉 Boucle de la chaîne fermée. Tu sais maintenant superviser un équipement obscur de bout en bout.
11. Synthèse finale (2 pts)
Section intitulée « 11. Synthèse finale (2 pts) »Tu as vu SNMP des deux côtés : le terrain (CLI) et la supervision industrielle (Zabbix). Avant de boucler, prends 10 minutes pour réfléchir à l’ensemble.
12. Livrables & validation
Section intitulée « 12. Livrables & validation »Comment ça se passe
Section intitulée « Comment ça se passe »Tu réponds aux questions au fur et à mesure que tu avances dans le TP. Chaque section a son bloc de questions, à la fin. Tu rassembles tes réponses dans un rapport unique (PDF) avec :
- Les 8 captures demandées dans le TP
- Tes réponses aux 10 questions d’évaluation, identifiées par leur numéro (1.1, 1.2, 1.3, 2.1, 3.1, 4.1, 5.1, 5.2, 6.1, 6.2, 7.1) + la question 8 de synthèse
- Pour les questions de manip (5 requêtes CLI, calcul de débit, 5 OIDs APC), inclus les commandes ET les sorties
- L’export de configuration Zabbix (Administration → Configuration export → tous les hosts)
Grille de notation (/ 20)
Section intitulée « Grille de notation (/ 20) »| Section TP | Questions | Points |
|---|---|---|
| §1 SNMP CLI fondamentaux | 1.1 + 1.2 + 1.3 | 3 pts |
| §2 Compteur ≠ débit | 2.1 | 2 pts |
| §3 MIB vendor APC | 3.1 | 2 pts |
| §4 Zabbix + switch | 4.1 | 2 pts |
| §5 Pattern Proxy ⭐ | 5.1 + 5.2 | 4 pts |
| §6 OIDs custom modem | 6.1 + 6.2 | 4 pts |
| §7 Alerte Discord | 7.1 | 1 pt |
| §11 Synthèse finale | 8 | 2 pts |
| Total | / 20 |
Format de rendu : PDF nom-prenom-promo.pdf sur Moodle.
Références
Section intitulée « Références »- Zabbix 7.0 Manual
- snmpsim documentation (lextudio)
- snmpsim-data — ~800 fichiers .snmprec publics
- RFC 1213 (MIB-II)
- RFC 2863 (Interface MIB)
- Repo
kds-formation/zabbix-lab
Prochaine étape : TP7 bonus — Supervision énergie polaire de Dumont d’Urville.