add channel option to disable the resolved alert (OK Message) that is sent when condition returns to normal.

This commit is contained in:
Dave Waters
2018-10-15 17:16:14 -04:00
parent 938541be2e
commit 6376154b16
8 changed files with 96 additions and 63 deletions
+19 -8
View File
@@ -21,6 +21,7 @@ type NotifierBase struct {
IsDeault bool
UploadImage bool
SendReminder bool
DisableResolvedMessage bool
Frequency time.Duration
log log.Logger
@@ -34,14 +35,15 @@ func NewNotifierBase(model *models.AlertNotification) NotifierBase {
}
return NotifierBase{
Id: model.Id,
Name: model.Name,
IsDeault: model.IsDefault,
Type: model.Type,
UploadImage: uploadImage,
SendReminder: model.SendReminder,
Frequency: model.Frequency,
log: log.New("alerting.notifier." + model.Name),
Id: model.Id,
Name: model.Name,
IsDeault: model.IsDefault,
Type: model.Type,
UploadImage: uploadImage,
SendReminder: model.SendReminder,
DisableResolvedMessage: model.DisableResolvedMessage,
Frequency: model.Frequency,
log: log.New("alerting.notifier." + model.Name),
}
}
@@ -83,6 +85,11 @@ func (n *NotifierBase) ShouldNotify(ctx context.Context, context *alerting.EvalC
}
}
// Do not notify when state is OK if DisableResolvedMessage is set to true
if context.Rule.State == models.AlertStateOK && n.DisableResolvedMessage {
return false
}
return true
}
@@ -106,6 +113,10 @@ func (n *NotifierBase) GetSendReminder() bool {
return n.SendReminder
}
func (n *NotifierBase) GetDisableResolvedMessage() bool {
return n.DisableResolvedMessage
}
func (n *NotifierBase) GetFrequency() time.Duration {
return n.Frequency
}