summary refs log tree commit diff
path: root/docs/metrics-howto.rst
blob: b3e71fc770644f8bd1f33223fd2fecc1d985e007 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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: arrange for synapse.html to appear in prometheus's "consoles"
   directory - symlink might be easiest to ensure `git pull` keeps it
   updated.

5: arrange for synapse.rules to be invoked from the main
   prometheus.conf and add a synapse target. 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