feat(matrix): wire Synapse into monitoring stack
- New headless Service matrix-synapse-metrics exposing port 9090 (Synapse's /_synapse/metrics listener), labeled matrix_metrics=enabled - VictoriaMetrics scrape job 'matrix' targets endpoints in matrix ns with that label + port name 'metrics' - Grafana picks up the official Synapse dashboard from element-hq/synapse v1.152.0 contrib/grafana/synapse.json via URL Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
137705bfe0
commit
0b0c434694
|
|
@ -64,6 +64,9 @@ dashboards:
|
|||
gnetId: 15757
|
||||
revision: 37
|
||||
datasource: VictoriaMetrics
|
||||
matrix-synapse:
|
||||
url: https://raw.githubusercontent.com/element-hq/synapse/v1.152.0/contrib/grafana/synapse.json
|
||||
datasource: VictoriaMetrics
|
||||
ocis:
|
||||
datasource: VictoriaMetrics
|
||||
json: |-
|
||||
|
|
|
|||
24
prototypes/matrix-synapse/ytt/metrics-service.ytt.yaml
Normal file
24
prototypes/matrix-synapse/ytt/metrics-service.ytt.yaml
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#@ load("@ytt:data", "data")
|
||||
|
||||
#@ ns = data.values.application.namespace
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: matrix-synapse-metrics
|
||||
namespace: #@ ns
|
||||
labels:
|
||||
matrix_metrics: enabled
|
||||
spec:
|
||||
type: ClusterIP
|
||||
clusterIP: None
|
||||
selector:
|
||||
app.kubernetes.io/component: synapse
|
||||
app.kubernetes.io/instance: matrix-synapse
|
||||
app.kubernetes.io/name: matrix-synapse
|
||||
ports:
|
||||
- name: metrics
|
||||
port: 9090
|
||||
targetPort: metrics
|
||||
protocol: TCP
|
||||
|
|
@ -94,3 +94,15 @@ server:
|
|||
target_label: ocis_service
|
||||
- source_labels: [__meta_kubernetes_pod_name]
|
||||
target_label: pod
|
||||
- job_name: matrix
|
||||
metrics_path: /_synapse/metrics
|
||||
kubernetes_sd_configs:
|
||||
- role: endpoints
|
||||
namespaces:
|
||||
names: [matrix]
|
||||
relabel_configs:
|
||||
- source_labels: [__meta_kubernetes_service_label_matrix_metrics, __meta_kubernetes_endpoint_port_name]
|
||||
action: keep
|
||||
regex: enabled;metrics
|
||||
- source_labels: [__meta_kubernetes_pod_name]
|
||||
target_label: pod
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ data:
|
|||
name: VictoriaMetrics
|
||||
type: prometheus
|
||||
url: http://victoria-metrics-single-server.monitoring.svc:8428
|
||||
download_dashboards.sh: "#!/usr/bin/env sh\nset -euf\nmkdir -p /var/lib/grafana/dashboards/default\n\ncurl -skf \\\n--connect-timeout 60 \\\n--max-time 60 \\\n-H \"Accept: application/json\" \\\n-H \"Content-Type: application/json;charset=UTF-8\" \\\n \"https://grafana.com/api/dashboards/15757/revisions/37/download\" \\\n | sed '/-- .* --/! s/\"datasource\":.*,/\"datasource\": \"VictoriaMetrics\",/g' \\\n> \"/var/lib/grafana/dashboards/default/kubernetes-cluster.json\"\n \ncurl -skf \\\n--connect-timeout 60 \\\n--max-time 60 \\\n-H \"Accept: application/json\" \\\n-H \"Content-Type: application/json;charset=UTF-8\" \\\n \"https://grafana.com/api/dashboards/1860/revisions/37/download\" \\\n | sed '/-- .* --/! s/\"datasource\":.*,/\"datasource\": \"VictoriaMetrics\",/g' \\\n> \"/var/lib/grafana/dashboards/default/node-exporter.json\"\n"
|
||||
download_dashboards.sh: "#!/usr/bin/env sh\nset -euf\nmkdir -p /var/lib/grafana/dashboards/default\n\ncurl -skf \\\n--connect-timeout 60 \\\n--max-time 60 \\\n-H \"Accept: application/json\" \\\n-H \"Content-Type: application/json;charset=UTF-8\" \\\n \"https://grafana.com/api/dashboards/15757/revisions/37/download\" \\\n | sed '/-- .* --/! s/\"datasource\":.*,/\"datasource\": \"VictoriaMetrics\",/g' \\\n> \"/var/lib/grafana/dashboards/default/kubernetes-cluster.json\"\n \ncurl -skf \\\n--connect-timeout 60 \\\n--max-time 60 \\\n-H \"Accept: application/json\" \\\n-H \"Content-Type: application/json;charset=UTF-8\" \\\n \"https://raw.githubusercontent.com/element-hq/synapse/v1.152.0/contrib/grafana/synapse.json\" \\\n | sed '/-- .* --/! s/\"datasource\":.*,/\"datasource\": \"VictoriaMetrics\",/g' \\\n> \"/var/lib/grafana/dashboards/default/matrix-synapse.json\"\n \ncurl -skf \\\n--connect-timeout 60 \\\n--max-time 60 \\\n-H \"Accept: application/json\" \\\n-H \"Content-Type: application/json;charset=UTF-8\" \\\n \"https://grafana.com/api/dashboards/1860/revisions/37/download\" \\\n | sed '/-- .* --/! s/\"datasource\":.*,/\"datasource\": \"VictoriaMetrics\",/g' \\\n> \"/var/lib/grafana/dashboards/default/node-exporter.json\"\n"
|
||||
grafana.ini: |
|
||||
[analytics]
|
||||
check_for_updates = true
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ spec:
|
|||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
checksum/config: f0cad22500d4e1577b09e33968d5ed873452b63eee6d4fedf9db55f640704755
|
||||
checksum/config: 5be4357fd6e211fab2024add34069a0a3555e629a11081fb4461a2c09fdeff49
|
||||
checksum/dashboards-json-config: 02278b031cbf8831bf02b7a4256e61be096aaeb31d9a25dabd282b6933b1abcb
|
||||
checksum/sc-dashboard-provider-config: e70bf6a851099d385178a76de9757bb0bef8299da6d8443602590e44f05fdf24
|
||||
kubectl.kubernetes.io/default-container: grafana
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
a8r.io/repository: ssh://git@git.tr1ceracop.de:222/gitea_admin/k8s-and-chill.git
|
||||
labels:
|
||||
matrix_metrics: enabled
|
||||
name: matrix-synapse-metrics
|
||||
namespace: matrix
|
||||
spec:
|
||||
clusterIP: None
|
||||
ports:
|
||||
- name: metrics
|
||||
port: 9090
|
||||
protocol: TCP
|
||||
targetPort: metrics
|
||||
selector:
|
||||
app.kubernetes.io/component: synapse
|
||||
app.kubernetes.io/instance: matrix-synapse
|
||||
app.kubernetes.io/name: matrix-synapse
|
||||
type: ClusterIP
|
||||
|
|
@ -101,6 +101,22 @@ data:
|
|||
- source_labels:
|
||||
- __meta_kubernetes_pod_name
|
||||
target_label: pod
|
||||
- job_name: matrix
|
||||
kubernetes_sd_configs:
|
||||
- namespaces:
|
||||
names:
|
||||
- matrix
|
||||
role: endpoints
|
||||
metrics_path: /_synapse/metrics
|
||||
relabel_configs:
|
||||
- action: keep
|
||||
regex: enabled;metrics
|
||||
source_labels:
|
||||
- __meta_kubernetes_service_label_matrix_metrics
|
||||
- __meta_kubernetes_endpoint_port_name
|
||||
- source_labels:
|
||||
- __meta_kubernetes_pod_name
|
||||
target_label: pod
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations:
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ data:
|
|||
name: VictoriaMetrics
|
||||
type: prometheus
|
||||
url: http://victoria-metrics-single-server.monitoring.svc:8428
|
||||
download_dashboards.sh: "#!/usr/bin/env sh\nset -euf\nmkdir -p /var/lib/grafana/dashboards/default\n\ncurl -skf \\\n--connect-timeout 60 \\\n--max-time 60 \\\n-H \"Accept: application/json\" \\\n-H \"Content-Type: application/json;charset=UTF-8\" \\\n \"https://grafana.com/api/dashboards/15757/revisions/37/download\" \\\n | sed '/-- .* --/! s/\"datasource\":.*,/\"datasource\": \"VictoriaMetrics\",/g' \\\n> \"/var/lib/grafana/dashboards/default/kubernetes-cluster.json\"\n \ncurl -skf \\\n--connect-timeout 60 \\\n--max-time 60 \\\n-H \"Accept: application/json\" \\\n-H \"Content-Type: application/json;charset=UTF-8\" \\\n \"https://grafana.com/api/dashboards/1860/revisions/37/download\" \\\n | sed '/-- .* --/! s/\"datasource\":.*,/\"datasource\": \"VictoriaMetrics\",/g' \\\n> \"/var/lib/grafana/dashboards/default/node-exporter.json\"\n"
|
||||
download_dashboards.sh: "#!/usr/bin/env sh\nset -euf\nmkdir -p /var/lib/grafana/dashboards/default\n\ncurl -skf \\\n--connect-timeout 60 \\\n--max-time 60 \\\n-H \"Accept: application/json\" \\\n-H \"Content-Type: application/json;charset=UTF-8\" \\\n \"https://grafana.com/api/dashboards/15757/revisions/37/download\" \\\n | sed '/-- .* --/! s/\"datasource\":.*,/\"datasource\": \"VictoriaMetrics\",/g' \\\n> \"/var/lib/grafana/dashboards/default/kubernetes-cluster.json\"\n \ncurl -skf \\\n--connect-timeout 60 \\\n--max-time 60 \\\n-H \"Accept: application/json\" \\\n-H \"Content-Type: application/json;charset=UTF-8\" \\\n \"https://raw.githubusercontent.com/element-hq/synapse/v1.152.0/contrib/grafana/synapse.json\" \\\n | sed '/-- .* --/! s/\"datasource\":.*,/\"datasource\": \"VictoriaMetrics\",/g' \\\n> \"/var/lib/grafana/dashboards/default/matrix-synapse.json\"\n \ncurl -skf \\\n--connect-timeout 60 \\\n--max-time 60 \\\n-H \"Accept: application/json\" \\\n-H \"Content-Type: application/json;charset=UTF-8\" \\\n \"https://grafana.com/api/dashboards/1860/revisions/37/download\" \\\n | sed '/-- .* --/! s/\"datasource\":.*,/\"datasource\": \"VictoriaMetrics\",/g' \\\n> \"/var/lib/grafana/dashboards/default/node-exporter.json\"\n"
|
||||
grafana.ini: |
|
||||
[analytics]
|
||||
check_for_updates = true
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ spec:
|
|||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
checksum/config: de8d6f16e9721409f5848bcc101e6aa9815e6455bd4fb9b59306159e705ac1cb
|
||||
checksum/config: 3091c3340f9e9518f161b4ddf15db275c8757370b7e8c8d7af912dd555ca3ff6
|
||||
checksum/dashboards-json-config: 02278b031cbf8831bf02b7a4256e61be096aaeb31d9a25dabd282b6933b1abcb
|
||||
checksum/sc-dashboard-provider-config: e70bf6a851099d385178a76de9757bb0bef8299da6d8443602590e44f05fdf24
|
||||
kubectl.kubernetes.io/default-container: grafana
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
a8r.io/repository: ssh://git@git.tr1ceracop.de:222/gitea_admin/k8s-and-chill.git
|
||||
labels:
|
||||
matrix_metrics: enabled
|
||||
name: matrix-synapse-metrics
|
||||
namespace: matrix
|
||||
spec:
|
||||
clusterIP: None
|
||||
ports:
|
||||
- name: metrics
|
||||
port: 9090
|
||||
protocol: TCP
|
||||
targetPort: metrics
|
||||
selector:
|
||||
app.kubernetes.io/component: synapse
|
||||
app.kubernetes.io/instance: matrix-synapse
|
||||
app.kubernetes.io/name: matrix-synapse
|
||||
type: ClusterIP
|
||||
|
|
@ -101,6 +101,22 @@ data:
|
|||
- source_labels:
|
||||
- __meta_kubernetes_pod_name
|
||||
target_label: pod
|
||||
- job_name: matrix
|
||||
kubernetes_sd_configs:
|
||||
- namespaces:
|
||||
names:
|
||||
- matrix
|
||||
role: endpoints
|
||||
metrics_path: /_synapse/metrics
|
||||
relabel_configs:
|
||||
- action: keep
|
||||
regex: enabled;metrics
|
||||
source_labels:
|
||||
- __meta_kubernetes_service_label_matrix_metrics
|
||||
- __meta_kubernetes_endpoint_port_name
|
||||
- source_labels:
|
||||
- __meta_kubernetes_pod_name
|
||||
target_label: pod
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
annotations:
|
||||
|
|
|
|||
Loading…
Reference in a new issue