Skip to main content

Monitoring

After a successful setup of a node, next important step is to set up monitoring for the node. Monitoring is important to keep track of the node's health and performance.

Network Monitoring

All active validators for the testnet are listed on the IOTA Explorer website.

Node Metrics

IOTA node exposes a whole range of metrics to be scraped by the Prometheus. By default, metrics are available at http://localhost:9184/metrics endpoint. Best way to visualize these metrics is to use Grafana. Additionally, a common approach is to use node exporter to scrap performance metrics from the node and push them to Prometheus.

Prometheus and Grafana setup

Currently, we do not have any official Grafana setup guide, however you can try out setup prepared by the community:

Also, there is grafana setup for the local private network, that might be a good example on how to build your own setup. Officially supported dashboards can be found here in the IOTA repository.

Logs

Logs are controlled using the RUST_LOG environment variable.

The RUST_LOG_JSON=1 environment variable can optionally be set to enable logging in JSON structured format.

Depending on your deployment method, these are configured in the following places:

  • If you are using Systemd natively, here
  • If you are using Docker Compose, here

To view and follow the IOTA node logs:

$ journalctl -u iota-node -f

To search for a particular match

$ journalctl -u iota-node -g <SEARCH_TERM>

Docker Logs

If you are using Docker Compose, by default, logs are stored at /var/lib/docker/containers/[container-id]/[container-id]-json.log.

View and follow

sudo docker compose logs -f validator

By default, all logs are output, limit this using --since

sudo docker logs --since 10m -f validator

It is possible to change the logging configuration while a node is running using the admin interface.

Configured logging values

To view the currently configured logging values:

$ curl localhost:1337/logging

To change the currently configured logging values:

$ curl localhost:1337/logging -d "info"