synapse/docs/metrics-howto.rst
2015-04-23 16:16:08 +01:00

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

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