diff --git a/cmd/alertmanager/main.go b/cmd/alertmanager/main.go index e11af9b9..f58ec1d0 100644 --- a/cmd/alertmanager/main.go +++ b/cmd/alertmanager/main.go @@ -515,6 +515,19 @@ func run() int { r.Key(), ) } + + if r.RouteOpts.RepeatInterval < r.RouteOpts.GroupInterval { + level.Warn(configLogger).Log( + "msg", + "repeat_interval is less than group_interval. Notifications will not repeat until the next group_interval.", + "repeat_interval", + r.RouteOpts.RepeatInterval, + "group_interval", + r.RouteOpts.GroupInterval, + "route", + r.Key(), + ) + } }) go disp.Run() diff --git a/docs/configuration.md b/docs/configuration.md index 6d5ca011..15e85af4 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -197,7 +197,7 @@ matchers: # Note that this parameter is implicitly bound by Alertmanager's # `--data.retention` configuration flag. Notifications will be resent after either # repeat_interval or the data retention period have passed, whichever -# occurs first. +# occurs first. `repeat_interval` should not be less than `group_interval`. [ repeat_interval: <duration> | default = 4h ] # Times when the route should be muted. These must match the name of a