From 2b0aba205f63c4a2f8aa1083d2045cf6c205bfc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ullrich=20Sch=C3=A4fer?= Date: Sat, 28 Mar 2026 07:54:49 +0100 Subject: [PATCH] Fix error rate alert: avoid NaN when no traffic The error rate formula (errors/total*100) produces NaN when there's zero traffic (0/0). Grafana treats NaN as a firing condition. Use clamp_min on the denominator to return 0% instead. Co-Authored-By: Claude Opus 4.6 (1M context) --- infrastructure/grafana/provisioning/alerting/alerts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infrastructure/grafana/provisioning/alerting/alerts.yml b/infrastructure/grafana/provisioning/alerting/alerts.yml index 92e0e90..42594e5 100644 --- a/infrastructure/grafana/provisioning/alerting/alerts.yml +++ b/infrastructure/grafana/provisioning/alerting/alerts.yml @@ -60,7 +60,7 @@ groups: relativeTimeRange: { from: 600, to: 0 } datasourceUid: prometheus model: - expr: sum(rate(http_request_duration_seconds_count{status=~"5.."}[5m])) / sum(rate(http_request_duration_seconds_count[5m])) * 100 + expr: sum(rate(http_request_duration_seconds_count{status=~"5.."}[5m])) / clamp_min(sum(rate(http_request_duration_seconds_count[5m])), 0.001) * 100 instant: true - refId: B datasourceUid: __expr__