From 3b80a91678e6d1140d9e150c4dde5dcfdc6b53ea Mon Sep 17 00:00:00 2001 From: WrenIX Date: Thu, 13 Feb 2025 12:46:14 +0100 Subject: [PATCH] fix(mycloud-nextcloud): improve metrics and alerts (workaround) --- mycloud-nextcloud/templates/release.yaml | 5 +++ mycloud-nextcloud/templates/rules.yaml | 40 ++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 mycloud-nextcloud/templates/rules.yaml diff --git a/mycloud-nextcloud/templates/release.yaml b/mycloud-nextcloud/templates/release.yaml index c178164..1c42f11 100644 --- a/mycloud-nextcloud/templates/release.yaml +++ b/mycloud-nextcloud/templates/release.yaml @@ -215,6 +215,11 @@ spec: metrics: enabled: true + image: + tag: 0.8.0 + info: + apps: true + update: true prometheus: serviceMonitor: diff --git a/mycloud-nextcloud/templates/rules.yaml b/mycloud-nextcloud/templates/rules.yaml new file mode 100644 index 0000000..6a86c45 --- /dev/null +++ b/mycloud-nextcloud/templates/rules.yaml @@ -0,0 +1,40 @@ +{{- if (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1/PrometheusRule") }} +--- +# workaround till https://github.com/nextcloud/helm/pull/694 is merged +apiVersion: monitoring.coreos.com/v1 +kind: PrometheusRule +metadata: + name: {{ .Release.Name }} + labels: + {{- toYaml .Values.commons.prometheus.rules.labels | nindent 4 }} +spec: + groups: + - name: {{ .Release.Name }}-Defaults + rules: + - alert: "nextcloud: not reachable" + expr: 'avg(nextcloud_last_update_seconds{ }) without(endpoint,container,pod,instance) < 1' + labels: + severity: "critical" + {{` + annotations: + summary: "Nextcloud in {{ $labels.namespace }} is not reachable by exporter" + `}} + + - alert: "nextcloud: outdated version" + expr: 'sum(nextcloud_system_update_available{ }) without(endpoint,container,pod,instance) > 0' + labels: + severity: "warning" + {{` + annotations: + summary: "Nextcloud in {{ $labels.namespace }} is outdated" + `}} + + - alert: "nextcloud: outdated apps" + expr: 'sum(nextcloud_apps_updates_available_total{ }) without(endpoint,container,pod,instance) > 0' + labels: + severity: "warning" + {{` + annotations: + summary: "Nextcloud in {{ $labels.namespace }} has {{ $value }} outdated Apps" + `}} +{{- end }}