From da7a73952da53feca0f4bab4615e3f40515f0dcc Mon Sep 17 00:00:00 2001 From: George Robinson Date: Sun, 15 Oct 2023 21:59:33 +0100 Subject: [PATCH] Add debug logs for muted alerts This commit adds debug logs to MuteStage that logs when an alert is muted. This can help operators root cause missing notifications when alerts are silenced by mistake or purpose but then forgotten about. Signed-off-by: George Robinson --- notify/notify.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/notify/notify.go b/notify/notify.go index 2c9f768a36..14c90a377c 100644 --- a/notify/notify.go +++ b/notify/notify.go @@ -518,16 +518,24 @@ func NewMuteStage(m types.Muter) *MuteStage { } // Exec implements the Stage interface. -func (n *MuteStage) Exec(ctx context.Context, _ log.Logger, alerts ...*types.Alert) (context.Context, []*types.Alert, error) { - var filtered []*types.Alert +func (n *MuteStage) Exec(ctx context.Context, logger log.Logger, alerts ...*types.Alert) (context.Context, []*types.Alert, error) { + var ( + filtered []*types.Alert + muted []*types.Alert + ) for _, a := range alerts { // TODO(fabxc): increment total alerts counter. // Do not send the alert if muted. - if !n.muter.Mutes(a.Labels) { + if n.muter.Mutes(a.Labels) { + muted = append(muted, a) + } else { filtered = append(filtered, a) } // TODO(fabxc): increment muted alerts counter if muted. } + if len(muted) > 0 { + level.Debug(logger).Log("msg", "Notifications will not be sent for muted alerts", "alerts", fmt.Sprintf("%v", muted)) + } return ctx, filtered, nil }