含有级别抑制的告警规则低等级的告警通知无法自动恢复

Viewed 18

版本: v7.0.0-beta.10-6f007deeaaac95b94c103a3d1ec81bd7947f9eae
问题描述:
升级到版本beta10后,发现有部分告警触发后,当已经不满足告警条件时没有自动恢复。临时解决方式是将对应的告警规则什么都不改(或者改个备注之类的,总之不需要编辑promql)重新提交一下才会自动恢复

目前该问题唯一共性是开启了级别抑制

  1. 出现问题的告警规则随机,不是固定某一个告警规则出问题。但目前发现都是启用了分级告警的, 即同一个规则中配置了多个告警promql,然后启用了告警抑制
  2. 没有正常恢复的告警规则,是级别较低的那个, 比如我配置了S1, S2, S3, 其中S3触发后,又直接触发了S1级别告警(因为指标变化速度太快,直接触发了S1,而不是先触发S2),等待恢复后,S1规则发出了恢复通知,但是S3的这个告警没有正常发出恢复通知
  3. 即便只配置了S3和S2两个级别的告警,只要开启了告警抑制,低级别的那个只要告警了,就一定无法正常的自动恢复
  4. 目前出问题的告警所在机房是主机房,可以排除边缘机房告警之类的问题
  5. 出问题的数据源是自建的vm,可以排除性能问题
  6. 查看n9e的日志无报错,在理论上应该恢复的时间点都是正常的, 没有error或者warn日志

由于之前的beta版本(至少beta1吧,感觉从来没发现类似这个问题)没太关注此类触发场景,所以不确认是不是之前就存在这个问题,目前我们临时解决方式就是发现一例处理一例,改改规则备注,让其自动恢复

1 Answers

如果开启了级别抑制,恢复通知也会被抑制,如果s1和s3的恢复事件,同时产生,s3的恢复事件会被抑制

那对于这类s3的恢复事件就只能手动删除了吧, 因为除非是改了告警规则,否则是不会自动恢复的