Skip to content
Snippets Groups Projects
Forked from Maunium / synapse
21450 commits behind the upstream repository.
metrics-howto.rst 1.42 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
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