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

Мониторинг работы блокчейн-ноды Нода упала в 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
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1003
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1269
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1010

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

Нода упала в 3 ночи — ваше dApp начало возвращать ошибки, пользователи не могут завершить транзакции. Узнали вы об этом в 9 утра от первого пожаловавшегося клиента. Знакомая картина? Мы сталкивались с этим десятки раз: без автоматического мониторинга простои растягиваются на часы. Наши инженеры за многие годы настроили сотни нод для 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 по расписанию — опущено для краткости 
  1. Конфигурируем правила алертов. Пример 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 
  1. Настраиваем канал уведомлений. Для небольших команд достаточно Telegram: бот присылает сообщение с кратким описанием проблемы. Алерты срабатывают после 1–2 минут задержки.

Почему внешний мониторинг необходим?

Prometheus мониторит изнутри — если упал сервер или сеть, алерт не придёт. Внешние проверки решают эту проблему. Оптимальный выбор зависит от ваших задач — свяжитесь с нами, мы поможем подобрать решение.

Для внешнего мониторинга есть несколько решений. Сравним их:

Инструмент Тип Преимущества Недостатки
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".

Что вы получите за 2-3 дня

  • Prometheus + Grafana на вашем сервере или облаке.
  • Экспортер метрик для вашей ноды (go-ethereum, Bor, Bitcoin Core, Solana).
  • Алерты в Telegram/Slack на lag, RPC недоступность, низкий диск.
  • Внешний uptime-мониторинг.
  • Дашборд с историей метрик и состоянием в реальном времени.
  • Документацию по поддержке и доступам.

Мы гарантируем, что после настройки вы узнаёте о проблемах за 2 минуты, а не наутро. Опыт — более 50 успешных проектов. Закажите настройку мониторинга — получите консультацию и оценку вашей инфраструктуры. Свяжитесь с нами для обсуждения деталей.