From b0b9d032ee7a7221cedefee330d04cb2b83c3f69 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Thu, 22 Oct 2026 11:00:48 +0200 Subject: [PATCH] Add Immich Prometheus alerts --- apps/immich/resources/alerts.yaml | 41 ++++++++++++++++++++++++ apps/immich/resources/kustomization.yaml | 3 +- bootstrap/immich-project.yaml | 2 ++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 apps/immich/resources/alerts.yaml diff --git a/apps/immich/resources/alerts.yaml b/apps/immich/resources/alerts.yaml new file mode 100644 index 0000000..41dd72c --- /dev/null +++ b/apps/immich/resources/alerts.yaml @@ -0,0 +1,41 @@ +apiVersion: monitoring.coreos.com/v1 +kind: PrometheusRule +metadata: + name: immich + namespace: immich +spec: + groups: + - name: immich + rules: + - alert: ImmichServerUnavailable + expr: kube_deployment_status_replicas_available{namespace="immich",deployment="immich-server"} < 1 + for: 5m + labels: + severity: critical + annotations: + summary: Immich server has no available replicas + description: No Immich server pod has been available for five minutes. + - alert: ImmichMachineLearningUnavailable + expr: kube_deployment_status_replicas_available{namespace="immich",deployment="immich-machine-learning"} < 1 + for: 15m + labels: + severity: warning + annotations: + summary: Immich machine-learning service has no available replicas + description: Immich machine learning has been unavailable for fifteen minutes. + - alert: ImmichValkeyUnavailable + expr: kube_deployment_status_replicas_available{namespace="immich",deployment="immich-valkey"} < 1 + for: 5m + labels: + severity: critical + annotations: + summary: Immich Valkey has no available replicas + description: Immich's dedicated Valkey instance has been unavailable for five minutes. + - alert: ImmichPostgreSQLMetricsUnavailable + expr: absent(cnpg_collector_up{namespace="immich",cluster="immich-postgresql"}) or max(cnpg_collector_up{namespace="immich",cluster="immich-postgresql"}) < 1 + for: 5m + labels: + severity: critical + annotations: + summary: Immich PostgreSQL is unavailable + description: CloudNativePG metrics for the Immich cluster have been unavailable for five minutes. diff --git a/apps/immich/resources/kustomization.yaml b/apps/immich/resources/kustomization.yaml index 683a977..9740ee7 100644 --- a/apps/immich/resources/kustomization.yaml +++ b/apps/immich/resources/kustomization.yaml @@ -1,4 +1,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - library-storage.yaml +- alerts.yaml +- library-storage.yaml diff --git a/bootstrap/immich-project.yaml b/bootstrap/immich-project.yaml index 82eaed9..9e6c7bd 100644 --- a/bootstrap/immich-project.yaml +++ b/bootstrap/immich-project.yaml @@ -33,6 +33,8 @@ spec: kind: Ingress - group: monitoring.coreos.com kind: PodMonitor + - group: monitoring.coreos.com + kind: PrometheusRule - group: monitoring.coreos.com kind: ServiceMonitor - group: postgresql.cnpg.io