【问题标题】:How to count fired alerts in Prometheus alerts and append it to alerting labels?如何计算 Prometheus 警报中触发的警报并将其附加到警报标签?
【发布时间】:2019-01-28 10:24:32
【问题描述】:
例如,我有 2 个主机,当 CPU > 90% 时会触发警报。
我可以打开 Prometheus UI 和 Alert Manager UI,我看到 2 个主机的警报正在触发。
我使用 webhook 作为接收器,我想获取每个主机的 CPU>90% 的警报计数,我该如何实现?
我考虑是否可以从某个地方获取计数值,然后我可以将其附加到警报标签中,最后我可以从 webhook 界面中的标签中获取值。
我提到了Count alerts fired by prometheus,他们使用了更改功能,但如果值没有改变(假设 CPU 保持 90%),它就无法覆盖。
【问题讨论】:
标签:
prometheus
prometheus-alertmanager
【解决方案1】:
考虑到,我认为 Prometheus 和 Alert manager 不支持这种情况,因为它没有意义。
对于用户,如果他/她想知道在过去 1 小时内某个特定规则(假设 CPU > 90%)触发了多少警报,他们只会关注收到了多少警报,而不是如何普罗米修斯发出了许多警报。
众所周知,Alert Manger 有“group_wait”、“repeat_interval”和“Inhibited”规则,这些参数会影响 Alert Manager 发出警报的数量和频率。即使我可以得到 Prometheus 触发的警报时间,但这个数字对用户来说是错误的,因为 Alert Manger 可能会“禁止”警报。