我的计数器很少增加。增加它的频率较低似乎给我们带来了麻烦,因为计数器应该代表的事件没有出现在 Grafana 中,即使我可以在/prometheus 端点中看到计数器:
my_counter{client="some_label", capture_channel="DESKTOP", instace_name="foo",stage="dev",testRequest="false",validation_issue="INVALID_SELECTION",} 1.0
在 Grafana 中,如下所示:
有趣的是,如果我以原始方式绘制数据图表,我确实看到 Prometheus 已经抓取了它(以及该计数器的其他变体,所有这些都通过标签之一来区分):
我理解错了吗?是因为普罗米修斯的数据模型通过处理抓取之间的增量来实际“计数”某些东西吗?如果有一个增长非常缓慢的计数器,里面有很多标签,那么普罗米修斯就无法正确计算“增加”?
我也尝试过使用rate()函数,但没有任何作用。
sum(rate(my_counter[$__rate_interval])) by (validation_issue)
最佳答案
这是预期的,因为(通常)计数器在定义为零值时并未初始化。在第二个屏幕截图中,您什么也看不到,因为每个单独的时间序列只有一个数据点,因此 increase
无法返回任何内容,因为没有增加。
在某些情况下,您可以通过手动初始化应用程序中的指标来解决此问题。不过,只有在标签值的基数定义明确的情况下,这才有意义。
关于Prometheus 几乎没有使用在 Grafana 中未显示的计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64891317/