PromQl:对计数器的第一个值发出警报

Posted

技术标签:

【中文标题】PromQl:对计数器的第一个值发出警报【英文标题】:PromQl: alert on first value of a counter 【发布时间】:2020-09-04 03:40:54 【问题描述】:

我有一个 prometheus 计数器 (spring_batch_job_seconds_countstatus=~'FAILED') 来计算作业失败。我想随着时间的推移绘制作业失败并警告作业失败。除了第一次出现之外,增加功能给了我我想要的东西。在发生故障之前不会发布计数器,因此第一个故障事件不会增加(或增量或速率),因为没有先前的计数器值 0 可与第一个非零计数器值进行比较。如何创建一个图表来显示第一次故障发生(以及随后的故障发生)以及将在第一次故障发生时触发的相应警报(以及未来的故障发生)?我可能愿意接受两个警报:一个在计数器增加时触发,另一个在第一次出现时触发,但我不想在第一次出现时手动关闭它触发后触发的警报第一次。

【问题讨论】:

您可以更改检测代码吗?如果是,只需将指标初始化为增量 0。 【参考方案1】:

我设法用 falco 指标做到了这一点。

我想提醒任何变化,即使是第一次出现指标。

(sum(falco_eventsk8s_pod_name="runner" or falco_events * 0) by (k8s_pod_name, rule) - sum(falco_eventsk8s_pod_name="runner" offset 5m or falco_events * 0) by (k8s_pod_name, rule))

解决方法:https://github.com/prometheus/prometheus/issues/1673

【讨论】:

以上是关于PromQl:对计数器的第一个值发出警报的主要内容,如果未能解决你的问题,请参考以下文章

值数组中每个元素的 PromQL 增量

Prometheus 获得向上度量 0 的计数以发出警报

Prometheus 增加功能警报

PromQL:rate() 函数的用途是啥?

PromQL 查询之间的区别

Prometheus/PromQL/Grafana:当右侧范围向量可能不存在时的减法