- 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
50 lines
1.8 KiB
Markdown
50 lines
1.8 KiB
Markdown
# 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)
|
|
1. Modifier l'URL : `http://host.docker.internal:8086` (ou `http://localhost:8086` si Grafana a accès)
|
|
2. Configurer database, user, password
|
|
3. 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
|
|
1. ✅ Corriger InfluxDB (host.docker.internal:8086)
|
|
2. ⚠️ Pour Orion-LD : Documenter l'API et créer des panels HTTP
|
|
3. ⚠️ Pour FROST : Même chose
|
|
|
|
## Alternative
|
|
Utiliser **Grafana + InfluxDB** pour stocker les données du simulateur, puis visualiser depuis InfluxDB (plus simple).
|