Настройка мониторинга криптобота: Prometheus, Grafana, алерты

Представьте: ваш арбитражный бот обрабатывает сделки 24/7 с реальными деньгами. В 3 ночи на бирже случается скачок волатильности, бот зависает на невалидном nonce, а вы узнаёте об этом утром — уже с убытком. Час простоя бота с депозитом $10k может обернуться потерей $200-$500. Потенциальная экономия

Направления блокчейн-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1308
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1003
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1269
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1009

Представьте: ваш арбитражный бот обрабатывает сделки 24/7 с реальными деньгами. В 3 ночи на бирже случается скачок волатильности, бот зависает на невалидном nonce, а вы узнаёте об этом утром — уже с убытком. Час простоя бота с депозитом $10k может обернуться потерей $200-$500. Потенциальная экономия от предотвращения таких простоев — $3000-$5000 в месяц. Мы ставили систему мониторинга криптобота десяткам клиентов, и каждый раз она спасала от потерь. Однажды клиент из DeFi-сектора рассказал, что мониторинг с Telegram-алертами спас его от потери примерно $50k за первый месяц — стоимость услуги окупилась за неделю. Однажды клиент из DeFi-сектора рассказал, что мониторинг с Telegram-алертами спас его от потери примерно $50k за первый месяц.

Мы настраиваем профессиональный мониторинг крипто-бота, который отслеживает всё: от heartbeat процесса до on-chain состояния и P&L. Вы получаете алерты в Telegram, Grafana дашборды и документацию — под ключ за 1-2 дня. Закажите настройку — и мы подготовим дашборд индивидуально под ваш бот.

Какие метрики критичны для криптобота?

Мониторинг делим на четыре уровня:

  • Жизнь процесса: бот жив, heartbeat приходит регулярно. Самый базовый уровень — /healthz endpoint, который проверяем раз в минуту. Если heartbeat пропадает на 5 минут — алерт.
  • On-chain состояние: балансы кошельков, нет ли транзакций в pending > 10 минут (застрявший nonce), gas price не вышел за пределы разрешённого диапазона. Мы используем RPC-ноды с избыточностью: если одна падает, переключаемся на резервную за секунды.
  • Биржевое состояние: API биржи отвечает, WebSocket подключён, open orders актуальны (нет ордеров старше N часов, которые не исполняются). Например, на Binance часто бывает рассинхронизация после переподключения — фиксируем по разнице времени.
  • P&L метрики: реализованный и нереализованный PnL, дневной drawdown. Алерт если drawdown > 5% от капитала. Это предотвращает каскадную просадку.

Как мы настраиваем стек мониторинга

Мы используем Prometheus + Grafana — стандарт для production ботов. Prometheus в 5 раз быстрее конкурентов по сбору метрик благодаря pull-модели. Бот экспортирует метрики через prom-client:

import { Counter, Gauge, Registry } from "prom-client"; const register = new Registry(); const tradesTotal = new Counter({ name: "bot_trades_total", help: "Total number of trades executed", labelNames: ["side", "symbol"], registers: [register], }); const walletBalance = new Gauge({ name: "bot_wallet_balance_usd", help: "Current wallet balance in USD", registers: [register], }); const lastHeartbeat = new Gauge({ name: "bot_last_heartbeat_timestamp", help: "Unix timestamp of last successful loop iteration", registers: [register], }); // В главном цикле бота: lastHeartbeat.setToCurrentTime(); 

Grafana дашборд с ключевыми панелями: балансы в динамике, количество сделок в час, P&L по времени, latency биржевых запросов. Мы настраиваем автоматическое обновление каждые 15 секунд.

Alertmanager для уведомлений:

# alerting-rules.yml groups: - name: bot rules: - alert: BotHeartbeatMissed expr: time() - bot_last_heartbeat_timestamp > 300 for: 2m annotations: summary: "Bot heartbeat missed for 5+ minutes" - alert: DrawdownExceeded expr: bot_daily_drawdown_pct > 5 annotations: summary: "Daily drawdown exceeded 5%" - alert: PendingTransactionStuck expr: bot_pending_tx_age_seconds > 600 annotations: summary: "Transaction stuck in pending for 10+ minutes" 

Почему Telegram лучше, чем email для алертов?

Telegram Bot API обеспечивает доставку уведомлений за секунды — в 10 раз быстрее, чем email (который может задерживаться на минуты). Мы используем эмодзи для уровней критичности: 🚨 critical (требует немедленного вмешательства), ⚠️ warn (проблема растёт), ℹ️ info (рутинное событие). Вот пример кода уведомления:

async function sendAlert(message: string, level: "info" | "warn" | "critical") { const emoji = { info: "ℹ️", warn: "⚠️", critical: "🚨" }[level]; await fetch(`https://api.telegram.org/bot${BOT_TOKEN}/sendMessage`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ chat_id: ALERT_CHAT_ID, text: `${emoji} *Bot Alert*\n\n${message}`, parse_mode: "Markdown", }), }); } 

Как логировать и анализировать?

Структурированные логи (JSON) с обязательными полями: timestamp, level, event, data. Для агрегации — Loki (в связке с Grafana) или Datadog. Пример:

import pino from "pino"; const logger = pino({ level: "info" }); logger.info({ event: "trade_executed", symbol: "ETHUSDT", side: "buy", amount: 0.5, price: 3400 }); logger.error({ event: "api_error", exchange: "binance", error: err.message, retryIn: 5000 }); 
Пример лога ошибки
{"level":50,"time":1700000000000,"msg":"api_error","exchange":"binance","error":"rate limit exceeded","retryIn":5000} 

Логи помогают быстро найти корень проблемы: например, вы видите, что цена в ордере на 2% отличается от рыночной — это ошибка в логике slippage.

Защита от полного падения: Dead Man's Switch

Для критических ботов мы ставим внешний watchdog. Если бот не "постучал" за N минут — автоматически перезапускаем или шлём SMS. Простейшая реализация через healthchecks.io или Cronitor: бот шлёт GET-запрос каждые 5 минут, сервис поднимает алерт при отсутствии пинга. Это добавит ~15% к времени настройки, но окупается за одну ночь простоя.

Этапы настройки мониторинга под ключ

  1. Анализ архитектуры бота и ключевых метрик (2-3 часа)
  2. Интеграция prom-client и экспорт метрик (4-6 часов)
  3. Развёртывание Prometheus + Grafana + Alertmanager (2-3 часа)
  4. Настройка Telegram-бота и правил алертинга (2-4 часа)
  5. Dead man's switch и документация (2-3 часа)

Что входит в настройку мониторинга под ключ

Компонент Описание Время установки
Prometheus Сбор метрик с бота 2-3 часа
Grafana дашборд Визуализация + алерты 4-6 часов
Alertmanager Правила уведомлений 2 часа
Telegram бот Канал уведомлений 1-2 часа
Dead man's switch Watchdog 1 час
Документация Описание метрик и алертов 2 часа

Сравнение методов уведомлений

Канал Скорость доставки Надёжность Стоимость
Telegram 1-3 сек Высокая Бесплатно
Email 30 сек - 5 мин Средняя Бесплатно
SMS 5-10 сек Высокая Платно

Мы также обучаем вашу команду работе с дашбордами и предоставляем доступ к репозиторию с конфигами. Срок настройки — от 1 рабочего дня для базового варианта до 5 дней для сложных интеграций с on-chain и кастомными метриками. Для справки: Prometheus и Grafana — основные инструменты стека. Опыт нашей команды более 5 лет в крипто-разработке. Свяжитесь для оценки вашего проекта — получите консультацию и предварительный расчёт стоимости.