Prometheus 内置函数(五)
Prometheus 基于当前 的 2.30.0 版本共计有 42 个内置函数,按照字母排序分别是:
这些函数还可以按照功能进行分类,
<1> 聚合函数
对指标进行求和、求平均、计数、最大值、最小值、Top 、Bottom、百分位数等数据聚合操作想函数。
sum 函数
avg() 函数
count() 函数
count_values() 函数
min() 函数
max() 函数
stddev() 函数
stdvar() 函数
topk() 函数
bottomk() 函数
quantile() 函数
<2> 类型函数
vector() 函数
scalar() 函数
<3> 数学函数
对指标进行各种数学计算的函数,比如求导、求平方、求开方等等,数学是研究数据的一门科学,不要一对数据进行分析,就求平均数,还是有很多数学方法可以使用的。
abs() 函数
ln() 函数
log2() 函数
log10() 函数
exp() 函数
sqrt() 函数
ceil() 函数
floor() 函数
round() 函数
clamp() 函数
clamp_max() 函数
clamp_min() 函数
<4> 时间函数
对指标的时间进行操作的函数。
minute() 函数
hour() 函数
month() 函数
year() 函数
day_of_month() 函数
day_of_week() 函数
days_in_month() 函数
time() 函数
timestamp() 函数
<5> 标签函数
对指标的标签(label)进行操作的数据。
label_join() 函数
label_replace() 函数
<6> 缺失与排序函数
对数据进行排序、以及是否缺失进行判断的一些函数。
absent() 函数
histogram_quantile() 函数
sort() 函数
sort_desc() 函数
<7> 计数器
针对计数器类型数据的一些函数。
rate 函数
increase() 函数
irate() 函数
resets() 函数
<8> Gauge 类型处理函数
针对 Gauge 类型数据的一些处理函数
changes() 函数
deriv() 函数
predict_linear() 函数
delta() 函数
idelta() 函数
holt_winters() 函数
<9> .<aggregation>_over_time() 随时间聚合函数
absent_over_time(range-vector) : 如果传递给它的范围向量有任何元素则返回一个空向量,如果传递给它的范围向量没有元素,则返回一个值为 1 的 1 元素向量。
avg_over_time(range-vector) : 区间向量内每个度量指标的平均值。
min_over_time(range-vector) : 区间向量内每个度量指标的最小值。
max_over_time(range-vector) : 区间向量内每个度量指标的最大值。
sum_over_time(range-vector) : 区间向量内每个度量指标的求和。
count_over_time(range-vector) : 区间向量内每个度量指标的样本数据个数。
quantile_over_time(scalar, range-vector) : 区间向量内每个度量指标的样本数据值分位数,φ-quantile (0 ≤ φ ≤ 1)。
stddev_over_time(range-vector) : 区间向量内每个度量指标的总体标准差。
stdvar_over_time(range-vector) : 区间向量内每个度量指标的总体标准方差。
总结
PromQL 当前支持的函数非常丰富,一些不太常用的函数我也使用较少,不是很熟悉,案例也不多。以后熟悉了我会想办法进行更新,分享给大家。大家可以持续观察我的博客。
版权声明: 本文为 InfoQ 作者【耳东@Erdong】的原创文章。
原文链接:【http://xie.infoq.cn/article/f2b0605c46923d5c532e490c5】。未经作者许可,禁止转载。
评论