Monitorizar tu nodo Bitcoin con Prometheus y Grafana: métricas clave:


Monitorizar tu nodo Bitcoin con Prometheus y Grafana: métricas clave

Introducción

En un entorno de producción o para desarrolladores avanzados, disponer de una visión en tiempo real del estado de un nodo Bitcoin es fundamental. Mediante Prometheus para la recolección de métricas y Grafana para la visualización, puedes detectar problemas de sincronización, saturación de la mempool o cuellos de botella en recursos.

Requisitos previos

Un nodo Bitcoin Core corriendo en modo mainnet o testnet.

Acceso por RPC habilitado en bitcoin.conf.

Servidor o máquina con Prometheus instalado.

Instancia de Grafana disponible.

Herramienta bitcoin_exporter (exportador para Prometheus).

Configuración de Bitcoin Core

Habilitar RPC

En ~/.bitcoin/bitcoin.conf, añade o edita:

server=1

rpcuser=tu_usuario

rpcpassword=tu_contraseña

rpcallowip=127.0.0.1

Reinicia tu nodo para aplicar cambios.

Instalar y configurar el Exportador de Prometheus

Obtención del Exportador

Existen varios proyectos uno popular es bitcoin-exporter. Clona el repositorio:

git clone https://github.com/delphinus/bitcoin_exporter.git

Compilar y ejecutar

Dentro del directorio:

go build .

./bitcoin_exporter –bitcoin.rpcuser=tu_usuario –bitcoin.rpcpassword=tu_contraseña –bitcoin.rpcport=8332

Por defecto expone métricas en el puerto 9115 en formato Prometheus.

Configurar Prometheus

En el archivo prometheus.yml, añade el job del exportador:

– job_name: bitcoin_node

static_configs:

– targets: [localhost:9115]

Reinicia Prometheus para que comience a recolectar estas métricas.

Crear dashboard en Grafana

1. Entra en tu instancia de Grafana y crea un Nuevo Dashboard.

2. Añade un Panel por cada métrica clave (ver sección siguiente).

3. Usa consultas PromQL como:

bitcoin_block_height

rate(bitcoin_block_interval_seconds[1h])

4. Ajusta visualizaciones (gráficas de tiempo, gauges, tablas). Puedes importar dashboards comunitarios desde https://grafana.com/grafana/dashboards.

Métricas clave y cómo interpretarlas

Métricas de sincronización

bitcoin_block_height: número de bloque actual. Debe crecer hasta alcanzar la altura de la red.

bitcoin_block_interval_seconds: tiempo entre bloques. Valor medio ~600 s variaciones grandes indican problemas.

bitcoin_block_sync_delta: diferencia entre tu altura y la altura de un nodo de referencia. Si no disminuye, hay fallo de conexión.

Métricas de red

bitcoin_peers: número de pares conectados. Un rango sano es 8–125.

bitcoin_connection_type: tipos de conexiones (inbound/outbound).

Métricas de mempool

bitcoin_mempool_size_bytes: tamaño del mempool en bytes.

bitcoin_mempool_transactions: número de transacciones pendientes.

Métricas de recursos del sistema

process_cpu_seconds_total: tiempo de CPU consumido por el exportador.

process_resident_memory_bytes: memoria usada.

node_filesystem_avail_bytes: espacio libre en disco donde reside blocks y chainstate.

Disponibilidad y alertas

up{job=bitcoin_node}: valor 1 si Prometheus scrapeó con éxito.

bitcoin_exporter_last_scrape_error: errores en la última recolección.

Tabla resumen de métricas

Métrica: bitcoin_block_height Descripción: Altura del bloque Umbral crítico: delta > 50

Métrica: bitcoin_mempool_size_bytes Descripción: Tamaño mempool Umbral crítico: > 300 MB

Métrica: bitcoin_peers Descripción: Número pares Umbral crítico: < 4

Métrica: bitcoin_block_interval_seconds Descripción: Tiempo bloque Umbral crítico: > 1200 s

Métrica: up{job=bitcoin_node} Descripción: Disponibilidad exporter Umbral crítico: = 0

Conclusión

Monitorizar tu nodo Bitcoin con Prometheus y Grafana te brinda una visión proactiva: detectas desincronizaciones, saturación de la mempool o problemas de hardware antes de que afecten a tus servicios. Ajusta umbrales, crea alertas en Grafana y mantén siempre la trazabilidad de tu infraestructura.

Leave a Reply

Your email address will not be published. Required fields are marked *