This directory contains a minimal Prometheus stack for scraping metrics from a Dashmate-managed Platform network. It is meant for local debugging and pairs with the metric endpoints that Dashmate exposes when you enable them in your node configuration.
docs/prometheus/docker-compose.ymlbrings up two containers: a read-only Docker Socket Proxy that exposestcp://127.0.0.1:2375, and Prometheus itself listening on:9080.docs/prometheus/prometheus.ymlconfigures Prometheus to use Docker service discovery against the proxy and scrape every container that carries Dashmate’sprometheus.io/*labels.
- Enable metrics on the services you want Prometheus to monitor (examples):
dashmate config set platform.drive.abci.metrics.enabled truedashmate config set platform.drive.tenderdash.metrics.enabled truedashmate config set platform.dapi.rsDapi.metrics.enabled truedashmate config set platform.gateway.metrics.enabled truedashmate config set platform.gateway.rateLimiter.metrics.enabled true
- Restart your network so the containers are recreated with the Prometheus labels:
yarn restart.
The labels Dashmate adds map cleanly onto the Prometheus discovery config:
prometheus.io/scrape=trueenables scraping.prometheus.io/pathoverrides the metrics path (defaults to/metrics).prometheus.io/portis rewritten to127.0.0.1:<port>so scraping stays on the host network.org_dashmate_service_titleandorg_dashmate_config_namebecomeserviceandconfiglabels on each time series.
docker compose -f docs/prometheus/docker-compose.yml up -dPrometheus stores data in the prometheus-data volume and exposes its UI at http://127.0.0.1:9080. Reload the configuration after any edits with:
curl -X POST http://127.0.0.1:9080/-/reload- Adjust
scrape_intervalor add morescrape_configsinprometheus.ymlas needed. - To scrape additional containers, attach the same
prometheus.io/*labels to them, or add dedicated jobs to the configuration. - If your Docker daemon is not local, update the proxy service or mount a different socket before starting the stack.