Setting up a monitoring stack for Boost
This tutorial goes through the steps required to run our Docker monitoring setup to collect and visualize metrics for various Boost processes
Background
The monitoring stack we will use includes:
Prometheus - collects metrics and powers dashboards in Grafana
Tempo - collects traces and powers traces search in Grafana with Jaeger
Grafana - provides visualization tools and dashboards for all metrics and traces
Lotus and Boost are already instrumented to produce traces and stats for Prometheus to collect.
The Boost team also packages a set of Grafana dashboards that are automatically provisioned as part of this setup.
Prerequisites
This setup has been tested on macOS and on Linux. We haven’t tested it on Windows, so YMMV.
All the monitoring stack containers run in Docker.
Steps
Install Docker
We have tested this setup with Docker 20.10.23 on macOS and Ubuntu.
DNS resolution for Prometheus
Depending on where your Filecoin processes (boostd
, lotus
, lotus-miner
, booster-bitswap
, etc.) are running, you need to confirm that they are reachable from Prometheus so that it can scrape their metrics.
By default the setup expects to find them within the same Docker network, so if you are running them elsewhere (i.e. on the `host` network), make sure to update the docker-compose file for the same.
Loki plugin for Docker
The loki
plugin for docker is required to allow collecting logs from the services running on docker itself
Storage location
The default value is $HOME/.boost-monitoring
Please ensure that the storage directory exists and has permission 0775 or 0777 depending on your user.
Update metrics endpoints for Prometheus
In case, you are running all Boost services and monitoring stack on the same node, you can skip this step.
Start the monitoring stack using docker-compose
Verify Prometheus Targets
If you are running software firewall like `ufw`, you might need to modify your iptables and allow access from the Prometheus container / network to the Filecoin stack network, for example:
sudo docker network inspect monitoring
# note the Subnet for the network
sudo ufw allow from 172.18.0.0/16
Grafana dashboards
Last updated