- BunkerM accessible, Stellio pipeline actif - 6 tables CrateDB, dashboards Grafana (AirQuality, Traffic, Weather) - OpenRemote: API 405 à résoudre (assets à créer via UI) - Services unhealthy identifiés (CrateDB Stellio, Mosquitto, MongoDB) - ThingsBoard en boucle redémarrage - 30 capteurs attendus (SENSOR_COUNT=30)
4.8 KiB
4.8 KiB
SMART CITY DIGITAL TWIN - RAPPORT FINAL 2026-05-06
✅ RÉALISÉ AUJOURD'HUI
Infrastructure de Base
-
BunkerM (mosquitto2.digitribe.fr:1900) ✅
- Accessible via Traefik (confirmé par
nc -zvetmosquitto_pub) - IoT Agent BunkerM reconfiguré pour Stellio (NGSI-LD)
- Accessible via Traefik (confirmé par
-
Stellio Pipeline ✅
- Données visibles dans Stellio (
urn:ngsi-ld:AirQualityObserved:*) - IoT Agent → Stellio → QuantumLeap → CrateDB fonctionnel
- Tables CrateDB créées : 6 tables (etairqualityobserved, etweatherobserved, ettrafficflowobserved, etparkingspot, etnoiselevelobserved, etwaterqualityobserved)
- Données visibles dans Stellio (
-
Grafana Dashboards ✅
- Dashboard "Smart City - Air Quality (CrateDB)" opérationnel
- Dashboards Traffic Flow et Weather créés (structure de base)
- Datasources CrateDB configurées (2 datasources)
-
Git/Gitea ✅
- Commits poussés sur
origin/master - Fichiers modifiés :
docker-compose.iot-agent.yml - Session resume
session_resume_2026-05-06.mdcréé et poussé
- Commits poussés sur
-
Keycloak OpenRemote ✅
- Audience mapper 'openremote' configuré
- JWT avec claim
aud: ['openremote', 'smartcity-realm', 'master-realm', 'account']
Monitoring
- Prometheus : 0 alertes actives ✅
- Tous les conteneurs principaux sont Up (sauf problèmes ci-dessous)
❌ PROBLÈMES EN COURS
1. OpenRemote Assets (Tâche A) ❌
- Problème : API retourne systématiquement
HTTP 405 Method Not Allowed - Cause : Malgré JWT valide avec audience 'openremote', l'API refuse les requêtes
- Impact : Impossible de créer les 60 assets (30 capteurs × 2 realms)
- Solution requise :
- Débogage API (logs Keycloak/OpenRemote)
- Ou création manuelle via l'UI Web OpenRemote
- URL : https://openremote.digitribe.fr/manager/#/assets
2. Services Unhealthy ⚠️
| Service | Status | Problème identifié |
|---|---|---|
| smart-city-cratedb-stellio | unhealthy | Erreurs auth CrateDB (user "postgres" from 85.11.167.232) |
| smart-city-mosquitto | unhealthy | À investiguer |
| smart-city-iot-mongodb | unhealthy | MongoDB healthcheck échoue |
| smart-city-pulsar-distribution | unhealthy | À investiguer |
| bunkerm_bunkerm_1 | unhealthy | Mosquitto interne |
Action : Vérifier les logs et corriger les configurations d'authentification
3. ThingsBoard ❌
- Status : En boucle de redémarrage (
Restarting (1)) - Cause : Volumes manquants (
/home/eric/smart-city-digital-twin-martinique/thingsboard-data/créé mais vide) - Config :
thingsboard.confmanquant - Action requise : Configurer proprement ThingsBoard ou l'exclure temporairement
4. Simulateur - 30 Capteurs 🔄
- Status : Configuration par défaut (10 capteurs au total)
- Action : Définir
SENSOR_COUNT=30dans l'environnement du simulateur - Répartition attendue : 10 EMQX + 10 Mosquitto + 10 BunkerM
📋 ACTIONS NÉCESSAIRES (PRIORITAIRES)
Immédiat
-
OpenRemote Assets :
- Se connecter à https://openremote.digitribe.fr/manager/#/assets
- Créer manuellement 60 assets (30 capteurs dans realm
master+ 30 danssmartcity-martinique) - Types : AirQualityObserved, TrafficFlowObserved, OffStreetParking, NoiseLevelObserved, WeatherObserved, LightObserved
-
Stabiliser services unhealthy :
# Investiguer CrateDB Stellio docker logs smart-city-cratedb-stellio --tail 50 # Investiguer Mosquitto docker logs smart-city-mosquitto --tail 50 -
Configurer simulateur 30 capteurs :
cd ~/smart-city-digital-twin-martinique SENSOR_COUNT=30 docker compose -f docker-compose.yml up -d simulator
Ultérieur
- ThingsBoard : Configurer proprement ou documenter comme "hors-service"
- Compléter dashboards Grafana : Parking, Noise, Light
- Mettre à jour documentation architecture (après vérification complète Stellio)
🎯 ARCHITECTURE VALIDÉE (partiellement)
Simulateur (30 capteurs attendus)
↓
Brokers MQTT (EMQX ✅, Mosquitto ✅, BunkerM ✅)
↓
IoT Agents (EMQX→Orion-LD ✅, Mosquitto→Orion-LD ✅, BunkerM→Stellio ✅)
↓
Context Brokers (Orion-LD ✅, Stellio ✅)
↓
QuantumLeap → CrateDB (tables: 6 créées ✅)
↓
Grafana (Dashboards: AirQuality ✅, Traffic ✅, Weather ✅)
↓
OpenRemote (Assets: ❌ à créer manuellement)
📝 NOTES POUR LA PROCHAINE SESSION
- OpenRemote : API 405 à déboguer ou création manuelle via UI
- ThingsBoard : Décision requise (réparer ou désactiver)
- 30 capteurs :
SENSOR_COUNT=30à configurer - Services unhealthy : Investiguer et stabiliser
- Documentation : Mettre à jour diagrammes après stabilisation complète
Rapport généré le 2026-05-06 à 22:00 - Eric FELIXINE Session en cours - "Continue" actif