update prometheus-config to new format
2 files changed, 67 insertions, 23 deletions
diff --git a/contrib/prometheus/README b/contrib/prometheus/README
index eb91db2de2..d2ddb3f6e4 100644
--- a/contrib/prometheus/README
+++ b/contrib/prometheus/README
@@ -5,15 +5,20 @@ To use it, first install prometheus by following the instructions at
http://prometheus.io/
-Then add a new job to the main prometheus.conf file:
+Then add a new job to the main prometheus.yml file:
- job: {
- name: "synapse"
+ - job_name: "synapse"
+ metrics_path: "/_synapse/metrics"
+ # when endpoint uses https:
+ scheme: "https"
- target_group: {
- target: "http://SERVER.LOCATION.HERE:PORT/_synapse/metrics"
- }
- }
+ static_configs:
+ - targets: ['SERVER.LOCATION:PORT']
+
+To use `synapse.rules` add
+
+ rule_files:
+ - "/PATH/TO/synapse.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.rules b/contrib/prometheus/synapse.rules
index b6f84174b0..07e37a885e 100644
--- a/contrib/prometheus/synapse.rules
+++ b/contrib/prometheus/synapse.rules
@@ -1,21 +1,60 @@
-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)
+groups:
+- name: synapse
+ rules:
+ - record: "synapse_federation_transaction_queue_pendingEdus:total"
+ expr: "sum(synapse_federation_transaction_queue_pendingEdus or absent(synapse_federation_transaction_queue_pendingEdus)*0)"
+ - record: "synapse_federation_transaction_queue_pendingPdus:total"
+ expr: "sum(synapse_federation_transaction_queue_pendingPdus or absent(synapse_federation_transaction_queue_pendingPdus)*0)"
+ - record: 'synapse_http_server_requests:method'
+ labels:
+ servlet: ""
+ expr: "sum(synapse_http_server_requests) by (method)"
+ - record: 'synapse_http_server_requests:servlet'
+ labels:
+ method: ""
+ expr: 'sum(synapse_http_server_requests) by (servlet)'
-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)
+ - record: 'synapse_http_server_requests:total'
+ labels:
+ servlet: ""
+ expr: 'sum(synapse_http_server_requests:by_method) by (servlet)'
-synapse_http_server_requests:total{servlet=""} = sum(synapse_http_server_requests:by_method) by (servlet)
+ - record: 'synapse_cache:hit_ratio_5m'
+ expr: 'rate(synapse_util_caches_cache:hits[5m]) / rate(synapse_util_caches_cache:total[5m])'
+ - record: 'synapse_cache:hit_ratio_30s'
+ expr: 'rate(synapse_util_caches_cache:hits[30s]) / rate(synapse_util_caches_cache:total[30s])'
-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])
+ - record: 'synapse_federation_client_sent'
+ labels:
+ type: "EDU"
+ expr: 'synapse_federation_client_sent_edus + 0'
+ - record: 'synapse_federation_client_sent'
+ labels:
+ type: "PDU"
+ expr: 'synapse_federation_client_sent_pdu_destinations:count + 0'
+ - record: 'synapse_federation_client_sent'
+ labels:
+ type: "Query"
+ expr: 'sum(synapse_federation_client_sent_queries) by (job)'
-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)
+ - record: 'synapse_federation_server_received'
+ labels:
+ type: "EDU"
+ expr: 'synapse_federation_server_received_edus + 0'
+ - record: 'synapse_federation_server_received'
+ labels:
+ type: "PDU"
+ expr: 'synapse_federation_server_received_pdus + 0'
+ - record: 'synapse_federation_server_received'
+ labels:
+ type: "Query"
+ expr: 'sum(synapse_federation_server_received_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
+ - record: 'synapse_federation_transaction_queue_pending'
+ labels:
+ type: "EDU"
+ expr: 'synapse_federation_transaction_queue_pending_edus + 0'
+ - record: 'synapse_federation_transaction_queue_pending'
+ labels:
+ type: "PDU"
+ expr: 'synapse_federation_transaction_queue_pending_pdus + 0'
|