1

我有 prometheus 运算符,它每 15 秒刮一次指标: 在此处输入图像描述

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

我还尝试更改此选项:更改 在此处输入图像描述 为 1 m。发生的事情是 4 个 15 秒间隔中的 3 个被省略了。而不是在一分钟内总结我所有的 15 秒结果。

我怎样才能达到预期的结果?

4

1 回答 1

2

您正在寻找的答案是

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 秒,因此结果将不是整数。

于 2019-07-02T22:49:53.293 回答