You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/dashmate/docs/config/gateway.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,7 +53,7 @@ These settings control the metrics endpoint for monitoring the Gateway:
53
53
|`platform.gateway.metrics.port`| Port for metrics server |`9090`|`9091`|
54
54
55
55
Metrics provide performance and health information about the Gateway service.
56
-
Admin must be enabled to access the metrics endpoint.
56
+
Dashmate automatically enables the Envoy admin endpoint whenever metrics are enabled so that the Prometheus listener can proxy `/stats/prometheus`; if admin itself is still disabled, the listener is not exposed outside of Docker.
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.
4
+
5
+
## Files
6
+
-`docs/prometheus/docker-compose.yml` brings up two containers: a read-only Docker Socket Proxy that exposes `tcp://127.0.0.1:2375`, and Prometheus itself listening on `:9080`.
7
+
-`docs/prometheus/prometheus.yml` configures Prometheus to use Docker service discovery against the proxy and scrape every container that carries Dashmate’s `prometheus.io/*` labels.
8
+
9
+
## Prepare Dashmate
10
+
1. Enable metrics on the services you want Prometheus to monitor (examples):
11
+
-`dashmate config set platform.drive.abci.metrics.enabled true`
12
+
-`dashmate config set platform.drive.tenderdash.metrics.enabled true`
13
+
-`dashmate config set platform.dapi.rsDapi.metrics.enabled true`
14
+
-`dashmate config set platform.gateway.metrics.enabled true`
15
+
-`dashmate config set platform.gateway.rateLimiter.metrics.enabled true`
16
+
2. Restart your network so the containers are recreated with the Prometheus labels: `yarn restart`.
17
+
18
+
The labels Dashmate adds map cleanly onto the Prometheus discovery config:
19
+
-`prometheus.io/scrape=true` enables scraping.
20
+
-`prometheus.io/path` overrides the metrics path (defaults to `/metrics`).
21
+
-`prometheus.io/port` is rewritten to `127.0.0.1:<port>` so scraping stays on the host network.
22
+
-`org_dashmate_service_title` and `org_dashmate_config_name` become `service` and `config` labels on each time series.
23
+
24
+
## Run Prometheus
25
+
```bash
26
+
docker compose -f docs/prometheus/docker-compose.yml up -d
27
+
```
28
+
29
+
Prometheus 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:
30
+
```bash
31
+
curl -X POST http://127.0.0.1:9080/-/reload
32
+
```
33
+
34
+
### Customisation Tips
35
+
- Adjust `scrape_interval` or add more `scrape_configs` in `prometheus.yml` as needed.
36
+
- To scrape additional containers, attach the same `prometheus.io/*` labels to them, or add dedicated jobs to the configuration.
37
+
- If your Docker daemon is not local, update the proxy service or mount a different socket before starting the stack.
**Note:** Dashmate automatically enables the Envoy admin endpoint whenever metrics are turned on so the Prometheus listener can proxy `/stats/prometheus`. If the admin service remains disabled, this socket is not exposed outside Docker; once you explicitly enable admin, it uses the host you configure.
Copy file name to clipboardExpand all lines: packages/dashmate/docs/services/index.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -119,3 +119,6 @@ Most services provide metrics endpoints:
119
119
- Rate Limiter: Rate limiting metrics
120
120
121
121
These can be integrated with monitoring systems like Prometheus and Grafana.
122
+
All containers that expose Prometheus metrics also advertise the Docker label `org.dashmate.config.name`, which Dashmate sets to the active config name. When you run multiple nodes on the same host, you can use that label in Prometheus relabeling rules or dashboards to distinguish each instance.
123
+
124
+
You can find example Prometheus config for local devnet monitoring in [../prometheus/](../prometheus/README.md).
0 commit comments