From 1ce263990326304165eb1a747247579ae737467a Mon Sep 17 00:00:00 2001 From: liugq Date: Thu, 27 Jul 2023 16:22:09 +0800 Subject: [PATCH] add event_enabled field to recovery_notification_config --- model/alerting/rule.go | 3 ++- service/alerting/elasticsearch/engine.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/model/alerting/rule.go b/model/alerting/rule.go index 45c0f0d3..e930d64f 100644 --- a/model/alerting/rule.go +++ b/model/alerting/rule.go @@ -83,11 +83,12 @@ type NotificationConfig struct { } type RecoveryNotificationConfig struct { - Enabled bool `json:"enabled"` + Enabled bool `json:"enabled"` // channel enabled Title string `json:"title"` //text template Message string `json:"message"` // text template AcceptTimeRange TimeRange `json:"accept_time_range,omitempty"` Normal []Channel `json:"normal,omitempty"` + EventEnabled bool `json:"event_enabled"` } type MessageTemplate struct{ diff --git a/service/alerting/elasticsearch/engine.go b/service/alerting/elasticsearch/engine.go index 0bf1b0b4..9c314e9a 100644 --- a/service/alerting/elasticsearch/engine.go +++ b/service/alerting/elasticsearch/engine.go @@ -676,9 +676,10 @@ func (engine *Engine) Do(rule *alerting.Rule) error { if err != nil { return fmt.Errorf("save alert message error: %w", err) } + // todo add recover notification to inner system message // send recover message to channel recoverCfg := rule.RecoveryNotificationConfig - if recoverCfg != nil && recoverCfg.Enabled { + if recoverCfg != nil && recoverCfg.EventEnabled && recoverCfg.Enabled { paramsCtx = newParameterCtx(rule, checkResults, util.MapStr{ alerting2.ParamEventID: alertItem.ID, alerting2.ParamTimestamp: alertItem.Created.Unix(),