Integrazione di Grafana Loki + Prometheus Alertmanager

MagicTradeBot offre supporto nativo per l'integrazione con Grafana Loki e Prometheus Alertmanager, potenti strumenti open-source per l'osservabilità. Questa integrazione consente la trasmissione centralizzata in tempo reale dei log, la raccolta delle metriche e la gestione degli avvisi su tutte le istanze del bot.


🚀 Panoramica

Il motore principale di MagicTradeBot può inoltrare log ed eventi da qualsiasi istanza del bot a Loki per l'archiviazione e l'interrogazione, mentre Prometheus Alertmanager gestisce gli avvisi in tempo reale basati su condizioni personalizzate.

Che tu stia eseguendo una singola istanza o gestendo centinaia di istanze su diversi exchange, account e server, questa integrazione garantisce una vista centralizzata di tutte le attività di trading.


🔧 Funzionalità principali

  • 📡 Inoltro dei log in tempo reale a Grafana Loki
  • 📊 Raccolta delle metriche per strategie, operazioni e prestazioni
  • 🚨 Avvisi basati su regole tramite Prometheus Alertmanager
  • 🌐 Supporto multiistanza e multiserver
  • 📈 Dashboard Grafana per visualizzazione e filtraggio in tempo reale

🛠️ Prerequisiti

  • Stack Grafana Loki installato e funzionante
  • Server Prometheus che raccoglie metriche dalle istanze del bot
  • Prometheus Alertmanager configurato per le notifiche (es. Email, Slack, Webhook)
  • Istanze del bot configurate con etichette univoche e endpoint di log

⚙️ Passaggi di configurazione

1. Abilitare il logging Loki nella configurazione del bot

Modifica il file di configurazione di ciascuna istanza del bot (es. config.yaml o 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. Abilitare l’esportazione delle metriche Prometheus

Abilita l’esportatore Prometheus in ciascuna istanza del bot per esporre le metriche su un endpoint locale:

metrics:
  prometheus:
    enabled: true
    port: 9100

Prometheus raccoglierà le metriche da http://localhost:9100/metrics.

3. Aggiungere il bot nella configurazione di Prometheus

Modifica il file prometheus.yml per includere il nuovo endpoint del bot:

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

4. Definire regole di allerta in Prometheus

Definisci regole personalizzate, ad esempio:

groups:
  - name: BotAlerts
    rules:
      - alert: HighErrorRate
        expr: rate(bot_errors_total[5m]) > 5
        for: 1m
        labels:
          severity: warning
        annotations:
          summary: "Tasso di errore elevato in MagicTradeBot"

5. Collegare Alertmanager

Assicurati che Prometheus sia collegato ad Alertmanager per inviare notifiche tramite il canale desiderato.


🧪 Esempio di log 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"
}

✅ Vantaggi dell’integrazione con Grafana Loki + Prometheus

  • 📍 Osservabilità centralizzata per tutte le attività dei bot
  • ⚠️ Avvisi proattivi per picchi di errore, anomalie o interruzioni
  • 📊 Analisi delle tendenze storiche e dashboard in tempo reale con Grafana
  • 🔌 Scalabilità per implementazioni su larga scala in più ambienti
  • 🔍 Interrogazioni rapide e filtraggio dei log per simbolo, exchange o strategia

📎 Related Topics