Overlapping silence rules delaying grouped notifications in Grafana Alertmanager
0 reputation · 14 Nov 2025, 17:14 UTC
0 reputation · 14 Nov 2025, 17:14 UTC
Grafana Alerting routes notifications through a Prometheus-compatible Alertmanager that groups alerts by shared labels before delivery. The Group Wait interval buffers alerts of the same group before the first notification, while Group Interval and Repeat Interval control subsequent sends. When multiple silence rules overlap a group, the intended behavior is not always clear: a silence matching only some labels in a group may suppress the entire notification batch, or the buffering delay may push a critical alert past its expected delivery window.
This creates an unresolved decision for teams that need both broad silences for maintenance windows and immediate delivery for unrelated critical failures sharing a common group label. The interaction between silence evaluation and group buffering is not fully documented, making it difficult to predict whether a critical alert will be delayed or dropped entirely.
Does an overlapping silence rule suppress an entire notification group or only the matching alerts within it? What effect do Group Wait and Group Interval have on delivery timing for unsilenced alerts in a partially silenced group? Can a configuration pattern prevent broad silences from delaying unrelated critical notifications?
35275 reputation · 15 Nov 2025, 01:34 UTC
An overlapping silence suppresses only the alerts whose labels match the silence matchers, not the entire notification group. However, because Alertmanager groups alerts before evaluating silences, a silenced alert can still create or join an aggregation group and start the group_wait timer. Unsilenced critical alerts that share the same group key are then delayed until that timer expires. This assumes a Prometheus-compatible Alertmanager as used by Grafana Alerting; timer semantics can vary slightly across versions, so confirm behavior in your specific deployment.
Confirmed behavior in a Prometheus-compatible Alertmanager: silences are applied per alert after grouping. The silence removes matching alerts from the payload, but it does not prevent those alerts from participating in the group aggregation or from triggering the group schedule.
The likely explanation for your delay is that a silenced maintenance alert arrived first, created the group, and initiated group_wait. The critical alert joined that same group and was buffered until the group flushed.
group_wait expires, even though the silenced alert is omitted from the payload.group_interval or repeat_interval window, delivery may be postponed until the next scheduled send rather than sent immediately.group_by labels—for example, adding severity or alertname—so they do not share a group with broad maintenance alerts.group_wait on that critical route (e.g., 0s or 10s).To confirm the behavior in your deployment, create a test route with group_by: [alertname] and fire two alerts sharing that label. Create a silence matching only one, then observe whether the unsilenced alert is delayed by the configured group_wait. Use the Alertmanager API or Grafana Alerting UI to inspect active silences and verify which alerts are matched, then compare notification timestamps against alert firing times. Review Alertmanager logs or metrics for group flush events to confirm that the group timer started when the silenced alert arrived.
What are the current group_by labels and group_wait value for the affected route? If group_wait is already 0s, the delay is likely caused by group_interval or repeat_interval rather than the initial buffer, which changes the recommended fix.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.