随着时间的推移获得平均增长

Per*_*ent 1 prometheus promql

我使用计数器指标的增加来获取过去 10 分钟 HTTP 连接的增加:

increase(http_connections{kind="test"}[10m])
Run Code Online (Sandbox Code Playgroud)

该表达式在我的测试环境中返回两个不同的值:

15.789
12.631
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到上述值的平均值?

在此输入图像描述

Jen*_*ger 9

为了使该值变平,您可以增加间隔,只需查询最后 20 分钟的增量,然后将其除以二:

increase(http_connections{kind="test"}[20m]) / 2
Run Code Online (Sandbox Code Playgroud)

(或查询最近 30 分钟并除以 3)...

或者,您也可以将该avg_over_time()函数与子查询一起使用:

avg_over_time(increase(http_connections{kind="test"}[10m])[10m:1m])
Run Code Online (Sandbox Code Playgroud)

这将在过去 10 分钟内每分钟获取一个值,并使用这 10 个值的平均值作为当前值