Skip to content

Commit b5c70aa

Browse files
authored
Merge pull request #845 from VannTen/feat/stuck_rollout
feat: Add KubeDeploymentRolloutStuck
2 parents d87b757 + a35c53b commit b5c70aa

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed

alerts/apps_alerts.libsonnet

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,21 @@
8787
'for': '15m',
8888
alert: 'KubeDeploymentReplicasMismatch',
8989
},
90+
{
91+
expr: |||
92+
kube_deployment_status_condition{condition="Progressing", status="false",%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s}
93+
!= 0
94+
||| % $._config,
95+
labels: {
96+
severity: 'warning',
97+
},
98+
annotations: {
99+
description: 'Rollout of deployment {{ $labels.namespace }}/{{ $labels.deployment }} is not progressing for longer than 15 minutes.',
100+
summary: 'Deployment rollout is not progressing.',
101+
},
102+
'for': '15m',
103+
alert: 'KubeDeploymentRolloutStuck',
104+
},
90105
{
91106
expr: |||
92107
(

runbook.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ This page collects this repositories alerts and begins the process of describing
3737
##### Alert Name: "KubeDeploymentReplicasMismatch"
3838
+ *Message*: `Deployment {{ $labels.namespace }}/{{ $labels.deployment }} replica mismatch`
3939
+ *Severity*: warning
40+
##### Alert Name: "KubeDeploymentRolloutStuck"
41+
+ *Message*: `Rollout of deployment {{ $labels.namespace }}/{{ $labels.deployment }} is not progressing`
42+
+ *Severity*: warning
4043
##### Alert Name: "KubeStatefulSetReplicasMismatch"
4144
+ *Message*: `StatefulSet {{ $labels.namespace }}/{{ $labels.statefulset }} replica mismatch`
4245
+ *Severity*: warning

tests.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,30 @@ tests:
813813
runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetrolloutstuck
814814
- eval_time: 34m
815815
alertname: KubeDaemonSetRolloutStuck
816+
# KubeDeploymentRolloutStuck
817+
- interval: 1m
818+
input_series:
819+
- series: 'kube_deployment_status_condition{job="kube-state-metrics",namespace="monitoring",deployment="stuck", condition="Progressing", status="false"}'
820+
values: '1+0x17 0+0x5'
821+
alert_rule_test:
822+
- eval_time: 14m
823+
alertname: KubeDeploymentRolloutStuck
824+
- eval_time: 16m
825+
alertname: KubeDeploymentRolloutStuck
826+
exp_alerts:
827+
- exp_labels:
828+
job: kube-state-metrics
829+
namespace: monitoring
830+
deployment: stuck
831+
severity: warning
832+
condition: Progressing
833+
status: "false"
834+
exp_annotations:
835+
summary: 'Deployment rollout is not progressing.'
836+
description: 'Rollout of deployment monitoring/stuck is not progressing for longer than 15 minutes.'
837+
runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedeploymentrolloutstuck
838+
- eval_time: 18m
839+
alertname: KubeDeploymentRolloutStuck
816840
- interval: 1m
817841
# Misscheduled is non zero.
818842
input_series:

0 commit comments

Comments
 (0)