mirror of https://github.com/watcha-fr/synapse
commit
eede182df7
@ -0,0 +1,50 @@ |
|||||||
|
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 |
||||||
|
https://github.com/matrix-org/synapse-prometheus-config |
||||||
|
|
||||||
|
4: Add ``synapse.html`` and ``synapse.rules`` |
||||||
|
The ``.html`` file needs to appear in prometheus's ``consoles`` 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 ensure ``git 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 |
Loading…
Reference in new issue