Skip to content

Commit 9de9c40

Browse files
LuxTheDudeskl
andauthored
Fixed label mistmatch in rule "KubeStatefulSetUpdateNotRolledOut" in Group "kubernetes-apps" (#1066)
* Update apps_alerts.libsonnet * test: add KubeStatefulSetUpdateNotRolledOut case --------- Co-authored-by: Stephen Lang <[email protected]>
1 parent 4d54801 commit 9de9c40

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

alerts/apps_alerts.libsonnet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,13 +167,13 @@ local utils = import '../lib/utils.libsonnet';
167167
unless
168168
kube_statefulset_status_update_revision{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s}
169169
)
170-
*
170+
* on(namespace, statefulset, job, %(clusterLabel)s)
171171
(
172172
kube_statefulset_replicas{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s}
173173
!=
174174
kube_statefulset_status_replicas_updated{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s}
175175
)
176-
) and (
176+
) and on(namespace, statefulset, job, %(clusterLabel)s) (
177177
changes(kube_statefulset_status_replicas_updated{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s}[5m])
178178
==
179179
0

tests/apps_alerts-test.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,31 @@ tests:
2525
description: "PDB ns1/pdb1 expects 1 more healthy pods. The desired number of healthy pods has not been met for at least 15m."
2626
runbook_url: "https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepdbnotenoughhealthypods"
2727
summary: "PDB does not have enough healthy pods."
28+
29+
- interval: 1m
30+
name: KubeStatefulSetUpdateNotRolledOut still fires even if another label (e.g. instance) is present
31+
input_series:
32+
- series: 'kube_statefulset_status_current_revision{job="kube-state-metrics", cluster="c1", namespace="ns1", statefulset="ss1", revision="foo", instance="custom"}'
33+
values: '1x15'
34+
- series: 'kube_statefulset_status_update_revision{job="kube-state-metrics", cluster="c1", namespace="ns1", statefulset="ss1", revision="bar", instance="custom"}'
35+
values: '1x15'
36+
- series: 'kube_statefulset_replicas{job="kube-state-metrics", cluster="c1", namespace="ns1", statefulset="ss1", instance="custom"}'
37+
values: '5x15'
38+
- series: 'kube_statefulset_status_replicas_updated{job="kube-state-metrics", cluster="c1", namespace="ns1", statefulset="ss1", instance="custom"}'
39+
values: '1x15'
40+
alert_rule_test:
41+
- eval_time: 14m
42+
alertname: KubeStatefulSetUpdateNotRolledOut
43+
- eval_time: 15m
44+
alertname: KubeStatefulSetUpdateNotRolledOut
45+
exp_alerts:
46+
- exp_labels:
47+
cluster: "c1"
48+
job: "kube-state-metrics"
49+
namespace: "ns1"
50+
severity: "warning"
51+
statefulset: "ss1"
52+
exp_annotations:
53+
description: "StatefulSet ns1/ss1 update has not been rolled out."
54+
runbook_url: "https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetupdatenotrolledout"
55+
summary: "StatefulSet update has not been rolled out."

0 commit comments

Comments
 (0)