# 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
