54 lines
3.0 KiB
Markdown
54 lines
3.0 KiB
Markdown
# Session Resume - 2026-05-05-Après-midi
|
|
|
|
## Objectif
|
|
Implémenter Grafana + FROST, finir Redpanda, et monitoring Prometheus pour Smart City Digital Twin Martinique.
|
|
|
|
## État des lieux (11h30-16h30)
|
|
✅ **FROST** : 100+ observations (fonctionnel via simulateur direct ENABLED_FROST=true)
|
|
✅ **Redpanda** : Conteneur actif (redpanda/docker-compose.yml corrigé)
|
|
✅ **Pulsar** : Fonctionne (simulateur connecté sur smart-city-pulsar:6650)
|
|
✅ **InfluxDB** : Opérationnel (datasource Grafana: InfluxDB-SmartCity)
|
|
✅ **Grafana** : Healthy v10.2.0, plugins installés
|
|
|
|
❌ **Distribution Pulsar → Brokers** : Échec persistant (ConnectError: Pulsar client → Pulsar standalone)
|
|
⚠️ **Infinity Plugin** : Installé dans conteneur mais status "disabled" (problème d'activation)
|
|
⚠️ **Prometheus** : Conteneur démarré (localhost:9090/metrics OK), mais /api/v1/targets retourne vide (cibles peut-être down)
|
|
|
|
## Problèmes bloquants
|
|
1. **Pulsar Distribution** : Le service `pulsar-distribution` ne peut pas se connecter à Pulsar (même avec hostname correct, même réseau). Cause probable : Version Pulsar standalone vs client Python.
|
|
2. **Infinity Plugin** : Installation réussie mais activation impossible via CLI (`grafana-cli plugins enable` ne fonctionne pas). Le plugin est dans `/var/lib/grafana/plugins/` mais Grafana ne le charge pas.
|
|
3. **Prometheus Targets** : L'API retourne des cibles vides. Les conteneurs cibles (mosquitto-exporter:9234, frost_http-web-1:8080, etc.) sont peut-être inaccessibles ou metrics_path incorrect.
|
|
|
|
## Travail accompli
|
|
- [x] Correction redpanda/start.sh (v24.3.14)
|
|
- [x] Mise à jour simulator.py (ENABLE_FROST=true pour test)
|
|
- [x] Création prometheus.yml (config pour scrape Mosquitto, Orion, FROST, Stellio)
|
|
- [x] Correction docker-compose.yml (variables d'environnement)
|
|
- [x] Installation plugin Infinity dans Grafana
|
|
- [x] Commit & Push (hash: 98954e8)
|
|
|
|
## Reste à faire
|
|
1. **Grafana FROST** : Trouver une méthode pour visualiser FROST (Infinity plugin ou adapter HTTP)
|
|
2. **Monitoring Prometheus** : Vérifier pourquoi les cibles ne répondent pas (networking interne?)
|
|
3. **Distribution Pulsar** : Debugger la connexion (essayer avec un client Pulsar plus récent ou changer d'approche)
|
|
4. **Dashboard technique** : Créer le dashboard Grafana avec Prometheus + InfluxDB
|
|
|
|
## Commandes utiles
|
|
```bash
|
|
# Vérifier FROST
|
|
curl -s "http://localhost:8090/FROST-Server/v1.1/Observations?\$top=5" | python3 -c "import sys,json; d=json.load(sys.stdin); print(len(d.get('value',[])))"
|
|
|
|
# Vérifier Prometheus
|
|
curl -s "http://localhost:9090/metrics" | head -10
|
|
|
|
# Vérifier Grafana
|
|
curl -s "http://localhost:3001/api/health" -u admin:Digitribe972
|
|
|
|
# Redémarrer Grafana (après install plugin)
|
|
docker restart smart-city-grafana
|
|
```
|
|
|
|
## Décisions
|
|
- Ne pas remplacer Redpanda par Kafka (demande utilisateur)
|
|
- Prometheus pour monitoring technique uniquement (pas d'ingestion payloads)
|
|
- Architecture : Simulator → Pulsar → Distribution → Brokers (MQTT, NGSI-LD, FROST) |