我们正在切换到区域性的prometheus设置,并使用下面的AM设置来减少重复的警报:https://github.com/prometheus/alertmanager#high-availability -- deduping似乎工作得很好,但是缺少警报会导致问题。
我们有一组度量标准,它们只进入一个区域,并且为这些度量标准设置了一些缺少的警报。这些数据只存在于一个区域,而在其他区域则不存在,从而触发基于剩余区域的缺席警报。如何处理这个问题?
发布于 2021-06-21 20:40:29
唯一的解决方案是不使用缺席函数,而是使用其他技术来确定指标是否不存在。
以下建议对未发出警报的其他一些答复-
count(cpu_stat offset 1d) by (region) unless count(cpu_stat) by (region)
上面的警报开始立即触发,就像没有函数一样,但是警报在1d (对于定义的偏移间隔)仍然处于活动状态,并在该持续时间之后自行解决。因此,我们需要确保它是在那个窗口中运行的。它的优点是,它通过标签保留组,而不像缺席函数。
在我们的例子中,在prometheus的一些其他切分实例中根本没有收集cpu_stat。因此,此警报从不触发,因为在此之前甚至没有发生这种度量。因此它解决了我们的问题。
另一件事是-> --这是一个set操作,所以即使cpu_stat计数减少,它也会发出警报。因此,您可以根据cpu_stats的常规计数对其进行微调,如下所示:
(count(cpu_stat offset 1d) by (region) unless count(cpu_stat) by (region)) > 40这样,只有在任何区域的缺失指标计数超过40时,它才会发出警报。
https://stackoverflow.com/questions/68009639
复制相似问题