docs: update session resume with actual work done (simulator fixes, ClickHouse, RisingWave)
This commit is contained in:
@@ -1,53 +1,57 @@
|
||||
# Session Resume — 05 Mai 2026
|
||||
# Session Resume — 05 Mai 2026 (Session de 03h03 - 03h45)
|
||||
|
||||
## ✅ Réalisé dans cette session (reprise après crash)
|
||||
## ✅ Réalisé dans cette session
|
||||
|
||||
### 1. Diagnostic des dashboards Grafana cassés
|
||||
- **Problème** : Erreurs `"Dashboard title cannot be empty"` pour 2 fichiers dans les logs de `digital-twin-grafana`
|
||||
- **Cause racine** : Les fichiers JSON de provisioning avaient un objet `dashboard` imbriqué au lieu de `title` à la racine — Grafana file provider exige `title` au niveau root
|
||||
- **Fichiers affectés** :
|
||||
- `smart-city-overview.json` : title=MISSING, panels=0 (❌)
|
||||
- `twin-overview.json` : title=MISSING, panels=0 (❌)
|
||||
### 1. Corrections critiques du simulateur (simulator.py)
|
||||
- **ENABLE_PULSAR corrigé** : La comparaison `== "1"` échouait car docker-compose envoyait `"true"`. Nouveau code : `.lower() in ("1", "true", "yes", "on")`
|
||||
- **Intervalle temps réel** : Passé de 10s à **1s** (`INTERVAL = 1`) pour un envoi en temps réel
|
||||
- **InfluxDB URL** : Corrigé de `digital-twin-influxdb` vers `smart-city-influxdb`
|
||||
- **Ajout fonctions** : `publish_pulsar()` et `publish_redpanda()` avec threading (asynchrone)
|
||||
- **Debug ajouté** : Traces pour vérifier l'atteinte du code Pulsar
|
||||
|
||||
### 2. Correction des JSON (flattening)
|
||||
- Script Python `/tmp/fix_grafana_dashboards.py` → extraction de `dashboard` vers le niveau root
|
||||
- Résultat après fix :
|
||||
- `twin-overview.json` : title="TWIN Supply Chain - Overview", 3 panels ✅
|
||||
- `smart-city-overview.json` : title="Smart City Digital Twin - Overview", 8 panels ✅
|
||||
- Copie dans le container : `docker cp /tmp/... digital-twin-grafana:/etc/grafana/provisioning/dashboards/`
|
||||
- Redémarrage : `docker restart digital-twin-grafana`
|
||||
### 2. Docker Compose
|
||||
- **Création** : `docker-compose.yml` principal avec service simulator
|
||||
- **Redpanda** : `redpanda/docker-compose.yml` + `redpanda.yaml` + `start.sh` (mais service bloqué OOM)
|
||||
- **ClickHouse** : `clickhouse/docker-compose.yml` + `config.xml` (Analytique OLAP)
|
||||
- **RisingWave** : `risingwave/docker-compose.yml` (Streaming DB PostgreSQL-compatible)
|
||||
|
||||
### 3. Vérification
|
||||
- ✅ Erreurs "Dashboard title cannot be empty" disparues des logs
|
||||
- ✅ InfluxDB `iot_data` contient des données en temps réel (air quality, traffic, weather, parking, noise, light)
|
||||
- ✅ Simulateur actif (6h+ uptime), push vers EMQX + InfluxDB
|
||||
### 3. Diagramme des flux (data-flow-diagram.md)
|
||||
- **Mermaid** : Ajout des nœuds ClickHouse, RisingWave, Pulsar, Redpanda
|
||||
- **Flux** : Ajout des flèches du simulateur vers ces nouveaux services
|
||||
- **Tableau** : Mise à jour du statut de tous les composants
|
||||
- **Docs** : Mise à jour des sections "Analytique & Streaming"
|
||||
|
||||
### 4. Commit Gitea
|
||||
- `83d567b` — "Grafana: Fix dashboard provisioning (flatten nested dashboard objects)"
|
||||
- 2 fichiers ajoutés au repo : `grafana_twin-overview.json`, `grafana_smart-city-overview.json`
|
||||
### 4. Git & Sauvegarde
|
||||
- **Commit** : `01c2be4` — "feat(simulator): real-time (1s), fix ENABLE_PULSAR, add Pulsar/Redpanda publish, fix InfluxDB URL"
|
||||
- **Push** : Vers Gitea (https://gitea.digitribe.fr/eric/smart-city-digital-twin-martinique)
|
||||
- **Fichiers commités** : simulator.py, docker-compose.yml, clickhouse/, risingwave/, redpanda/, data-flow-diagram.md
|
||||
|
||||
## 📊 État actuel des services
|
||||
## 📊 État des services (au moment du crash)
|
||||
|
||||
| Service | Status | Notes |
|
||||
|---------|--------|-------|
|
||||
| Simulateur Python | ✅ Actif (6h+) | MQTT (EMQX) + InfluxDB |
|
||||
| EMQX | ✅ | Port 11883 |
|
||||
| InfluxDB (iot_data) | ✅ | Données en temps réel Martinique |
|
||||
| FROST-Server | ✅ | Container frost-api-8090 |
|
||||
| Orion-LD | ✅ | source/mqttTopic traceability |
|
||||
| Stellio | ✅ | NGSI-LD tenant default |
|
||||
| OpenRemote | ⚠️ OR:False | Simulateur échoue auth (localhost:8080) |
|
||||
| Grafana | ✅ Corrigé | Dashboards chargés, 5 dashboards |
|
||||
| Simulateur | ✅ Actif (1s) | MQTT + Pulsar (code OK, réception KO) |
|
||||
| Pulsar | ⚠️ Debugging | Topics créés manuellement, API /produce renvoie 404 |
|
||||
| Redpanda | ❌ OOM | Container crash en boucle, service marqué "cancelled" |
|
||||
| ClickHouse | ✅ Ajouté | Stack créée, pas encore démarrée |
|
||||
| RisingWave | ✅ Ajouté | Stack créée, pas encore démarrée |
|
||||
| Grafana | ⚠️ No Data | Dashboard `smartcity-martinique-2026` vide |
|
||||
|
||||
## ⏳ Reste à faire
|
||||
## ⏳ Reste à faire (Todo List)
|
||||
|
||||
1. **OpenRemote** — Corriger l'authentification du simulateur (OR: False)
|
||||
2. **Grafana** — Affiner les panels (granularité, datasource queries)
|
||||
3. **Carte OpenRemote / Cesium / Piero** — Configuration finale
|
||||
1. ✅ ~~Corriger ENABLE_PULSAR~~ (Fait)
|
||||
2. ✅ ~~Ajouter ClickHouse~~ (Fait)
|
||||
3. ✅ ~~Ajouter RisingWave~~ (Fait)
|
||||
4. ✅ ~~Modifier diagramme Mermaid~~ (Fait)
|
||||
5. ⚠️ **Grafana "No Data"** : Vérifier datasources (InfluxDB, FROST) et requêtes Flux
|
||||
6. ⚠️ **Pulsar** : Résoudre l'erreur 404 sur l'API produce
|
||||
7. ⚠️ **Redpanda** : Soit le réparer, soit le remplacer par Kafka simple
|
||||
8. 📋 **Payloads NGSI-LD** : Vérifier/corriger les formats Orion-LD et Stellio
|
||||
|
||||
## 🔗 URLs
|
||||
- **Grafana** : https://grafana.digitribe.fr (admin / Digitribe972)
|
||||
## 🔗 URLs importantes
|
||||
- **Grafana** : https://grafana.digitribe.fr/d/smartcity-martinique-2026/smart-city-digital-twin-martinique
|
||||
- **Gitea** : https://gitea.digitribe.fr/eric/smart-city-digital-twin-martinique
|
||||
- **Simulateur logs** : `docker logs smart-city-simulator --tail 200`
|
||||
|
||||
---
|
||||
*Session reprise après crash du 05 mai 2026 à 00:25*
|
||||
*Session crashee à 03h45 (limite d'itérations atteinte). Prochaine session : reprendre à "Grafana No Data".*
|
||||
|
||||
Reference in New Issue
Block a user