Files
smart-city-digital-twin-mar…/GRAFANA-SOLUTION.md
Eric FELIXINE d9723d1792 Grafana: Fix InfluxDB + document datasource solutions
- 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
2026-05-04 23:52:58 -04:00

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)

  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).