6.5 KiB
6.5 KiB
📊 Monitoring des Logs 4NK_node
Ce répertoire contient la configuration complète pour surveiller et analyser les logs de tous les services 4NK_node en temps réel.
🚀 Démarrage Rapide
1. Démarrer le monitoring
cd 4NK_node
./log/start-monitoring.sh
2. Accéder à Grafana
- URL: http://localhost:3000
- Utilisateur:
admin
- Mot de passe:
admin
3. Dashboard principal
Le dashboard principal est automatiquement configuré et accessible à : http://localhost:3000/d/4nk-node-logs/4nk-node-vue-d-ensemble-des-logs
🏗️ Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Services │ │ Promtail │ │ Loki │
│ 4NK_node │───▶│ (Collecteur) │───▶│ (Stockage) │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Grafana │ │ Dashboards │
│ (Visualisation) │◄───│ (Analyses) │
└─────────────────┘ └─────────────────┘
📁 Structure des Fichiers
log/
├── README.md # Ce fichier
├── start-monitoring.sh # Script de démarrage
├── log-monitoring.yml # Docker Compose pour le monitoring
├── loki-config.yaml # Configuration Loki
├── promtail-config.yml # Configuration Promtail
├── grafana-datasources.yml # Sources de données Grafana
├── grafana-dashboards.yml # Configuration des dashboards
└── dashboards/
└── 4nk-node-overview.json # Dashboard principal
🔧 Services de Monitoring
Loki (Port 3100)
- Rôle: Stockage et indexation des logs
- Fonctionnalités: Requêtes LogQL, rétention configurable
- Stockage: Fichiers locaux avec compression
Promtail (Port 9080)
- Rôle: Collecte des logs Docker
- Fonctionnalités: Parsing JSON, étiquetage automatique
- Collecte: Logs de tous les conteneurs 4NK_node
Grafana (Port 3000)
- Rôle: Interface de visualisation
- Fonctionnalités: Dashboards, alertes, requêtes temps réel
- Accès: Interface web avec authentification
📊 Dashboards Disponibles
Dashboard Principal : "4NK Node - Vue d'ensemble des Logs"
- Log Rate par Service: Graphique temporel des logs par service
- Total Logs (5m): Statistique du nombre total de logs
- Logs en Temps Réel: Affichage en direct des logs de tous les services
- Répartition par Service: Graphique circulaire des logs par service
- Répartition par Niveau: Graphique circulaire des logs par niveau (info, error, debug)
🔍 Requêtes LogQL Utiles
Logs d'un service spécifique
{job="4nk_node", service="bitcoin"}
Logs d'erreur
{job="4nk_node"} |= "error"
Logs des dernières 5 minutes
{job="4nk_node"} [5m]
Recherche de texte
{job="4nk_node"} |~ "connection.*failed"
🛠️ Commandes Utiles
Démarrer le monitoring
docker compose -f log-monitoring.yml up -d
Voir les logs des services de monitoring
docker compose -f log-monitoring.yml logs -f
Arrêter le monitoring
docker compose -f log-monitoring.yml down
Redémarrer un service spécifique
docker compose -f log-monitoring.yml restart grafana
Vérifier le statut
docker compose -f log-monitoring.yml ps
📈 Métriques Surveillées
Services 4NK_node
- bitcoin: Logs de synchronisation, connexions RPC
- blindbit: Logs de traitement des blocs, erreurs
- sdk_relay1/2/3: Logs de connexion Bitcoin, erreurs RPC
- sdk_signer: Logs de connexion aux relays, erreurs WebSocket
- sdk_storage: Logs de base de données, erreurs de stockage
- ihm_client: Logs de l'interface utilisateur
- tor: Logs de connexion, erreurs de proxy
Niveaux de Log
- INFO: Informations générales, statut des services
- ERROR: Erreurs critiques, échecs de connexion
- DEBUG: Informations détaillées pour le débogage
- WARN: Avertissements, problèmes non critiques
🔒 Sécurité
- Grafana: Authentification requise (admin/admin)
- Loki: Pas d'authentification (accès local uniquement)
- Promtail: Pas d'authentification (collecte locale uniquement)
- Ports exposés: 3000 (Grafana), 3100 (Loki), 9080 (Promtail)
🚨 Dépannage
Grafana ne démarre pas
docker compose -f log-monitoring.yml logs grafana
Promtail ne collecte pas de logs
docker compose -f log-monitoring.yml logs promtail
Loki ne stocke pas de logs
docker compose -f log-monitoring.yml logs loki
Vérifier les permissions
ls -la log/
chmod +x log/start-monitoring.sh
📝 Personnalisation
Ajouter un nouveau service
- Modifier
promtail-config.yml
- Ajouter une nouvelle section
static_configs
- Redémarrer Promtail
Créer un nouveau dashboard
- Créer un fichier JSON dans
dashboards/
- Modifier
grafana-dashboards.yml
si nécessaire - Redémarrer Grafana
Modifier la rétention des logs
- Modifier
loki-config.yaml
- Ajuster
retention_period
etchunk_retain_period
- Redémarrer Loki
🌟 Fonctionnalités Avancées
- Alertes: Configuration d'alertes sur des patterns de logs
- Rétention: Gestion automatique de la rétention des logs
- Compression: Compression automatique des anciens logs
- Recherche: Recherche full-text dans tous les logs
- Filtrage: Filtrage par service, niveau, timestamp
- Export: Export des logs en différents formats
Note: Ce système de monitoring est conçu pour un environnement de développement. Pour la production, considérez l'ajout d'authentification et de chiffrement.