Path: blob/main/operations/observability/mixins/self-hosted/rules/argocd/prometheusRules.yaml
3635 views
# Copyright (c) 2022 Gitpod GmbH. All rights reserved.1# Licensed under the GNU Affero General Public License (AGPL).2# See License.AGPL.txt in the project root for license information.34apiVersion: monitoring.coreos.com/v15kind: PrometheusRule6metadata:7labels:8app.kubernetes.io/name: argocd9app.kubernetes.io/part-of: kube-prometheus10prometheus: k8s11role: alert-rules12name: argocd-monitoring-rules13namespace: monitoring-satellite14spec:15groups:16- name: argocd-apps17rules:18- alert: ArgoCDAppStuckInUnknown19for: 1h20annotations:21description: App {{ $labels.name }} in {{ $labels.label_environment }} is stuck in `Unknown` for 1h. ArgoCD is probably generating errors when trying to compare live and desired manifests.22summary: App {{ $labels.name }} is stuck in `Unknown` state.23dashboard_url: https://grafana.gitpod.io/d/argocd-apps/argocd?refresh=30s&var-environment={{ $labels.label_environment }}&var-team={{ $labels.team }}24expr: label_replace(argocd_app_info{sync_status="Unknown"} * on(name) group_left(label_environment, label_team) argocd_app_labels, "team", "$1", "label_team", "(.*)")25labels:26severity: warning27- alert: ArgoCDAppOutOfSyncForTooLong28for: 1d29annotations:30description: App {{ $labels.name }} in {{ $labels.label_environment }} is `OutOfSync` for more than an entire day. The live manifests do not match with what is desired in git!31summary: App {{ $labels.name }} is stuck in `OutOfSync` state.32dashboard_url: https://grafana.gitpod.io/d/argocd-apps/argocd?refresh=30s&var-environment={{ $labels.label_environment }}&var-team={{ $labels.team }}33expr: label_replace(argocd_app_info{sync_status="OutOfSync"} * on(name) group_left(label_environment, label_team) argocd_app_labels, "team", "$1", "label_team", "(.*)")34labels:35severity: warning36- alert: ArgoCDAppStuckInProgressing37for: 1h38annotations:39description: App {{ $labels.name }} in {{ $labels.label_environment }} is stuck in `Progressing` for 1h. It is possible that the application is left in a weird state.40summary: App {{ $labels.name }} is stuck in `Progressing` state.41dashboard_url: https://grafana.gitpod.io/d/argocd-apps/argocd?refresh=30s&var-environment={{ $labels.label_environment }}&var-team={{ $labels.team }}42expr: label_replace(argocd_app_info{health_status="Progressing"} * on(name) group_left(label_environment, label_team) argocd_app_labels, "team", "$1", "label_team", "(.*)")43labels:44severity: warning45- alert: ArgoCDAppDegraded46for: 20m47annotations:48description: App {{ $labels.name }} in {{ $labels.label_environment }} is stuck in `Degraded`. This means that the synchronization failed requires investigation.49summary: App {{ $labels.name }} is stuck in `Degraded` state.50dashboard_url: https://grafana.gitpod.io/d/argocd-apps/argocd?refresh=30s&var-environment={{ $labels.label_environment }}&var-team={{ $labels.team }}51expr: label_replace(argocd_app_info{health_status="Degraded"} * on(name) group_left(label_environment, label_team) argocd_app_labels, "team", "$1", "label_team", "(.*)")52labels:53severity: warning545556