如何使用Prometheus + Grafana判断事件发生了多少次 在给定的时间段内?
我有一个Prometheus计数器,每次此事件发生时我都会递增。我想以Singlestat数字显示它。看起来应该像这样简单:
sum(increase(some_event_happened{application="example-app"}[$__range]))
并且显示设置为“当前”值。
但是,它给出的数字远高于给定范围内的实际事件数。而且,它似乎会根据我偏移范围的程度以及范围的大小而有所不同。
更重要的是,当我在一个仪表板上有三个或四个时,它会因内存不足错误而使我们的Prometheus服务器崩溃。
我尝试设置记录规则以解决崩溃问题,但是我还没有找到正确的方法来分割记录规则以仍然能够显示Grafana范围。
因此,总而言之,我希望Singlestat显示在Grafana仪表板中设置的当前时间范围内事件发生的次数。对于监视系统来说,这似乎是非常基本的事情。我只是使用了错误的方法?
答案 0 :(得分:1)
我遇到了类似的问题,它们似乎是由于查询间隔(在Prometheus中)和最小步长(在Grafana中)之间的差异引起的。尝试为您的间隔使用此全局内置变量,这将确保Prometheus始终与Grafana步骤同步:$ __ interval。
sum(increase(some_event_happened{application="example-app"}[$__interval]))
http://docs.grafana.org/reference/templating/
https://www.stroppykitten.com/technical/prometheus-grafana-statistics