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