Prometheus 循环遍历 Range 或 Instant Vector 的值并应用函数

prometheus loop over values of range or instant vector and apply functions

提问人:radio 提问时间:4/26/2019 更新时间:4/12/2023 访问量:2059

问:

假设我有一个返回范围或即时向量的 promQL: 范围向量 -> 或实例向量 ->metric[1h]increase(metric[1h])

有没有办法将范围转换为即时向量和/或反之亦然?因为许多数学运算/函数只能在即时向量上实现。

如果无法转换,有没有办法对范围向量的每个值应用特定的操作或函数?例如(值的平方):

(7 @1554105600, 5 @1554710400, 2 @1555315200, 12 @1555920000)成为

(49 @1554105600, 25 @1554710400, 4 @1555315200, 144 @1555920000)

函数 循环 运算符 prometheus promql

评论


答:

0赞 markalex 4/12/2023 #1

范围选择器可以应用于函数结果。
例如:
:

max_over_time( sqrt(node_cpu_seconds_total)[1m:])

这是分辨率未指定的范围选择器。 在这里至关重要,因为它允许将范围选择器应用于矢量选择器以外的其他东西,其中 simple 会产生错误:[1m:]:[1m]

仅允许矢量选择器的范围

在线演示可以在这里看到。