Поддержка сторонних расширений: Интеграция с Sentry

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
  • 🔍 Быстрое устранение инцидентов благодаря стеку вызовов и "хлебным крошкам"

📎 Related Topics