diff --git a/resources/mixins/kubernetes/generated/alerts.yml b/resources/mixins/kubernetes/generated/alerts.yml index ef2f768..fefb04d 100644 --- a/resources/mixins/kubernetes/generated/alerts.yml +++ b/resources/mixins/kubernetes/generated/alerts.yml @@ -367,6 +367,7 @@ / sum(increase(container_cpu_cfs_periods_total{namespace!~"openshift-.*"}[5m])) by (cluster, container, pod, namespace) > ( 25 / 100 ) + unless on(cluster, container, pod, namespace) container_cpu_cfs_throttled_periods_total{namespace="rhacs-observability", container="config-reloader"} "for": "15m" "labels": "severity": "info" diff --git a/resources/mixins/kubernetes/mixin.libsonnet b/resources/mixins/kubernetes/mixin.libsonnet index fcd8857..48167cc 100644 --- a/resources/mixins/kubernetes/mixin.libsonnet +++ b/resources/mixins/kubernetes/mixin.libsonnet @@ -49,6 +49,20 @@ kubernetes { group.rules ), } + else if group.name == 'kubernetes-resources' then + group { + rules: std.map( + function(rule) + if rule.alert == 'CPUThrottlingHigh' then + rule { + // Exclude config-reloader in rhacs-observability namespace from false positive CPU throttling alerts. + expr: std.rstripChars(rule.expr, '\n') + '\nunless on(%(clusterLabel)s, container, pod, namespace) container_cpu_cfs_throttled_periods_total{namespace="rhacs-observability", container="config-reloader"}\n' % $._config, + } + else + rule, + group.rules + ), + } else if group.name == 'kubernetes-system-kubelet' then group { rules: std.filter( diff --git a/resources/prometheus/generated/kubernetes-mixin-alerts.yaml b/resources/prometheus/generated/kubernetes-mixin-alerts.yaml index 82d816b..1e544ce 100644 --- a/resources/prometheus/generated/kubernetes-mixin-alerts.yaml +++ b/resources/prometheus/generated/kubernetes-mixin-alerts.yaml @@ -375,6 +375,7 @@ spec: / sum(increase(container_cpu_cfs_periods_total{namespace!~"openshift-.*"}[5m])) by (cluster, container, pod, namespace) > ( 25 / 100 ) + unless on(cluster, container, pod, namespace) container_cpu_cfs_throttled_periods_total{namespace="rhacs-observability", container="config-reloader"} "for": "15m" "labels": "severity": "info"