对于警报条件,Prometheus 行为不正确。
警报根据条件生成并正确发送到不同的通知渠道。问题是 - 一段时间后警报解决(随机时间间隔,有时在 5 分钟内,有时在 10 分钟后),然后在一分钟内重新生成。当我检查条件时,它仍然匹配警报无法解决。
事实上,对于特定场景,警报应该处于活动状态 6 小时,但在此期间,我收到了至少 15 条已解决的通知,并在解决后重新生成了警报。我检查了丢失的遥测,但遥测总是存在。警报条件中没有时间偏移。这没有任何意义,因为它对任何其他警报都没有这种行为,而且我的生产环境中至少有 80 个警报在运行。以下是简单的查询:
(sum by(pcName) (cm_summary{regState="p_online"}) == 0 and sum by(pcName) (cm_summary{regState="nb_online"}) == 0 and sum by(pcName) (cm_summary{regState="f40_online"}) == 0 ) and on(pcName) (sum(cm_summary) by (pcName) >= 5)