diff --git a/alert/consume.go b/alert/consume.go index 8d87e30fe666183d45d669b278a36e9796f58a7b..4aa3b42c3e6187157a6c5f420059aa15cef65703 100644 --- a/alert/consume.go +++ b/alert/consume.go @@ -153,6 +153,7 @@ func genNotifyUserIDs(alertRule *models.AlertRule) []int64 { // 如果是告警,就存库,如果是恢复,就从未恢复的告警表里删除 func persist(event *models.AlertEvent) { if event.IsRecov() { + logger.Debugf("[event.Recovery.db.DelByHashId]: delete recovery event:%+v", event) err := event.DelByHashId() if err != nil { logger.Warningf("event_consume: delete recovery event err:%v, event:%+v", err, event) diff --git a/judge/last_event.go b/judge/last_event.go index 31d496d4af981657b5ff8d856648708bd608234f..98ba554aa0479b057f9cc0b7917ea08579bb292a 100644 --- a/judge/last_event.go +++ b/judge/last_event.go @@ -45,13 +45,14 @@ func (s *SafeEventMap) DeleteOrSendRecovery(promql string, toKeepKeys map[string continue } if ev.ReadableExpression == promql { - logger.Debugf("[to_del][ev.IsRecovery:%+v][ev.LastSend:%+v]", ev.IsRecovery, ev.LastSend) + logger.Debugf("[to_del][ev.IsRecovery:%+v][ev.LastSend:%+v][promql:%v]", ev.IsRecovery, ev.LastSend, promql) delete(s.M, k) now := time.Now().Unix() // promql 没查询到结果,需要将告警标记为已恢复并发送 // 同时需要满足 已经发送过触发信息,并且时间差满足 大于AlertDuration // 为了避免 发送告警后 一个点 断点了就立即发送恢复信息的case if ev.IsAlert() && ev.LastSend && now-ev.TriggerTime > ev.AlertDuration { + logger.Debugf("[prom.alert.MarkRecov][promql:%v][ev.RuleName:%v]", promql, ev.RuleName) ev.MarkRecov() EventQueue.PushFront(ev) }