From c161472575909b2fd21984778c7bbdc8dbe7632e Mon Sep 17 00:00:00 2001
From: Krombel <krombel@krombel.de>
Date: Tue, 14 Nov 2017 19:59:26 +0100
Subject: [PATCH] Make clear that the config has changed since prometheus v2

This restores the config that is usable for prometheus pre v2.0.0
The new config only works for Prometheus v2+
---
 contrib/prometheus/README                     | 16 ++++++++++++--
 contrib/prometheus/synapse-v1.rules           | 21 +++++++++++++++++++
 .../{synapse.rules => synapse-v2.rules}       |  0
 3 files changed, 35 insertions(+), 2 deletions(-)
 create mode 100644 contrib/prometheus/synapse-v1.rules
 rename contrib/prometheus/{synapse.rules => synapse-v2.rules} (100%)

diff --git a/contrib/prometheus/README b/contrib/prometheus/README
index d2ddb3f6e4..7b733172e6 100644
--- a/contrib/prometheus/README
+++ b/contrib/prometheus/README
@@ -5,7 +5,19 @@ To use it, first install prometheus by following the instructions at
 
   http://prometheus.io/
 
-Then add a new job to the main prometheus.yml file:
+### for Prometheus v1
+Add a new job to the main prometheus.conf file:
+
+  job: {
+    name: "synapse"
+
+    target_group: {
+      target: "http://SERVER.LOCATION.HERE:PORT/_synapse/metrics"
+    }
+  }
+
+### for Prometheus v2
+Add a new job to the main prometheus.yml file:
 
   - job_name: "synapse"
     metrics_path: "/_synapse/metrics"
@@ -18,7 +30,7 @@ Then add a new job to the main prometheus.yml file:
 To use `synapse.rules` add
 
     rule_files:
-      - "/PATH/TO/synapse.rules"
+      - "/PATH/TO/synapse-v2.rules"
 
 Metrics are disabled by default when running synapse; they must be enabled
 with the 'enable-metrics' option, either in the synapse config file or as a
diff --git a/contrib/prometheus/synapse-v1.rules b/contrib/prometheus/synapse-v1.rules
new file mode 100644
index 0000000000..b6f84174b0
--- /dev/null
+++ b/contrib/prometheus/synapse-v1.rules
@@ -0,0 +1,21 @@
+synapse_federation_transaction_queue_pendingEdus:total = sum(synapse_federation_transaction_queue_pendingEdus or absent(synapse_federation_transaction_queue_pendingEdus)*0)
+synapse_federation_transaction_queue_pendingPdus:total = sum(synapse_federation_transaction_queue_pendingPdus or absent(synapse_federation_transaction_queue_pendingPdus)*0)
+
+synapse_http_server_requests:method{servlet=""} = sum(synapse_http_server_requests) by (method)
+synapse_http_server_requests:servlet{method=""} = sum(synapse_http_server_requests) by (servlet)
+
+synapse_http_server_requests:total{servlet=""} = sum(synapse_http_server_requests:by_method) by (servlet)
+
+synapse_cache:hit_ratio_5m = rate(synapse_util_caches_cache:hits[5m]) / rate(synapse_util_caches_cache:total[5m])
+synapse_cache:hit_ratio_30s = rate(synapse_util_caches_cache:hits[30s]) / rate(synapse_util_caches_cache:total[30s])
+
+synapse_federation_client_sent{type="EDU"} = synapse_federation_client_sent_edus + 0
+synapse_federation_client_sent{type="PDU"} = synapse_federation_client_sent_pdu_destinations:count + 0
+synapse_federation_client_sent{type="Query"} = sum(synapse_federation_client_sent_queries) by (job)
+
+synapse_federation_server_received{type="EDU"} = synapse_federation_server_received_edus + 0
+synapse_federation_server_received{type="PDU"} = synapse_federation_server_received_pdus + 0
+synapse_federation_server_received{type="Query"} = sum(synapse_federation_server_received_queries) by (job)
+
+synapse_federation_transaction_queue_pending{type="EDU"} = synapse_federation_transaction_queue_pending_edus + 0
+synapse_federation_transaction_queue_pending{type="PDU"} = synapse_federation_transaction_queue_pending_pdus + 0
diff --git a/contrib/prometheus/synapse.rules b/contrib/prometheus/synapse-v2.rules
similarity index 100%
rename from contrib/prometheus/synapse.rules
rename to contrib/prometheus/synapse-v2.rules
-- 
GitLab