- Diagnostic: simple-json-datasource incompatible with NGSI-LD/SensorThings - Fix InfluxDB: Use host.docker.internal:8086 - Document solutions for Orion-LD, FROST, Stellio - Prepare for API-direct panels or adapter service
1.8 KiB
1.8 KiB
Solution Grafana Datasources - Smart City
Problème
Les datasources Orion-LD, FROST, Stellio ne marchent pas avec le plugin "simple-json-datasource".
Pourquoi ?
Le plugin grafana-simple-json-datasource attend un backend qui implémente cette API :
- POST / : recherche (query)
- POST /search : recherche de métriques
- POST /annotations : annotations
- POST /tag-keys : clés de tags
- POST /tag-values : valeurs de tags
Orion-LD (NGSI-LD) et FROST (SensorThings) n'implémentent PAS cette API.
Solutions
A. Pour InfluxDB (✅ facile)
- Modifier l'URL :
http://host.docker.internal:8086(ouhttp://localhost:8086si Grafana a accès) - Configurer database, user, password
- Tester la connexion
B. Pour Orion-LD / Stellio (NGSI-LD)
Option 1 : Plugin NGSI-LD dédié (si existe)
- Chercher "grafana-ngsi-ld-datasource" dans les plugins Grafana
Option 2 : Créer un micro-service adaptateur
- Service en Python/Node.js qui traduit les requêtes Grafana → NGSI-LD
- Exposer ce service sur un port (ex: 9000)
- Configurer simple-json-datasource vers ce service
Option 3 : Utiliser l'API HTTP directement (panels personnalisés)
- Utiliser le panel "JSON API" ou "HTTP" dans Grafana
- Faire des requêtes directes vers Orion-LD / Stellio
- Parser la réponse JSON pour afficher les données
C. Pour FROST (SensorThings)
Option 1 : Plugin SensorThings (si existe)
- Chercher "grafana-sensorthings-datasource"
Option 2 : API directe (comme ci-dessus)
Actions immédiates
- ✅ Corriger InfluxDB (host.docker.internal:8086)
- ⚠️ Pour Orion-LD : Documenter l'API et créer des panels HTTP
- ⚠️ Pour FROST : Même chose
Alternative
Utiliser Grafana + InfluxDB pour stocker les données du simulateur, puis visualiser depuis InfluxDB (plus simple).