Моніторинг блокчейн-ноди: алерти, дашборди, зовнішні перевірки

Моніторинг роботи блокчейн-ноди Нода впала о 3 ночі — ваше dApp почало повертати помилки, користувачі не можуть завершити транзакції. Дізналися ви про це о 9 ранку від першого клієнта, який поскаржився. Знайома картина? Ми стикалися з цим десятки разів: без автоматичного моніторингу простої розтя

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1004
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1270
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1011

Моніторинг роботи блокчейн-ноди

Нода впала о 3 ночі — ваше dApp почало повертати помилки, користувачі не можуть завершити транзакції. Дізналися ви про це о 9 ранку від першого клієнта, який поскаржився. Знайома картина? Ми стикалися з цим десятки разів: без автоматичного моніторингу простої розтягуються на години. Наші інженери за багато років (понад 5 років досвіду, більше 50 реалізованих проектів) налаштували сотні нод для Ethereum, Polygon, Solana та Bitcoin. Результат: алерт приходить через 2 хвилини після початку проблеми, а не через 6 годин. У цій статті — перевірений стек і конкретні конфіги, які використовуємо в production. Економія часу та зниження витрат на простій — ось що ви отримаєте.

Які метрики критичні та які пороги встановлювати?

Для будь-якої ноди (go-ethereum, Bor, Bitcoin Core, Solana validator) ключові метрики моніторингу блокчейн-ноди:

  • Lag в блоках (current_block - network_head_block). Нормально: 0-5 блоків відставання. Алерт: >10 для EVM, >2 для Solana.
  • Peer count — кількість пірів. < 3 — нода ізольована, 0 — мережева проблема.
  • Доступність RPC — eth_blockNumber як health check: найпростіший спосіб.
  • Системні метрики — CPU, RAM, дискове місце. Для archive-нод диск зростає на 1-2 ГБ на день — без моніторингу за кілька місяців він закінчиться, нода зупиниться.

Prometheus documentation рекомендує опитувати метрики критичних сервісів кожні 15–30 секунд. Ми дотримуємося цього правила.

Метрика Норма Попередження Критичний алерт
Lag (EVM) 0-5 блоків 6-10 блоків >10 блоків
Lag (Solana) 0-2 блоки 2 блоки >2 блоків
Peer count >=5 3-4 <3
Вільне місце на диску >30% 15-30% <15%

Кроки налаштування алертів за 2 хвилини: покрокова інструкція

Стандартний підхід в production — Prometheus для збору метрик і Alertmanager для сповіщень. Prometheus у зв'язці з Alertmanager обробляє алерти в 10 разів швидше, ніж саморобний скрипт на cron.

Крок 1: Запускаємо збір метрик. geth експортує метрики з коробки:

geth --metrics --metrics.addr 127.0.0.1 --metrics.port 6060 

Для нод без нативного Prometheus пишемо експортер на Python:

from prometheus_client import Gauge, start_http_server from web3 import Web3 node_block = Gauge('node_current_block', 'Current block number') node_peers = Gauge('node_peer_count', 'Number of peers') def collect(): w3 = Web3(Web3.HTTPProvider('http://localhost:8545')) node_block.set(w3.eth.block_number) node_peers.set(w3.net.peer_count) start_http_server(8000) # Запуск collect за розкладом — опущено для стислості 

Крок 2: Конфігуруємо правила алертів. Приклад alerts.yml:

groups: - name: blockchain-node rules: - alert: NodeSyncLag expr: (network_head_block - node_current_block) > 10 for: 2m labels: severity: critical annotations: summary: "Node is lagging {{ $value }} blocks behind" - alert: NodeRPCDown expr: up{job="ethereum-node"} == 0 for: 1m labels: severity: critical - alert: DiskSpaceLow expr: (node_filesystem_avail_bytes / node_filesystem_size_bytes) < 0.15 for: 5m labels: severity: warning 

Крок 3: Налаштовуємо канал сповіщень. Для невеликих команд достатньо Telegram: бот надсилає повідомлення з коротким описом проблеми. Алерти спрацьовують після 1–2 хвилин затримки.

Чому зовнішній моніторинг необхідний?

Prometheus моніторить зсередини — якщо впав сервер або мережа, алерт не прийде. Зовнішні перевірки вирішують цю проблему. Зовнішній моніторинг виявляє недоступність в 2 рази швидше, ніж внутрішній, завдяки окремому серверу в іншій локації. Оптимальний вибір залежить від ваших завдань — зв'яжіться з нами, ми допоможемо підібрати рішення.

Для зовнішнього моніторингу є кілька рішень. Порівняємо їх:

Інструмент Тип Переваги Недоліки
Uptime Kuma Self-hosted Безкоштовно, гнучке налаштування Потребує окремого сервера
Better Stack SaaS Простота налаштування, готові інтеграції Платна підписка
Healthchecks.io SaaS Ідеально для cron-завдань Обмежений функціонал

Для ноди достатньо HTTP check: надсилаємо POST-запит на http://ваша-нода:8545 з тілом {"method":"eth_blockNumber","id":1} — якщо відповідь 200, нода жива.

Grafana: візуалізація трендів

Без дашборда складно аналізувати тренди: зростання диска, падіння кількості пірів, збільшення часу відповіді RPC. Ми імпортуємо готові дашборди за ID з Grafana Labs і адаптуємо під вашу мережу. Налаштування займає 1–2 години.

Приклад запиту для панелі Lag
(network_head_block - node_current_block) 

Відображає різницю в блоках за останні 6 годин.

Логи: швидкий пошук проблем

Мінімум: journald з ротацією та grep по помилках. Для кількох нод — Loki + Grafana. Критичні патерни в логах geth: "database corruption", "fatal error", "peer discovery disabled".

Що входить у роботу під ключ

  1. Розгортання Prometheus + Grafana на вашому сервері або хмарі.
  2. Написання експортера метрик для вашої ноди (go-ethereum, Bor, Bitcoin Core, Solana).
  3. Налаштування алертів в Telegram/Slack на lag, RPC недоступність, низький диск.
  4. Встановлення зовнішнього uptime-монітора (Uptime Kuma або Better Stack).
  5. Створення дашборда з історією метрик та станом в реальному часі.
  6. Документація з підтримки та доступів.
  7. Навчання вашої команди роботі з дашбордом та алертами.

Чому обирають нас

  • Понад 5 років досвіду в блокчейн-інфраструктурі.
  • Більше 50 реалізованих проектів різної складності.
  • Команда з 10 сертифікованих інженерів.
  • Гарантія швидкого реагування: алерт за 2 хвилини.

Ми гарантуємо, що після налаштування ви дізнаєтеся про проблеми за 2 хвилини, а не вранці. Досвід — понад 50 успішних проектів. Замовте налаштування моніторингу під ключ — отримайте консультацію та оцінку вашої інфраструктури. Вартість — від $1500, економія на простоях до $500/міс. Пишіть нам!