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

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Моніторинг роботи блокчейн-ноди
Простий
~2-3 дні
Часті запитання

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

Етапи блокчейн-розробки

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

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

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

Нода упала в 3 ночі, ваше додаток почала повертати помилки, користувачі не можуть робити транзакції. Дізналися вони про це в 9 ранку від першого пожалувавшегося користувача. Це типова ситуація без мониторингу. Правильний мониторинг—це алерт за 2 хвилини після початку проблеми, а не за 6 годин.

Що мониторити

Для будь-якої ноди (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 GB в день, без мониторингу за кілька місяців він кінчається, нода зупиняється.

Стек мониторингу: Prometheus + Grafana

Стандартний підхід для production:

go-ethereum експортує метрики в Prometheus формат з коробки:

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

Доступні: chain_head_block, p2p_peers, rpc_calls, timing метрики.

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

# Простий експортер для будь-якої EVM-ноди
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)

Grafana dashboards—готові дашборди є на Grafana.com для більшості нод (Ethereum, Polygon, BSC). Імпортуються по ID, адаптуються під конкретний стек.

Alerting

Alertmanager (частина Prometheus стека)—настройка алертів:

# 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

Канали сповіщень: Telegram, Slack, PagerDuty—через Alertmanager receivers. Для малих команд—Telegram достатньо.

Uptime checks: зовнішній мониторинг

Prometheus мониторить зсередини. Потрібен також зовнішній мониторинг—на випадок якщо упала сам сервер або мережа:

  • Uptime Kuma (self-hosted)—простий, підтримує HTTP, TCP, JSON-query перевірки
  • Better Uptime / BetterStack—SaaS, зручно для малих команд
  • Healthchecks.io—для cron-подібних перевірок, які мають виконуватися регулярно

Для ноди: HTTP check на POST / з тілом {"method":"eth_blockNumber","id":1}—якщо 200 повернувся, нода живе на базовому рівні.

Логи

Централізовані логи—окрема тема, але мінімум: journald з ротацією та grep по рівням помилок. Для кількох нод—Loki + Grafana.

Критичні паттерни в логах geth які потрібно алертити: "database corruption", "fatal error", "peer discovery disabled".

Що настроюється за 2–3 дні

Prometheus + Grafana на вашому сервері або хмарі, експортер метрик для вашої ноди (go-ethereum, Bor, Bitcoin Core або інша), алерти в Telegram/Slack на lag, RPC недоступність, системні метрики, зовнішній uptime monitoring, дашборд з історією метрик та поточним станом.