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:
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"