Files
smart-city-digital-twin-mar…/GRAFANA-SOLUTIONS-FINALES.md
Eric FELIXINE 776d9da957 Grafana: Final solutions for datasources
- Connect Grafana to service networks (DONE)
- InfluxDB: Need proper v1/v2 config
- Orion-LD/FROST: simple-json plugin INCOMPATIBLE
- Solutions: NGSI-LD plugin, adapter service, or direct HTTP
- Document all options
2026-05-04 23:57:37 -04:00

1.7 KiB

Solution Datasources Grafana - Smart City

Statut actuel

  • Prometheus : Fonctionne (plugin natif Grafana)
  • InfluxDB : À reconfigurer (version v1 ou v2, token/database)
  • Orion-LD / FROST / Stellio : Plugin simple-json INCOMPATIBLE

Solutions

1. InfluxDB (à faire)

  1. Identifier version (v1 vs v2)
  2. Configurer :
    • v1 : database, user, password
    • v2 : organization, token, defaultBucket
  3. URL : http://digital-twin-influxdb:8086 (depuis Grafana container)

2. Orion-LD / FROST / Stellio (NGSI-LD / SensorThings)

Ne PAS utiliser grafana-simple-json-datasource (incompatible).

Options :

A. Plugin NGSI-LD dédié

  • Chercher dans Grafana plugins : "ngsi-ld", "fiware", "stellio"
  • Installer : grafana-cli plugins install <plugin-id>

B. Micro-service adaptateur (Node.js/Python)

  1. Créer un service qui écoute sur /search, /query, /annotations
  2. Traduire requêtes Grafana → API NGSI-LD/SensorThings
  3. Exposer ce service sur un port (ex: 9000)
  4. Configurer simple-json-datasource vers ce service

C. JSON API directe (panels personnalisés)

  1. Installer plugin "JSON API" ou "HTTP" dans Grafana
  2. Dans un panel, faire une requête GET vers :
    • Orion-LD : http://fiware-gis-quickstart-orionproxy-1:80/ngsi-ld/v1/entities?type=AirQualityObserved&limit=10
    • FROST : http://frost-api-8090:8080/FROST-Server/v1.1/Things
    • Stellio : http://stellio-api-gateway:8080/ngsi-ld/v1/entities
  3. Parser la réponse JSON pour afficher les données

Actions immédiates

  1. Connecter Grafana aux réseaux (smartcity-shared, frost_http_default, etc.) → FAIT
  2. ⚠️ Reconfigurer InfluxDB (database/token)
  3. ⚠️ Pour NGSI-LD : Choisir option B ou C ci-dessus