处理Prometheus计数器而忽略重置

时间:2019-05-09 18:57:02

标签: prometheus

我已经读过Prometheus how to handle counters on server,并且一直在网络上闲逛,但是我仍然没有找到一种方法来完成我想做的事情。我不确定,普罗米修斯可能不是工作的最佳工具。

每天,我们收到来自客户的N个请求数据包。我们提供了一个计数器,用于对数据包数量进行计数。 我可以使用速率和增加,它们显示随着时间的变化并且有所帮助,但是我们对总体计数非常感兴趣,我们希望忽略重新启动。

我想看到的是一个从0开始的图形,随着时间的推移,该图形显示了看到的,但从未下降的,反映了重置的响应的数量。

我知道忽略重置的总数本身在某个地方可用,因为“即时”查询似乎能够返回该值。我还没有找到任何查询变体,尽管可以执行该图。

TLDR;我想查看一段时间内的绝对计数

编辑: Alin-当我在任何时间范围内尝试您的解决方案时,我都会看到以前看到的内容:

increase-1y increase-5m

即使分辨率很低-我也不是太在乎精度-只是希望它是+ -100。我只想查看没有这些峰值/下降的总体趋势。

1 个答案:

答案 0 :(得分:1)

increase(my_counter[1000y])

但这真的很慢。

或者,您可能有一条记录规则,即随着源计数器的增加而永远增加计数器。但是您必须记住以下几点:

  1. 出于某些不可思议的原因,increase(foo[1m])是对前1分钟的增长的估计,而不是foo - foo offset 1m的改进版本(仅用于处理计数器重置)。
  2. 您对规则的评估不会像您告诉Prometheus那样频繁,并且可能会完全跳过某些评估。因此,如果在跳过评估的那一刻发生增加(或Prometheus失败),它将永远消失。

是的,正如许多地方所述,普罗米修斯在会计方面并不理想。无论您多么努力,它都不会给您准确的价值。