1 # Generated from 'kubernetes-apps' group from https://raw.githubusercontent.com/coreos/prometheus-operator/master/contrib/kube-prometheus/manifests/prometheus-rules.yaml
2 {{- if and .Values.defaultRules.create .Values.kubeStateMetrics.enabled }}
3 apiVersion: {{ printf "%s/v1" (.Values.prometheusOperator.crdApiGroup | default "monitoring.coreos.com") }}
6 name: {{ printf "%s-%s" (include "prometheus-operator.fullname" .) "kubernetes-apps" | trunc 63 | trimSuffix "-" }}
8 app: {{ template "prometheus-operator.name" . }}
9 {{ include "prometheus-operator.labels" . | indent 4 }}
10 {{- if .Values.defaultRules.labels }}
11 {{ toYaml .Values.defaultRules.labels | indent 4 }}
13 {{- if .Values.defaultRules.annotations }}
15 {{ toYaml .Values.defaultRules.annotations | indent 4 }}
19 - name: kubernetes-apps
21 - alert: KubePodCrashLooping
23 message: Pod {{`{{ $labels.namespace }}`}}/{{`{{ $labels.pod }}`}} ({{`{{ $labels.container }}`}}) is restarting {{`{{ printf "%.2f" $value }}`}} times / 5 minutes.
24 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepodcrashlooping
25 expr: rate(kube_pod_container_status_restarts_total{job="kube-state-metrics"}[15m]) * 60 * 5 > 0
29 - alert: KubePodNotReady
31 message: Pod {{`{{ $labels.namespace }}`}}/{{`{{ $labels.pod }}`}} has been in a non-ready state for longer than an hour.
32 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepodnotready
33 expr: sum by (namespace, pod) (kube_pod_status_phase{job="kube-state-metrics", phase=~"Pending|Unknown"}) > 0
37 - alert: KubeDeploymentGenerationMismatch
39 message: Deployment generation for {{`{{ $labels.namespace }}`}}/{{`{{ $labels.deployment }}`}} does not match, this indicates that the Deployment has failed but has not been rolled back.
40 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedeploymentgenerationmismatch
42 kube_deployment_status_observed_generation{job="kube-state-metrics"}
44 kube_deployment_metadata_generation{job="kube-state-metrics"}
48 - alert: KubeDeploymentReplicasMismatch
50 message: Deployment {{`{{ $labels.namespace }}`}}/{{`{{ $labels.deployment }}`}} has not matched the expected number of replicas for longer than an hour.
51 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedeploymentreplicasmismatch
53 kube_deployment_spec_replicas{job="kube-state-metrics"}
55 kube_deployment_status_replicas_available{job="kube-state-metrics"}
59 - alert: KubeStatefulSetReplicasMismatch
61 message: StatefulSet {{`{{ $labels.namespace }}`}}/{{`{{ $labels.statefulset }}`}} has not matched the expected number of replicas for longer than 15 minutes.
62 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetreplicasmismatch
64 kube_statefulset_status_replicas_ready{job="kube-state-metrics"}
66 kube_statefulset_status_replicas{job="kube-state-metrics"}
70 - alert: KubeStatefulSetGenerationMismatch
72 message: StatefulSet generation for {{`{{ $labels.namespace }}`}}/{{`{{ $labels.statefulset }}`}} does not match, this indicates that the StatefulSet has failed but has not been rolled back.
73 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetgenerationmismatch
75 kube_statefulset_status_observed_generation{job="kube-state-metrics"}
77 kube_statefulset_metadata_generation{job="kube-state-metrics"}
81 - alert: KubeStatefulSetUpdateNotRolledOut
83 message: StatefulSet {{`{{ $labels.namespace }}`}}/{{`{{ $labels.statefulset }}`}} update has not been rolled out.
84 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetupdatenotrolledout
86 max without (revision) (
87 kube_statefulset_status_current_revision{job="kube-state-metrics"}
89 kube_statefulset_status_update_revision{job="kube-state-metrics"}
93 kube_statefulset_replicas{job="kube-state-metrics"}
95 kube_statefulset_status_replicas_updated{job="kube-state-metrics"}
100 - alert: KubeDaemonSetRolloutStuck
102 message: Only {{`{{ $value }}`}}% of the desired Pods of DaemonSet {{`{{ $labels.namespace }}`}}/{{`{{ $labels.daemonset }}`}} are scheduled and ready.
103 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetrolloutstuck
105 kube_daemonset_status_number_ready{job="kube-state-metrics"}
107 kube_daemonset_status_desired_number_scheduled{job="kube-state-metrics"} * 100 < 100
111 - alert: KubeDaemonSetNotScheduled
113 message: '{{`{{ $value }}`}} Pods of DaemonSet {{`{{ $labels.namespace }}`}}/{{`{{ $labels.daemonset }}`}} are not scheduled.'
114 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetnotscheduled
116 kube_daemonset_status_desired_number_scheduled{job="kube-state-metrics"}
118 kube_daemonset_status_current_number_scheduled{job="kube-state-metrics"} > 0
122 - alert: KubeDaemonSetMisScheduled
124 message: '{{`{{ $value }}`}} Pods of DaemonSet {{`{{ $labels.namespace }}`}}/{{`{{ $labels.daemonset }}`}} are running where they are not supposed to run.'
125 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetmisscheduled
126 expr: kube_daemonset_status_number_misscheduled{job="kube-state-metrics"} > 0
130 - alert: KubeCronJobRunning
132 message: CronJob {{`{{ $labels.namespace }}`}}/{{`{{ $labels.cronjob }}`}} is taking more than 1h to complete.
133 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecronjobrunning
134 expr: time() - kube_cronjob_next_schedule_time{job="kube-state-metrics"} > 3600
138 - alert: KubeJobCompletion
140 message: Job {{`{{ $labels.namespace }}`}}/{{`{{ $labels.job_name }}`}} is taking more than one hour to complete.
141 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubejobcompletion
142 expr: kube_job_spec_completions{job="kube-state-metrics"} - kube_job_status_succeeded{job="kube-state-metrics"} > 0
146 - alert: KubeJobFailed
148 message: Job {{`{{ $labels.namespace }}`}}/{{`{{ $labels.job_name }}`}} failed to complete.
149 runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubejobfailed
150 expr: kube_job_status_failed{job="kube-state-metrics"} > 0