fix: EkuiperAlert api alert bug.
parent
e30adee9b4
commit
bac7c9073d
|
@ -800,36 +800,25 @@ func (p alertApp) AddAlert(ctx context.Context, req map[string]interface{}) erro
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if alertRule.SilenceTime > 0 {
|
||||||
|
alertSend, err := p.dbClient.AlertListLastSend(alertRule.Id)
|
||||||
|
if err != nil {
|
||||||
|
if !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||||
|
// 处理不是记录未找到的情况
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if alertSend.Created+alertRule.SilenceTime > utils.MakeTimestamp() {
|
||||||
|
// 在静默期内,不发送
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var alertList models.AlertList
|
var alertList models.AlertList
|
||||||
alertList.AlertRuleId = alertRule.Id
|
alertList.AlertRuleId = alertRule.Id
|
||||||
alertList.AlertResult = alertResult
|
alertList.AlertResult = alertResult
|
||||||
alertList.TriggerTime = time.Now().UnixMilli()
|
alertList.TriggerTime = time.Now().UnixMilli()
|
||||||
|
|
||||||
send := false
|
|
||||||
if alertRule.SilenceTime > 0 {
|
|
||||||
alertSend, err := p.dbClient.AlertListLastSend(alertRule.Id)
|
|
||||||
if err != nil {
|
|
||||||
if err == gorm.ErrRecordNotFound {
|
|
||||||
send = true
|
|
||||||
goto Jump
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if alertSend.Created+alertRule.SilenceTime <= utils.MakeTimestamp() {
|
|
||||||
send = true
|
|
||||||
goto Jump
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Jump:
|
|
||||||
if send == false {
|
|
||||||
alertList.IsSend = false
|
|
||||||
_, err = p.dbClient.AddAlertList(alertList)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
alertList.IsSend = true
|
alertList.IsSend = true
|
||||||
alertList.Status = constants.Untreated
|
alertList.Status = constants.Untreated
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue