夜莺监控(Nightingale)版本v6.7.2版本出现延时推送告警情况

Viewed 42

使用的是夜莺开源版,版本号是v6.7.2,数据源接入的是prometheus,告警推送方式是使用的webhook
出现了如下问题:
在昨日1月17号下午两点开启了一条告警规则,但是由于prometheus服务这边已经下线了,按理说告警规则是无法查询出信息的,但是在第三方客户端依然接收到了告警通知,并且通知时间是16号的早上七点。

然后我去查询历史告警,找到了对应出现告警的信息,发现历史告警信息上的恢复时间就是我在第三方接收到客户端的时间,而接收到的告警信息上的1-16号则是告警触发时间。

下面是我的webhook接收到的信息片段,我的告警信息上面显示的时间就是用的trigger_time

我的疑问是这个告警推送是依赖数据源的吗,按理来说应该是接入的prometheus去搜集指标返回给夜莺去做告警处理才对但是我的数据源已经断开了是查不到东西的才对,但是他依然能够推送出告警。还是说夜莺会有告警积压的情况,我产生告警了因为某种原因没有推送到第三方客户端就产生了告警积压。

希望有同志能解答一下疑问,谢谢

2 Answers

我觉得符合预期,这是一个告警恢复事件,告警事件生成的时间不是触发时间。告警推送不直接依赖数据源,但是告警规则是按配置查询数据源,如果告警触发后一段时间(按规则配置)没有再从对应数据源查到数据就会产生一个告警恢复事件。可以参考这篇了解一下夜莺告警流程和通知原理

我明白你说的意思了,那这个触发一段时间后没有再从数据源查询数据,才会产生告警恢复事件,那这个一段时间具体是指多久呢,还是指的是告警规则里的某个时间配置呢。并且这个告警恢复事件是可控制的吗,还是说只要像你的回复上说的那样,他就一定会产生告警恢复事件呢

应该是你把数据源下线之后,并没有把数据源删除,恰好启用的告警规则,之前产生过异常的告警事件,规则被关闭之后,异常事件一直是未恢复的状态,当再启用这个告警规则的时候,由于数据源下线了,查询不到异常数据了,发现之前一直是异常状态,所以产生了恢复通知,这块后续我们优化下,如果把告警规则关闭了,将相关的活跃告警也删除掉,就没问题这个了