Intégration de Grafana Loki + Prometheus Alertmanager

MagicTradeBot offre une prise en charge native de l'intégration avec Grafana Loki et Prometheus Alertmanager, deux puissants outils open-source de surveillance. Cette intégration permet une diffusion centralisée en temps réel des journaux, la collecte des métriques et la gestion des alertes sur l'ensemble des instances du bot.


🚀 Vue d’ensemble

Le moteur principal de MagicTradeBot peut transmettre les journaux et événements de chaque instance du bot à Loki pour stockage et interrogation, tandis que Prometheus Alertmanager gère les alertes en temps réel en fonction de conditions personnalisées.

Que vous utilisiez une seule instance ou que vous gériez des centaines d'instances réparties sur plusieurs plateformes d'échange, comptes et serveurs, cette intégration vous offre une vue centralisée de toute l’activité de trading.


🔧 Fonctionnalités clés

  • 📡 Transmission des journaux en temps réel à Grafana Loki
  • 📊 Collecte des métriques pour les stratégies, les transactions et les performances
  • 🚨 Alertes basées sur des règles via Prometheus Alertmanager
  • 🌐 Prise en charge multi-instances et multi-serveurs
  • 📈 Tableaux de bord Grafana pour la visualisation et le filtrage en direct

🛠️ Prérequis

  • Stack Grafana Loki déployé et en fonctionnement
  • Serveur Prometheus collectant les métriques des bots
  • Prometheus Alertmanager configuré pour les notifications (par exemple : e-mail, Slack, Webhooks)
  • Instances de bot configurées avec des étiquettes uniques et des points de terminaison de journalisation

⚙️ Étapes de configuration

1. Activer la journalisation Loki dans la configuration du bot

Modifiez le fichier de configuration de chaque instance de bot (ex : config.yaml ou appsettings.json) :

logging:
  loki:
    enabled: true
    endpoint: "http://your-loki-server:3100/loki/api/v1/push"
    labels:
      bot_instance: "bot-eu-1"
      exchange: "binance"
      environment: "production"
    log_level: "info"

2. Activer l’export des métriques Prometheus

Activez l’exportateur Prometheus dans chaque instance de bot pour exposer les métriques via un point de terminaison local :

metrics:
  prometheus:
    enabled: true
    port: 9100

Prometheus collectera les métriques depuis http://localhost:9100/metrics.

3. Ajouter le bot dans la configuration de Prometheus

Modifiez votre fichier prometheus.yml pour inclure le nouveau point de terminaison :

scrape_configs:
  - job_name: "magictradebot"
    static_configs:
      - targets: ["localhost:9100"]

4. Définir des règles d’alerte dans Prometheus

Définissez des règles personnalisées, par exemple :

groups:
  - name: BotAlerts
    rules:
      - alert: HighErrorRate
        expr: rate(bot_errors_total[5m]) > 5
        for: 1m
        labels:
          severity: warning
        annotations:
          summary: "Taux d’erreur élevé dans MagicTradeBot"

5. Connecter Alertmanager

Assurez-vous que Prometheus est connecté à Alertmanager afin de transmettre les notifications via le canal souhaité.


🧪 Exemple d’entrée de journal Loki

{
  "timestamp": "2025-06-20T09:32:10Z",
  "level": "info",
  "message": "Executed long trade",
  "exchange": "binance",
  "symbol": "ETH/USDT",
  "strategy": "Breakout",
  "profit": 5.12,
  "bot_instance": "bot-eu-2"
}

✅ Avantages de l’intégration Grafana Loki + Prometheus

  • 📍 Supervision centralisée de toute l’activité des bots
  • ⚠️ Alertes proactives en cas de pics d’erreurs, d’anomalies ou d’interruptions
  • 📊 Analyse des tendances historiques et tableaux de bord en direct via Grafana
  • 🔌 Évolutivité pour des déploiements étendus sur plusieurs régions ou environnements
  • 🔍 Requêtes rapides et filtrage des journaux par symbole, plateforme ou stratégie

📎 Related Topics