PromQL 内置函数
大约 2 分钟
PromQL 内置函数
Prometheus Query Language (PromQL) 支持多种函数,这些函数可以用来处理时间序列数据,包括但不限于过滤、聚合、比较、数学运算和时间窗口操作。下面是一些主要的 PromQL 函数及其含义:
过滤器函数
{...}
:标签匹配器,用于选择具有特定标签集的度量。==
,!=
,=~
,!~
:比较运算符,用于在标签中进行匹配或不匹配。
聚合函数
sum
,count
,avg
,min
,max
,stddev
,stdvar
:在每个选定的时间序列上应用特定的聚合操作。quantile
:计算给定分位数的量化值。
操作符
+
,-
,*
,/
,%
,^
:算术运算符,用于数值运算。and
,or
,unless
:逻辑运算符,用于结合或比较多个向量。
时间窗口函数
rate
:计算单位时间内的平均变化率。irate
:估算单位时间内的瞬时变化率。increase
:计算给定时间窗口内度量的增加量。delta
:计算两个最近样本的差值。
延迟和偏移
offset
:将时间序列向前或向后移动指定的时间。delay
:与 offset 类似,但已弃用。
向量转换
absent
:返回没有匹配到任何时间序列的向量。vector
:创建一个没有时间戳的常量向量。
标签操作
label_replace
:替换向量中所有样本的标签。without
:删除向量中的某些标签。ignoring
:在进行向量匹配时忽略某些标签。
其他函数
predict_linear
:预测时间序列在未来某个时间点的值。time
:返回当前的 Unix 时间戳。
PromQL 函数的使用可以非常灵活,允许用户执行复杂的查询,比如计算某个指标的平均值、找出最大值、比较不同时间窗口的数据、执行数学运算等等。这些函数和运算符可以组合在一起,形成更复杂的表达式,以满足监控和警报的需要。PromQL 的设计目的是为了能够高效地处理大量时间序列数据,同时保持查询的简洁性和可读性。