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