Представьте: ваш арбитражный бот обрабатывает сделки 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 приходит регулярно. Самый базовый уровень —
/healthzendpoint, который проверяем раз в минуту. Если 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% к времени настройки, но окупается за одну ночь простоя.
Этапы настройки мониторинга под ключ
- Анализ архитектуры бота и ключевых метрик (2-3 часа)
- Интеграция prom-client и экспорт метрик (4-6 часов)
- Развёртывание Prometheus + Grafana + Alertmanager (2-3 часа)
- Настройка Telegram-бота и правил алертинга (2-4 часа)
- 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 сек | Высокая | Бесплатно |
| 30 сек - 5 мин | Средняя | Бесплатно | |
| SMS | 5-10 сек | Высокая | Платно |
Мы также обучаем вашу команду работе с дашбордами и предоставляем доступ к репозиторию с конфигами. Срок настройки — от 1 рабочего дня для базового варианта до 5 дней для сложных интеграций с on-chain и кастомными метриками. Для справки: Prometheus и Grafana — основные инструменты стека. Опыт нашей команды более 5 лет в крипто-разработке. Свяжитесь для оценки вашего проекта — получите консультацию и предварительный расчёт стоимости.







