有没有办法在 holt_winters 函数调用中使用普罗米修斯计数器?

Is there a way to use a Prometheus counter with a holt_winters function call?

在 Prometheus 文档中,它描述了 holt_winters() 可用于生成平滑曲线的函数。

但是文档指出它只能与 Gauges 一起使用。 (显然我可以将它与计数器一起使用,然后我得到一条平滑的线,它总是在上升,不是很有用)

我想利用 holt_winters() 函数来对抗像 http_request_total 这样的计数器。

有点像;

holt_winters(rate(http_request_total[5m])) by (path)

这可能吗?或者有更好的方法来解决这个问题吗?

您需要使用记录规则来存储汇率的结果,参见https://www.robustperception.io/composing-range-vector-functions-in-promql/

可以通过rate() into holt_winters() by using Prometheus subqueries:

holt_winters(
  (sum(rate(http_request_total[5m])) by (path))[1h:1m], 0.5, 0.5
)