Grafana Alerts Triggering Multiple Notifications for Grouped Alerts

Hello,

I’m encountering an issue with alert notifications in Grafana. I’ve set up a notification policy to group alerts by alertname so that multiple clusters under the same alert rule should trigger only one notification when the alert state changes (from firing to resolved or vice versa).

However, the issue arises when:

  1. One cluster (e.g., Cluster A) fires an alert. I receive a single notification, as expected.
  2. Another cluster (e.g., Cluster B) fires under the same alert rule while Cluster A is still firing. At this point, I receive a second notification stating that there are now two firing alerts.

This behavior continues, and I end up receiving additional notifications for each new cluster that triggers the alert, even though all these clusters are part of the same alert rule.

What I want is to receive only a single notification per state change:

  • When the first cluster fires, I get notified.
  • If additional clusters fire while the alert is already active, I don’t want a new notification.
  • When all clusters resolve, I get a single resolved notification.

How can I do that? I use Grafana 11.2.1

This behavior continues, and I end up receiving additional notifications for each new cluster that triggers the alert, even though all these clusters are part of the same alert rule.

The behavior you’re observing is expected based on how notification grouping works: Group alert notifications | Grafana documentation

  • If additional clusters fire while the alert is already active, I don’t want a new notification.

With your current setup, this cannot be possible.

It’s key to have in mind how a notification “group” works:

1 - The notification group is still active.

2 - A new alert arrives to the group. This is a group change.

3 - Another notification must be sent when the current group_interval ends.


The other key concept is the relationship between “alert instance” (or alert) and alert rule.

For instance: your_alert query:

  • {cluster=“a”} value1
  • {cluster=“b”} value2

This query generates two separate alert instances, one for cluster="a" and another for cluster="b". Even though these instances are part of the same alert rule, they are treated as distinct alerts because of their differing labels.


To not receiving separate notifications for each cluster, modify the alert query so it doesn’t include the cluster label in its results. For instance, instead of returning values per cluster, consider returning the max value across all clusters.

Thank you so much for the detailed response! I truly appreciate it!

1 Like