我有一个Prometheus运算符,该运算符每15秒就会刮擦一次指标:
我想“缩小一点”,而不是每1分钟显示我的延迟总计。但是,我找不到要这样做的查询。我尝试了rate()
和sum_over_time()
的各种选项,但是查询只是出错了。
我也尝试更改此选项: 至1 m。发生的是4个15秒间隔中的3个被忽略了。而不是在一分钟内将我所有的15秒结果相加。
我怎么能达到预期的效果?
答案 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秒,因此结果将不是整数。