TP 7 — Bonus : Supervision énergie polaire de Dumont d'Urville (ICS/OT)
Auteur : Thibaut Fontaine — Kodetis Institution : Université de la Réunion Date : 2026 Pré-requis impératif : avoir validé le TP6 Concordia.
Table des matières
Section intitulée « Table des matières »- Objectifs et contexte
- Section 0 — Activer les devices DDU (5 min)
- Section 1 — Polling rapide vs lent (25 min)
- Section 2 — Explorer les MIBs industrielles (25 min)
- Section 3 — Scénario coupure diesel ⭐ (25 min)
- Synthèse finale (4 pts)
- Livrables & validation
1. Objectifs et contexte
Section intitulée « 1. Objectifs et contexte »📡 Poste SOC · La Réunion — Acte 1, bonus. Tu superviser maintenant Dumont d’Urville (Terre Adélie) — la station la plus isolée du réseau TAAF.
🎯 Objectif métier — DDU vit en autonomie énergétique : générateur diesel + parc solaire + batteries lithium. Une panne énergie = la station meurt en 72h. La supervision doit être fiable, rapide, et déclencher des alertes critiques en < 30 secondes.
🔴 Au fil de l’enquête
Section intitulée « 🔴 Au fil de l’enquête »DDU est traitée dans le fil rouge comme la station avancée (Acte 3). Mais pour qu’elle survive aux campagnes austral, il faut superviser son énergie au quotidien. Tu ajoutes 4 équipements industriels au Zabbix Proxy de Concordia (qui supervise aussi DDU dans ce lab pour simplifier).
Ce que tu vas apprendre
Section intitulée « Ce que tu vas apprendre »- Différence ICS/OT vs IT : équipement industriel = polling rapide, alarmes critiques, états binaires plus que graphes
- MIB DSE (Deep Sea Electronics) : contrôleur générateur diesel — référence du secteur énergie industrielle
- MIB SMA Sunny Boy : inverter photovoltaïque — équipement renouvelable typique
- MIB UPS générique RFC 1628 : MIB standard pour les BMS (vs MIB vendor du TP6 pour APC)
- Triggers à seuil critique : alerte en < 30s
Architecture du TP
Section intitulée « Architecture du TP »Tu réutilises la stack TP6 telle quelle. Les devices DDU sont déjà simulés dans le snmpsim qui tourne sur la VM concordia. Il te suffit d’ajouter 4 hosts dans Zabbix.
2. Section 0 — Activer les devices DDU (5 min)
Section intitulée « 2. Section 0 — Activer les devices DDU (5 min) »2.1 — Vérifier que la stack tourne
Section intitulée « 2.1 — Vérifier que la stack tourne »Reprends ta session de la VM concordia. La stack du TP6 doit toujours tourner :
cd ~/zabbix-lab/zabbix-proxy-labmake statusTu dois voir 3 containers running + les 4 devices Concordia + 4 devices DDU listés.
2.2 — Vérifier que les devices DDU répondent en CLI
Section intitulée « 2.2 — Vérifier que les devices DDU répondent en CLI »snmpget -v2c -c genset-ddu localhost:1161 SNMPv2-MIB::sysName.0# → TAAF-DDU-GEN-01.univ-taaf.internal
snmpget -v2c -c inverter-ddu localhost:1161 SNMPv2-MIB::sysName.0# → TAAF-DDU-INV-01.univ-taaf.internal
snmpget -v2c -c bms-ddu localhost:1161 SNMPv2-MIB::sysName.0# → TAAF-DDU-BMS-01.univ-taaf.internal
snmpget -v2c -c wattmeter-ddu localhost:1161 SNMPv2-MIB::sysName.0# → TAAF-DDU-PWR-01.univ-taaf.internalSi les 4 répondent → tu peux attaquer. Bonne nouvelle, tu n’as RIEN à installer en plus.
🎉 Setup express. L’avantage d’un Proxy qui peut superviser N devices.
3. Section 1 — Polling rapide vs lent (25 min)
Section intitulée « 3. Section 1 — Polling rapide vs lent (25 min) »En ICS/OT, chaque seconde compte. Un générateur qui s’éteint = 30 secondes pour basculer en secours sinon coupure. C’est différent du monitoring IT classique.
3.1 — Le générateur diesel : poll toutes les 10 secondes
Section intitulée « 3.1 — Le générateur diesel : poll toutes les 10 secondes »Crée le host genset-ddu-01 dans Zabbix UI :
- Configuration → Hosts → Create host
- Host name :
genset-ddu-01 - Interfaces → SNMP : IP
IP_CONCORDIA, port1161, communitygenset-ddu - Monitored by Proxy :
Proxy-Concordia - Add
Ajoute 5 items custom :
| Item | OID | Type | Unit | Update interval |
|---|---|---|---|---|
| Engine status | .1.3.6.1.4.1.39120.1.1.1.1.0 | int | — | 10s |
| Engine RPM | .1.3.6.1.4.1.39120.1.1.1.2.0 | int | rpm | 10s |
| Oil pressure | .1.3.6.1.4.1.39120.1.1.1.3.0 | int | kPa | 10s |
| Coolant temp | .1.3.6.1.4.1.39120.1.1.1.4.0 | int | °C | 30s |
| Fuel level | .1.3.6.1.4.1.39120.1.1.1.5.0 | int | % | 5min |
→ Note les intervalles différents :
- 10s pour les valeurs critiques (RPM, pression huile — si ça déraille, il faut savoir TOUT DE SUITE)
- 30s pour les valeurs moins urgentes
- 5min pour les valeurs qui évoluent lentement (niveau gasoil)
3.2 — L’inverter solaire : poll toutes les 60 secondes
Section intitulée « 3.2 — L’inverter solaire : poll toutes les 60 secondes »Crée le host inverter-ddu-01 (même méthode) avec :
| Item | OID | Update |
|---|---|---|
| Inverter state | .1.3.6.1.4.1.34571.2.1.1.1.0 | 60s |
| AC power output | .1.3.6.1.4.1.34571.2.1.1.2.0 | 60s |
| Heatsink temp | .1.3.6.1.4.1.34571.2.1.1.5.0 | 60s |
| Energy today | .1.3.6.1.4.1.34571.2.1.3.1.0 | 5min |
→ Pas besoin de poller à 10s : l’inverter ne change pas brutalement (sauf défaut massif), et l’énergie quotidienne est cumulative.
3.3 — Comparer dans Zabbix
Section intitulée « 3.3 — Comparer dans Zabbix »Va dans Monitoring → Latest data. Sélectionne tes 2 hosts. Tu vois les Engine RPM et Oil pressure se mettre à jour bien plus souvent que les valeurs de l’inverter.
📸 Capture obligatoire #1 : Latest data avec timestamps montrant les différents intervalles.
🎉 Tu as compris le poll adaptatif. C’est une compétence ICS/OT qui te distingue.
4. Section 2 — Explorer les MIBs industrielles (25 min)
Section intitulée « 4. Section 2 — Explorer les MIBs industrielles (25 min) »MIB vendor exotique. Tu vas devoir lire et comprendre des arbres OIDs jamais vus avant. C’est le quotidien d’un admin ICS.
4.1 — Walker le générateur Deep Sea
Section intitulée « 4.1 — Walker le générateur Deep Sea »snmpwalk -v2c -c genset-ddu localhost:1161 .1.3.6.1.4.1.39120Tu vois apparaître l’arbre complet de la DSE-MIB. Note ce qui revient :
.1.3.6.1.4.1.39120.1.1.1.* → Engine (moteur diesel).1.3.6.1.4.1.39120.1.1.2.* → Generator output (sortie électrique).1.3.6.1.4.1.39120.1.1.3.* → Runtime stats (heures de marche).1.3.6.1.4.1.39120.1.1.4.* → Alarms (alarmes critiques)→ La structure d’une MIB vendor te dit déjà ce que le device fait.
4.2 — Walker l’inverter SMA
Section intitulée « 4.2 — Walker l’inverter SMA »snmpwalk -v2c -c inverter-ddu localhost:1161 .1.3.6.1.4.1.34571.2Structure similaire :
.1.1.*→ DC side (entrée panneaux solaires).1.2.*→ AC side (sortie réseau).1.3.*→ Energy counters.1.4.*→ Faults
4.3 — Walker le BMS (MIB STANDARD, pas vendor)
Section intitulée « 4.3 — Walker le BMS (MIB STANDARD, pas vendor) »Différence importante :
snmpwalk -v2c -c bms-ddu localhost:1161 .1.3.6.1.2.1.33Le .1.3.6.1.2.1.33 est la branche UPS-MIB standard RFC 1628. C’est une MIB vendor-agnostique : n’importe quel constructeur de BMS qui parle cette MIB sera supervisable de la même façon.
→ Avantage : pas besoin d’apprendre 50 MIBs constructeur, 1 MIB standard couvre tout le monde. → Inconvénient : moins de richesse fonctionnelle qu’une MIB vendor (qui expose les particularités).
4.4 — Livrable : tableau comparatif des 4 MIBs
Section intitulée « 4.4 — Livrable : tableau comparatif des 4 MIBs »Dans un fichier mibs-comparison.md :
| Device | MIB type | Nœud enterprise | OID branche racine | Avantage |
|---|---|---|---|---|
| Switch Cisco IE-2000 | MIB-II standard + Cisco vendor | 9 (Cisco) | .1.3.6.1.2.1 + .1.3.6.1.4.1.9 | Standard MIB-II partout, Cisco enrichit |
| Onduleur APC | PowerNet vendor | 318 (APC) | .1.3.6.1.4.1.318 | Très riche fonctionnellement |
| Générateur Deep Sea | DSE-MIB vendor | 39120 (DSE) | .1.3.6.1.4.1.39120 | Exhaustif pour l’industriel |
| Inverter SMA | SMA vendor | 34571 (SMA) | .1.3.6.1.4.1.34571 | Détails PV spécifiques |
| BMS générique | UPS-MIB standard RFC 1628 | — | .1.3.6.1.2.1.33 | Vendor-agnostique |
🎉 Tu maîtrises l’arborescence SNMP. Tu sais où chercher dans n’importe quel équipement.
5. Section 3 — Scénario coupure diesel ⭐ (25 min)
Section intitulée « 5. Section 3 — Scénario coupure diesel ⭐ (25 min) »Le moment fort du TP. Tu démontres la valeur d’un monitoring ICS qui réagit en secondes.
5.1 — Créer un trigger critique sur le générateur
Section intitulée « 5.1 — Créer un trigger critique sur le générateur »Sur le host genset-ddu-01 → Triggers → Create trigger :
- Name :
DDU - Générateur diesel en défaut - Severity : Disaster (rouge sang)
- Problem expression :
last(/genset-ddu-01/engine.status)=4 - Recovery expression :
last(/genset-ddu-01/engine.status)<>4
État 4 = Failed to start dans la DSE-MIB.
5.2 — Provoquer la panne
Section intitulée « 5.2 — Provoquer la panne »Sur ta VM concordia :
# CLI :make genset-fail
# OU console SCADA → bouton "GÉNÉRATEUR DDU → FAULT"5.3 — Observer la chaîne réagir
Section intitulée « 5.3 — Observer la chaîne réagir »Attends 15-30 secondes (poll à 10s + traitement Zabbix).
Va sur Monitoring → Problems. Tu dois voir :
Severity Problem Host Duration StatusDISASTER DDU - Générateur diesel en défaut genset-ddu-01 30s PROBLEM📸 Capture obligatoire #2 : page Problems avec l’alerte Disaster qui clignote.
5.4 — Pendant ce temps, les conséquences en cascade
Section intitulée « 5.4 — Pendant ce temps, les conséquences en cascade »Le générateur est tombé. Que se passe-t-il sur les autres équipements ? Va voir le BMS :
snmpget -v2c -c bms-ddu localhost:1161 1.3.6.1.2.1.33.1.2.3.0# → INTEGER: 92 (% charge batterie)Le BMS continue à compenser. Si tu laisses tourner longtemps avec genset-fail actif, la batterie descend.
5.5 — Restaurer
Section intitulée « 5.5 — Restaurer »make genset-restoreLe problem dans Zabbix passe en RESOLVED automatiquement. ~30 secondes plus tard.
📸 Capture obligatoire #3 : graph de l’engine status passant de 4 (fault) à 2 (running).
5.6 — Le cas du déséquilibre triphasé
Section intitulée « 5.6 — Le cas du déséquilibre triphasé »Pour bonus de bonus, déclenche un déséquilibre :
make grid-imbalanceSur le wattmètre, vois L1 = 251A vs L2 = 82A vs L3 = 64A. C’est un signal majeur en industrie (déséquilibre dangereux pour les machines triphasées).
Écris le trigger qui détecte ça (la formule à mettre dans Zabbix) :
abs(last(/wattmeter-ddu-01/current.l1) - last(/wattmeter-ddu-01/current.l2)) > 50Et idem pour L2 vs L3, L1 vs L3.
🎉 Tu sais maintenant superviser une infra ICS critique. En entretien d’embauche, ça pèse.
6. Synthèse finale (4 pts)
Section intitulée « 6. Synthèse finale (4 pts) »Tu as supervisé du monitoring IT (Prometheus/Grafana, TPs 1-4) ET du monitoring ICS/OT (TP7). Prends 10 minutes pour comparer les deux mondes.
7. Livrables & validation
Section intitulée « 7. 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 3 captures demandées dans le TP
- Tes réponses aux 9 questions d’évaluation (1.1, 1.2, 1.3, 2.1, 2.2, 3.1, 3.2, 3.3, 3.4) + la question 4 de synthèse
- Tes walks SNMP documentés (commandes + sorties)
- Export de la configuration Zabbix DDU
Grille de notation (/ 20)
Section intitulée « Grille de notation (/ 20) »| Section TP | Questions | Points |
|---|---|---|
| §1 Polling rapide vs lent | 1.1 + 1.2 + 1.3 | 4 pts |
| §2 MIBs industrielles | 2.1 + 2.2 | 4 pts |
| §3 Scénario coupure diesel ⭐ | 3.1 + 3.2 + 3.3 + 3.4 | 8 pts |
| §6 Synthèse finale | 4 | 4 pts |
| Total | / 20 |
Format de rendu : PDF nom-prenom-promo.pdf sur Moodle.
Références
Section intitulée « Références »- DSE Modbus to SNMP MIB — DSE855 controller
- SMA Sunny Boy SNMP documentation
- RFC 1628 — UPS Management Information Base
- Schneider PowerLogic PM5560 — power meter
- Zabbix - Industrial monitoring
Tu finis l’Acte 1. Direction l’Acte 2 SIEM si tu ne l’as pas déjà fait, ou directement l’Acte 3 Audit & Purple Team pour clôturer le parcours.