1.4 KiB
How to monitor Synapse metrics using Prometheus
- 1: Install prometheus:
-
Follow instructions at http://prometheus.io/docs/introduction/install/
- 2: Enable synapse metrics:
-
Simply setting a (local) port number will enable it. Pick a port. prometheus itself defaults to 9090, so starting just above that for locally monitored services seems reasonable. E.g. 9092:
Add to homeserver.yaml
metrics_port: 9092
Restart synapse
- 3: Check out synapse-prometheus-config
- 4: Add
synapse.html
andsynapse.rules
-
The
.html
file needs to appear in prometheus'sconsoles
directory, and the.rules
file needs to be invoked somewhere in the main config file. A symlink to each from the git checkout into the prometheus directory might be easiest to ensuregit pull
keeps it updated. - 5: Add a prometheus target for synapse
-
This is easiest if prometheus runs on the same machine as synapse, as it can then just use localhost:
global: { rule_file: "synapse.rules" } job: { name: "synapse" target_group: { target: "http://localhost:9092/" } }
6: Start prometheus:
./prometheus -config.file=prometheus.conf
- 7: Wait a few seconds for it to start and perform the first scrape,
-
then visit the console:
http://server-where-prometheus-runs:9090/consoles/synapse.html