如何在1分钟内以普罗米修斯方法求和15秒间隔?

时间:2019-07-01 16:59:13

标签: prometheus prometheus-operator

我有一个Prometheus运算符,该运算符每15秒就会刮擦一次指标: enter image description here

我想“缩小一点”,而不是每1分钟显示我的延迟总计。但是,我找不到要这样做的查询。我尝试了rate()sum_over_time()的各种选项,但是查询只是出错了。

我也尝试更改此选项: enter image description here 至1 m。发生的是4个15秒间隔中的3个被忽略了。而不是在一分钟内将我所有的15秒结果相加。

我怎么能达到预期的效果?

1 个答案:

答案 0 :(得分:1)

您正在寻找的答案是

sum by(job) (increase(web_latencies_summary_count[1m]))

最小步长1m

不幸的是,由于Prometheus计算increase() / rate()的方式,这实际上将为您提供在45秒内推断为1分钟的请求数(即increase[45s] / 45 * 60)。更精确的公式是

sum by(job) (increase(web_latencies_summary_count[75s])) / 75 * 60

但请注意(a)这取决于您的刮擦间隔; (b)由于时间戳记之间的间隔不完全是15秒,因此结果将不是整数。