From a31828407539bd76c12cef7a8b696164f8d03c4b Mon Sep 17 00:00:00 2001 From: liugq Date: Thu, 31 Aug 2023 10:47:37 +0800 Subject: [PATCH] change event id from alert id to event message id --- service/alerting/elasticsearch/engine.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/service/alerting/elasticsearch/engine.go b/service/alerting/elasticsearch/engine.go index 72b92a33..fe2af3ab 100644 --- a/service/alerting/elasticsearch/engine.go +++ b/service/alerting/elasticsearch/engine.go @@ -689,7 +689,7 @@ func (engine *Engine) Do(rule *alerting.Rule) error { recoverCfg := rule.RecoveryNotificationConfig if recoverCfg != nil && recoverCfg.EventEnabled && recoverCfg.Enabled { paramsCtx = newParameterCtx(rule, checkResults, util.MapStr{ - alerting2.ParamEventID: alertItem.ID, + alerting2.ParamEventID: alertMessage.ID, alerting2.ParamTimestamp: alertItem.Created.Unix(), "duration": alertItem.Created.Sub(alertMessage.Created).String(), "trigger_at": alertMessage.Created.Unix(), @@ -722,7 +722,6 @@ func (engine *Engine) Do(rule *alerting.Rule) error { triggerAt = alertMessage.Created } paramsCtx = newParameterCtx(rule, checkResults, util.MapStr{ - alerting2.ParamEventID: alertItem.ID, alerting2.ParamTimestamp: alertItem.Created.Unix(), "duration": alertItem.Created.Sub(triggerAt).String(), "trigger_at": triggerAt.Unix(), @@ -789,6 +788,9 @@ func (engine *Engine) Do(rule *alerting.Rule) error { if alertMessage != nil && alertMessage.Status == alerting.MessageStateIgnored { return nil } + if alertMessage != nil && paramsCtx != nil { + paramsCtx[alerting2.ParamEventID] = alertMessage.ID + } // if channel is not enabled return notifyCfg := rule.GetNotificationConfig() if notifyCfg == nil || !notifyCfg.Enabled { @@ -815,12 +817,14 @@ func (engine *Engine) Do(rule *alerting.Rule) error { //log.Error(lastAlertItem.ID, period, periodDuration) if paramsCtx == nil { paramsCtx = newParameterCtx(rule, checkResults, util.MapStr{ - alerting2.ParamEventID: alertItem.ID, alerting2.ParamTimestamp: alertItem.Created.Unix(), "priority": priority, "duration": alertItem.Created.Sub(alertMessage.Created).String(), "trigger_at": alertMessage.Created.Unix(), }) + if alertMessage != nil { + paramsCtx[alerting2.ParamEventID] = alertMessage.ID + } } if alertMessage == nil || period > periodDuration {