An unmonitored blockchain node can silently fall out of sync, stop accepting connections, or run into resource issues without any obvious symptom until something depending on it fails. This guide covers monitoring node health properly.
Key Things to Monitor
- Sync status — is the node caught up with the current network tip, or falling behind?
- Peer connections — is the node connected to a healthy number of peers?
- Disk usage — approaching capacity limits (see Blockchain Node Storage Requirements and Growth Planning)
- Process uptime — has the node crashed or restarted unexpectedly?
Checking Sync Status (Example: Bitcoin)
bitcoin-cli getblockchaininfo | grep -E "blocks|headers|verificationprogress"
Compare blocks against headers — a significant gap indicates the node is behind and still catching up.
Checking Peer Connections
bitcoin-cli getconnectioncount
A healthy node typically maintains multiple peer connections; a sudden drop to zero or very few suggests a network or firewall issue worth investigating.
Automating a Basic Health Check Script
sudo nano /usr/local/bin/check-node-health.sh
#!/bin/bash
PROGRESS=$(bitcoin-cli getblockchaininfo | grep verificationprogress | awk -F': ' '{print $2}' | tr -d ',')
PEERS=$(bitcoin-cli getconnectioncount)
if (( $(echo "$PROGRESS < 0.999" | bc -l) )); then
echo "WARNING: Node sync progress is $PROGRESS" | mail -s "Node Sync Alert" [email protected]
fi
if [ "$PEERS" -lt 3 ]; then
echo "WARNING: Only $PEERS peer connections" | mail -s "Node Peer Alert" [email protected]
fi
sudo crontab -e
*/15 * * * * /usr/local/bin/check-node-health.sh
Monitoring Process Uptime
sudo systemctl status bitcoind
If running as a systemd service (recommended for production nodes), Restart=always in the service file ensures automatic restart after a crash — but you should still be notified when this happens, not just rely on silent auto-recovery.
Integrating with Prometheus/Grafana
Several blockchain node implementations offer Prometheus-compatible metrics exporters, letting you build proper dashboards and alerting rules alongside your existing server monitoring — see How to Set Up Prometheus and Grafana for VPS Monitoring for the base monitoring stack.
Monitoring Disk Usage Specifically for Node Data
df -h /path/to/node/data/directory
Set alerts at meaningful thresholds (e.g. 80% full) well before running out entirely, especially important given blockchain data's continuous growth.
What "Healthy" Looks Like Day to Day
- Sync progress consistently at or near 100% (or headers/blocks count matching, for chains without a percentage metric)
- A stable, healthy number of peer connections
- No unexpected process restarts in logs
- Disk usage growing predictably, not unexpectedly spiking
Common Errors
Node appears synced but peer count is zero — the node might be relying on cached/local data without actually validating against the live network; investigate firewall rules and network connectivity immediately.
Continue Reading
- How to Run a Bitcoin Full Node on a VPS
- How to Set Up Prometheus and Grafana for VPS Monitoring
- Blockchain Node Storage Requirements and Growth Planning
Browse more articles in Cryptocurrency & Blockchain Node Hosting.