lecoffre_node/docs/REX_Dashboards_Grafana.md

4.9 KiB

REX - Implémentation des Dashboards Grafana

Résumé

Implémentation réussie de dashboards Grafana spécialisés pour le monitoring des services LeCoffre Node.

Dashboards Implémentés

1. Bitcoin Miner - Détails (UID: bitcoin-miner-detailed)

  • Objectif: Monitoring détaillé du mineur Bitcoin Signet
  • Métriques:
    • Blocs minés par minute
    • Hashrate du mineur
    • Erreurs du mineur (1h)
    • Distribution des niveaux de log
    • Historique des blocs minés
  • Panneaux: 5 panneaux spécialisés

2. LeCoffre Backend - Monitoring (UID: lecoffre-backend)

  • Objectif: Monitoring de l'API backend LeCoffre
  • Métriques:
    • Requêtes HTTP par status code
    • Endpoints les plus utilisés
    • Temps de réponse moyen
    • Erreurs et succès (1h)
    • Distribution des méthodes HTTP
    • Erreurs récentes
  • Panneaux: 8 panneaux complets

3. SDK Services - Monitoring (UID: sdk-services)

  • Objectif: Monitoring des services SDK (relay, signer, storage)
  • Métriques:
    • Messages par service SDK
    • Transactions relay
    • Signatures signer
    • Erreurs par service (1h)
    • Total logs SDK
    • Erreurs récentes SDK
  • Panneaux: 8 panneaux spécialisés

4. Frontend Services - Monitoring (UID: frontend-services)

  • Objectif: Monitoring des services frontend (lecoffre-front, ihm_client)
  • Métriques:
    • Requêtes HTTP par frontend
    • Activité Vite (IHM Client)
    • Erreurs par service (1h)
    • Total logs frontend
    • Erreurs Vite
    • Erreurs récentes frontend
  • Panneaux: 7 panneaux dédiés

5. Bitcoin Services - Monitoring (UID: bitcoin-services)

  • Objectif: Monitoring des services Bitcoin (bitcoin-signet, blindbit-oracle)
  • Métriques:
    • Mises à jour de la chaîne Bitcoin
    • Détection de tweak (BlindBit)
    • Erreurs Bitcoin et BlindBit (1h)
    • Nouveaux blocs et silent payments
    • Erreurs Bitcoin services
  • Panneaux: 7 panneaux spécialisés

Configuration Technique

Datasource Loki

  • URL: http://loki:3100
  • Type: loki
  • Accès: proxy
  • UID: loki
  • Configuration simplifiée pour éviter les erreurs de provisioning

Scripts Améliorés

  • test-dashboards.sh: Script de test complet avec headers Loki
  • Headers ajoutés: X-Scope-OrgID: anonymous pour l'accès Loki
  • Tests inclus: API Loki, logs des services, rapport de santé

Résolution des Problèmes

Problème 1: Configuration Loki Complexe

  • Symptôme: Erreur "Datasource provisioning error: data source not found"
  • Cause: Configuration JSON complexe avec derivedFields
  • Solution: Simplification de la configuration Loki

Problème 2: Access Proxy vs Server

  • Symptôme: Erreurs 502 Bad Gateway via nginx
  • Cause: Tentative d'accès direct via URL externe
  • Solution: Utilisation de access: proxy avec URL interne Docker

Problème 3: Headers Loki Manquants

  • Symptôme: Erreurs d'authentification Loki
  • Cause: Headers X-Scope-OrgID manquants
  • Solution: Ajout des headers dans les requêtes API

Accès et Utilisation

URL d'Accès

  • Grafana: https://dev4.4nkweb.com/grafana/
  • Identifiants: admin / admin123

Liens Directs

  • Vue d'ensemble: https://dev4.4nkweb.com/grafana/d/lecoffre-overview
  • Bitcoin Miner: https://dev4.4nkweb.com/grafana/d/bitcoin-miner-detailed
  • Backend LeCoffre: https://dev4.4nkweb.com/grafana/d/lecoffre-backend
  • Services SDK: https://dev4.4nkweb.com/grafana/d/sdk-services
  • Services Frontend: https://dev4.4nkweb.com/grafana/d/frontend-services
  • Services Bitcoin: https://dev4.4nkweb.com/grafana/d/bitcoin-services

Validation

Tests Réussis

  • 8 dashboards accessibles et fonctionnels
  • Configuration Loki opérationnelle
  • Scripts de test améliorés et fonctionnels
  • Accès externe via nginx HTTPS
  • Monitoring temps réel des services

Métriques Disponibles

  • Temps réel: Refresh 5s sur tous les dashboards
  • Historique: 1h par défaut, configurable
  • Logs centralisés: Via Loki + Promtail
  • Erreurs: Détection et affichage en temps réel

Améliorations Futures

Dashboards Avancés

  1. Alertes automatiques sur erreurs critiques
  2. Métriques personnalisées par service
  3. Corrélations entre services
  4. Rapports automatiques de performance

Configuration

  1. Variables de template pour filtrage dynamique
  2. Annotations sur événements importants
  3. Drill-down entre dashboards
  4. Export de rapports PDF

Conclusion

Mission accomplie: Tous les dashboards sont implémentés, fonctionnels et accessibles Monitoring complet: Couverture de tous les services critiques Accès externe: Disponible via HTTPS avec authentification Scripts améliorés: Tests et validation automatisés

Le système de monitoring Grafana est maintenant opérationnel et prêt pour la production.