MagicTradeBot поддерживает нативную интеграцию с Sentry — мощной платформой для отслеживания ошибок и мониторинга в реальном времени. Это позволяет разработчикам и операторам отправлять структурированные логи и события от каждой инстанции бота в Sentry, обеспечивая быструю отладку, централизованные уведомления и полный обзор состояния системы.
Будь то одна инстанция бота или сотни ботов, работающие на разных биржах, аккаунтах, символах или серверных узлах — Sentry помогает централизовать мониторинг и эффективно отслеживать проблемы. На таком масштабе ручной контроль невозможен — Sentry восполняет этот пробел благодаря мощной автоматизации и аналитике.
🚀 Обзор
С помощью интеграции с Sentry MagicTradeBot может автоматически фиксировать:
- Исключения во время выполнения и необработанные ошибки
- Сбои при исполнении сделок
- Проблемы подключения к биржам
- Пользовательские логи и диагностические события
Все логи и события ошибок отправляются в Sentry в реальном времени, что позволяет вам:
- Отслеживать ошибки по инстанции, символу или бирже
- Анализировать стек вызовов, узкие места в производительности и частоту ошибок
- Настраивать оповещения по email, Slack или webhook для критических сбоев
🔧 Основные функции
- 📡 Отчетность об исключениях и ошибках в реальном времени
- 🧠 Автоматический захват стека вызовов с контекстной метаинформацией
- 🌍 Поддержка многосерверной и распределённой среды
- 🕵️ Группировка инцидентов, метки важности, отслеживание релизов
- 📊 Централизованная панель управления с правилами оповещений и интеграциями
🛠️ Предварительные требования
- Действующий аккаунт Sentry и DSN (Data Source Name)
- Установленный SDK Sentry в среде выполнения MagicTradeBot
- Бот, настроенный с уникальным
instance_id
илиtags
для лучшей отслеживаемости
⚙️ Этапы настройки
1. Установите SDK Sentry
Установите SDK Sentry для вашей среды (например, Python, Go, Node.js):
pip install --upgrade sentry-sdk
2. Инициализируйте Sentry в коде запуска бота
Добавьте следующий код для инициализации Sentry:
import sentry_sdk
sentry_sdk.init(
dsn="YOUR_SENTRY_DSN",
environment="production",
release="magictradebot@2.0.0",
traces_sample_rate=1.0,
send_default_pii=True
)
3. Включите Sentry в конфигурационном файле
В config.yaml
или appsettings.json
активируйте интеграцию Sentry:
monitoring:
sentry:
enabled: true
dsn: "YOUR_SENTRY_DSN"
environment: "production"
release: "magictradebot@2.0.0"
tags:
instance_id: "bot-apac-01"
exchange: "binance"
4. Добавьте ручную отправку логов и ошибок (опционально)
Критические ошибки можно отправлять вручную следующим образом:
from sentry_sdk import capture_exception
try:
bot.execute_trade()
except Exception as e:
capture_exception(e)
🧪 Пример события Sentry
{
"level": "error",
"message": "Trade execution failed",
"timestamp": "2025-06-20T11:25:41Z",
"bot_instance": "bot-us-1",
"symbol": "SOL/USDT",
"exchange": "kucoin",
"exception": {
"type": "InsufficientBalanceError",
"value": "Not enough USDT to place order",
"stacktrace": [...]
}
}
✅ Преимущества интеграции с Sentry
- 📍 Централизованный трекинг логов и ошибок по всем действиям бота
- ⚠️ Мгновенное выявление сбоев, неправильных конфигураций и простоев
- 📈 Визуальные панели с анализом частоты и трендов ошибок
- 🚨 Интеграция с уведомлениями в Slack, Teams, Email, Webhooks
- 🔍 Быстрое устранение инцидентов благодаря стеку вызовов и "хлебным крошкам"