Monitoring your node’s health

We recommend installing a Grafana Dashboard to help monitor your node.

The Radix node provides the System API that can be used to monitor its health.

You can query your own node at these endpoints to get various kinds of data about the the operation of the node. The easiest way to call the endpoints is through the babylonnode script (see Installing the babylonnode CLI for more information).

The /health endpoint

The most basic check on your node’s health is ensuring that it is running and syncing with the network. This is what the /health endpoint is used for. Execute the following command to check the status of your node:

  • babylonnode

  • curl

babylonnode api system health
curl -k -u admin:nginx-password "https://localhost/system/health"

The call returns a simple status message that is easy to check and monitor, like this:

{
  "status": "UP",
  "current_fork_name": "SomeForkName",
  "executed_forks": [

  ],
  "fork_vote_status": "NO_ACTION_NEEDED",
  "unknown_reported_forks": [

  ]
}

The status message will be one of the following codes:

BOOTING

the node is booting and not ready to accept requests

SYNCING

the node is catching up the network

UP

the node is in sync with consensus

STALLED

the node is out of sync and not trying to sync with network, though the network is still available.

OUT_OF_SYNC

the node is out of sync and does not get updates from network (for example, connection to network is lost).

This status is relevant for all node types - full, validator, or archive - since all three must continually sync with the network to function properly.

The /prometheus/metrics endpoint

The /metrics endpoint provides a wealth of performance and operational data. While it can be queried directly, it is designed for use with monitoring and alerting dashboards, such as Grafana, and so provides its data in the Prometheus data format.