MagicTradeBot предоставляет встроенную поддержку интеграции с Grafana Loki и Prometheus Alertmanager — мощными инструментами с открытым исходным кодом для наблюдаемости. Эта интеграция позволяет централизованно управлять потоком логов, сбором метрик и системой оповещений в реальном времени для всех экземпляров бота.
🚀 Обзор
Ядро MagicTradeBot может пересылать логи и события из любого экземпляра бота в Loki для хранения и последующего запроса, а Prometheus Alertmanager обрабатывает оповещения в реальном времени на основе пользовательских условий.
Независимо от того, работаете ли вы с одним экземпляром или управляете сотнями экземпляров бота на разных биржах, аккаунтах и серверах — эта интеграция обеспечивает централизованный обзор всей торговой активности.
🔧 Ключевые возможности
- 📡 Поток логов в реальном времени в Grafana Loki
- 📊 Сбор метрик для стратегий, сделок и производительности
- 🚨 Оповещения по правилам через Prometheus Alertmanager
- 🌐 Поддержка нескольких экземпляров и серверов
- 📈 Дашборды Grafana для визуализации и фильтрации в реальном времени
🛠️ Предварительные требования
- Развернутый и работающий стек Grafana Loki
- Сервер Prometheus, собирающий метрики с экземпляров бота
- Настроенный Prometheus Alertmanager для отправки уведомлений (например, Email, Slack, Webhooks)
- Экземпляры бота настроены с уникальными метками и лог-эндпоинтами
⚙️ Этапы настройки
1. Включите логирование в Loki в конфигурации бота
Отредактируйте конфигурационный файл для каждого экземпляра бота (например, config.yaml
или 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. Включите экспорт метрик Prometheus
Включите экспорт метрик Prometheus в каждом экземпляре бота, чтобы метрики были доступны на локальном эндпоинте:
metrics:
prometheus:
enabled: true
port: 9100
Prometheus будет собирать метрики с http://localhost:9100/metrics
.
3. Добавьте целевой бот в конфигурацию Prometheus
Отредактируйте файл prometheus.yml
, чтобы включить новый эндпоинт бота:
scrape_configs:
- job_name: "magictradebot"
static_configs:
- targets: ["localhost:9100"]
4. Настройте правила оповещений в Prometheus
Пример пользовательского правила оповещения:
groups:
- name: BotAlerts
rules:
- alert: HighErrorRate
expr: rate(bot_errors_total[5m]) > 5
for: 1m
labels:
severity: warning
annotations:
summary: "Высокий уровень ошибок в MagicTradeBot"
5. Подключите Alertmanager
Убедитесь, что Prometheus подключён к Alertmanager для доставки уведомлений через выбранный вами канал.
🧪 Пример лог-записи для 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"
}
✅ Преимущества интеграции Grafana Loki + Prometheus
- 📍 Централизованная наблюдаемость за всей активностью бота
- ⚠️ Проактивные оповещения при скачках ошибок, аномалиях в торгах или сбоях
- 📊 Исторический анализ и дашборды в реальном времени через Grafana
- 🔌 Масштабируемость для развёртываний в разных регионах и средах
- 🔍 Быстрый поиск и фильтрация логов по символу, бирже или стратегии