Aller au contenu
TAAF-OPS --:-- UTC

Plateforme SOC — démo & exploitation

Ressource transverse Démo Grafana · Loki · Prometheus · SGP4

La plateforme SOC est le cockpit temps réel du fil rouge TAAF : une console qui affiche, sur une carte de l’océan Indien austral, l’état des stations, le flux d’événements de l’incident, et les satellites opérationnels qui survolent la zone. Elle s’appuie sur exactement la même stack que les actes (Grafana, Loki, Prometheus, Alloy) — elle ne réimplémente rien : elle agrège et met en scène.

Réel vs fictif — La plateforme est réelle. Les logs de l’incident sont une fixture pédagogique générée par data/taaf_log_generator (100 % fictive, datée du jour). Les satellites sont en revanche de vraies données (TLE Celestrak, propagation SGP4) : ce sont les satellites réellement utilisés par les TAAF.

ActeRôle de la plateforme
Acte 1 · Monitoringla carte = santé des stations (up{job=...}), liens, métriques
Acte 2 · SIEMle feed + la recherche LogQL = détection de l’incident en direct
Acte 3 · Audit / Purplepivot vers Grafana pour la corrélation et le forensic (downgrade PQC)

La console est le cockpit narratif ; Grafana reste l’atelier d’analyse (dashboards persistants, alerting, corrélation). Le bouton « Ouvrir dans Grafana » fait la couture entre les deux.

data/taaf_log_generator ──► volume taaf-logs ──► Alloy ──► Loki ─┐
postgres-af / cadvisor / node-exporter ──► Prometheus ───────────┤
├─► Grafana (atelier)
└─► SOC Console (cockpit :4319)
  • Console SOC (soc-console/, bun + TypeScript) : carte MapLibre + deck.gl, proxy Loki/Prometheus (même origine, creds côté serveur), zéro framework lourd.
  • Générateur (data/taaf_log_generator/) : incident + bruit de fond, déterministe et date-rolling (l’incident tombe toujours « aujourd’hui »).
  • Stack monitoring (monitoring/docker-compose.yml) : Loki, Prometheus, Alloy, Grafana, exporters.
Fenêtre de terminal
# 1. La stack complète
cd monitoring && docker compose up -d # inclut cadvisor + node-exporter (sinon MAV/DDU hors-ligne)
# 2. Poser l'incident du jour + ingestion propre
./regen-logs.sh 2026-A
# 3. Flux vivant (bruit bénin continu) — optionnel
docker compose up -d log-streamer
# 4. La console
cd ../soc-console && bun install && cp .env.example .env # PROM_URL/LOKI_URL/GRAFANA_URL, DEMO=0
bun server.ts # http://localhost:4319
  • Carte : 5 stations (statut live), liaisons PC↔stations, et 3 satellites réels TAAF — SPOT 7 (obs / satlink), Iridium 106 (comms polaire, vital pour DDU), Sentinel-1A (surveillance radar de la ZEE) — avec trace au sol SGP4 et prochain passage.
  • Filtres Auth / Réseau / SATCOM / Système / Falco (par label Loki job).
  • Feed : tail live ; clic → détail lisible (clé/valeur) ; « Ouvrir dans Grafana ».
  • Recherche LogQL intégrée + deep-links Explore.

Quelques requêtes-clés pour la démo :

{job="windows"} |= "4728" # svc_backup -> Domain Admins
{log="ssl"} |= "x25519" != "X25519MLKEM768" # downgrade PQC (uplink SATCOM)
{job="auth"} |= "203.0.113.42" # VPN e.bernard depuis IP externe
{job="falco"} | json | priority=~"Warning|Critical" # exfiltration / runtime DB

Les TAAF dépendent vitalement du spatial (isolement extrême). La plateforme affiche les satellites réellement opérationnels sur la zone :

SatelliteMissionOrbite
SPOT 7observation optique (le satlink des bases)héliosynchrone ~98°
Iridiumtélécoms (cordon vital, 100 % polaire — seul à couvrir DDU/Antarctique)polaire ~86°
Sentinel-1Aradar SAR — surveillance ZEE (pêche illégale de la légine)héliosynchrone ~98°

D’autres systèmes réels gravitent autour des TAAF et peuvent être ajoutés (une ligne dans soc-console/src/config.tsREAL_SATS) : MetOp / NOAA (système ARGOS du CNES pour le biologging — éléphants de mer, manchots, albatros), Inmarsat / VSAT (débit capacitif), Pléiades (observation HR), Jason / Sentinel-6 (altimétrie).