MagicTradeBot ofrece soporte nativo para integrarse con Grafana Loki y Prometheus Alertmanager, dos potentes herramientas de observabilidad de código abierto. Esta integración permite la transmisión centralizada en tiempo real de registros, recolección de métricas y gestión de alertas en todas las instancias del bot.
🚀 Visión general
El motor central de MagicTradeBot puede enviar registros y eventos desde cualquier instancia del bot hacia Loki para su almacenamiento y consulta, mientras que Prometheus Alertmanager gestiona las alertas en tiempo real basadas en condiciones personalizadas.
Ya sea que estés operando una sola instancia o gestionando cientos de instancias de bots en diferentes exchanges, cuentas y servidores, esta integración te proporciona una vista centralizada de toda la actividad de trading.
🔧 Funcionalidades clave
- 📡 Transmisión de registros en tiempo real a Grafana Loki
- 📊 Recolección de métricas para estrategias, operaciones y rendimiento
- 🚨 Alertas basadas en reglas mediante Prometheus Alertmanager
- 🌐 Soporte para múltiples instancias y servidores
- 📈 Tableros de Grafana para visualización y filtrado en tiempo real
🛠️ Requisitos previos
- Pila de Grafana Loki desplegada y en funcionamiento
- Servidor Prometheus recolectando métricas de las instancias del bot
- Prometheus Alertmanager configurado para enviar notificaciones (por ejemplo, Email, Slack, Webhooks)
- Instancias del bot configuradas con etiquetas únicas y endpoints de registro
⚙️ Pasos de configuración
1. Habilitar el registro de Loki en la configuración del bot
Edita el archivo de configuración de cada instancia del bot (por ejemplo, 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. Habilitar la exportación de métricas de Prometheus
Habilita el exportador de Prometheus en cada instancia del bot para exponer métricas en un endpoint local:
metrics:
prometheus:
enabled: true
port: 9100
Prometheus recogerá métricas desde http://localhost:9100/metrics
.
3. Añadir el objetivo del bot a la configuración de Prometheus
Edita tu archivo prometheus.yml
para incluir el nuevo endpoint del bot:
scrape_configs:
- job_name: "magictradebot"
static_configs:
- targets: ["localhost:9100"]
4. Configurar reglas de alerta en Prometheus
Define reglas de alerta personalizadas, por ejemplo:
groups:
- name: BotAlerts
rules:
- alert: HighErrorRate
expr: rate(bot_errors_total[5m]) > 5
for: 1m
labels:
severity: warning
annotations:
summary: "Alta tasa de errores detectada en MagicTradeBot"
5. Conectar con Alertmanager
Asegúrate de que Prometheus esté conectado a Alertmanager para enviar notificaciones por el canal de tu preferencia.
🧪 Ejemplo de entrada de registro de 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"
}
✅ Beneficios de la integración con Grafana Loki + Prometheus
- 📍 Observabilidad centralizada de toda la actividad del bot
- ⚠️ Alertas proactivas por errores, anomalías o caídas
- 📊 Análisis de tendencias históricas y tableros en tiempo real con Grafana
- 🔌 Escalabilidad para despliegues grandes en distintas regiones o entornos
- 🔍 Consultas rápidas y filtrado de registros por símbolo, exchange o estrategia