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
}
{ "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).