Prometheus 增加功能警报

Posted

技术标签:

【中文标题】Prometheus 增加功能警报【英文标题】:Prometheus Increase function alert 【发布时间】:2021-04-14 07:06:12 【问题描述】:

所以我的目标是为网络接口丢失设置警报机制。我正在使用node_network_receive_drop_total 这是一个计数器。我的目标是在滴滴发生时发出警报,这意味着滴滴计数何时增加。假设我有一段时间内的下降值。

|node_network_receive_drop_total |difference
|0                               |0
|1                               |1
|5                               |4
|5                               |0  
|7                               |2

在这个例子中,我如何使用grafana中的增加函数和警报条件在差异不为零时进行警报?

【问题讨论】:

【参考方案1】:

Query 选项卡中,有一个名称类似于node network drops 的图表,并查询类似这样的内容:increase(node_network_receive_drop_total[5m])

当没有水滴时,该图应该在0 处有一条平线。当出现跌落时,图表将在跌落后 5 分钟内在1 处显示一条线。

在警报选项卡中创建条件为WHEN max() OF query(A, 15m, now) IS ABOVE 0 的警报。

由于查询只会返回一个值,因此您可以使用 max()min()max()(它们都将返回相同的值)。

query 中的A 应与Query 选项卡中查询中的字母匹配。如果图表上显示了多个查询,则可能需要更改此设置。

15mnow 查看最近 15m 的数据。

【讨论】:

我正是这样做的,但我在查询中使用了 sum by instance。谢谢!:)【参考方案2】:

在您的示例中,您应该使用delta function。类似于:

delta(node_network_receive_drop_total[5m]) > 0

这意味着,只要您在过去 5 分钟内的 delta 大于 0,就会触发警报。

PS:如果您有多个实例,请考虑使用 sum。

【讨论】:

我认为您不能将 delta 与计数器一起使用。它仅用于 Gauges

以上是关于Prometheus 增加功能警报的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在使用 Prometheus 的 IIS 站点出现故障时产生警报?

Prometheus Alert 不适用于基于事件的指标

chartjs-plugin-datasource-prometheus 展示prometheus 数据

搭建Prometheus监控k8s服务

zabbix 集成 prometheus 数据

Prometheus - 计算百分比增加