summary refs log tree commit diff
path: root/docs
diff options
context:
space:
mode:
authorMatthew Hodgson <matthew@matrix.org>2015-04-23 16:07:49 +0100
committerMatthew Hodgson <matthew@matrix.org>2015-04-23 16:08:08 +0100
commit6c994913473b70e164b13a4f551da8a8d448cc33 (patch)
tree7cf0e08e1c387948558329d12b6fa5e2b4c12802 /docs
parentNeater fetching of user's auth level in a room - squash to int() at access ti... (diff)
downloadsynapse-6c994913473b70e164b13a4f551da8a8d448cc33.tar.xz
prometheus/metrics howto from Leo
Diffstat (limited to 'docs')
-rw-r--r--docs/metrics-howto.rst49
1 files changed, 49 insertions, 0 deletions
diff --git a/docs/metrics-howto.rst b/docs/metrics-howto.rst
new file mode 100644
index 0000000000..b3e71fc770
--- /dev/null
+++ b/docs/metrics-howto.rst
@@ -0,0 +1,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