Aller au contenu

Protocole MQTT

Topics

Topic Émetteur Consommateur Description
racks/{id}/telemetry Simulateur Worker, Dashboard Télémétrie d'une baie
racks/{id}/commands Worker Simulateur Commande de remédiation
alerts/{id}/security Worker Dashboard Alerte de sécurité

{id} identifie une baie (ex. rack-01).

Payload — télémétrie

{
  "rack_id": "rack-01",
  "ts": 1726833600.0,
  "temperature_c": 31.42,
  "humidity_pct": 45.2,
  "cpu_usage_pct": 58.3,
  "fan_rpm": 2420.0,
  "power_w": 412.0,
  "door_open": false,
  "remediation": {}
}

Payload — alerte

{
  "rack_id": "rack-01",
  "ts": 1726833600.0,
  "severity": "warning",
  "reason": "Dérive thermique 41.2°C (> 40°C).",
  "source": "deepseek",
  "anomaly": true
}

Payload — commande de remédiation

{ "action": "increase_fan", "rack_id": "rack-01", "ts": 1726833600.0 }
action Effet simulé
throttle_load Réduit la charge CPU
increase_fan Accélère les ventilateurs (baisse la température)
power_cycle Cycle d'alimentation (remise à l'état nominal)

QoS et fiabilité

  • QoS 1 (au moins une fois) pour la télémétrie, les alertes et les commandes : garantit la livraison sans perte, au prix d'éventuels doublons (tolérables pour des valeurs idempotentes).
  • QoS 2 serait requis pour des commandes dont la duplication est inacceptable (arrêt/redémarrage) — à considérer en production.

Sécurité du protocole

  • Chiffrement et authentification : TLS 1.2+ mutuel sur le port 8883.
  • Pas de listener en clair : aucune télémétrie ne circule en 1883.
  • Authentification par certificat client (CN = identité MQTT).