Налаштування моніторингу криптобота: 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 дні. Вартість налаштування — від $500, що окупається за тиждень-два. Замовте налаштування — і ми підготуємо дашборд індивідуально під ваш бот.

Чотири рівні метрик для криптобота

Моніторинг ділимо на чотири рівні:

  • Життя процесу: бот живий, 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-моделі. Grafana в 3 рази наочніша за аналоги при створенні дашбордів, а Alertmanager простіший у налаштуванні ніж інші системи сповіщень. Бот експортує метрики через 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 для сповіщень:

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 років досвіду в крипто-розробці, виконано більше 50 проектів з моніторингу криптоботів. Гарантуємо працездатність системи та надаємо підтримку. Зв'яжіться для оцінки вашого проєкту — отримайте консультацію та попередній розрахунок вартості.