Prometheus 提供了其它大量的内置函数,可以对时序数据进行丰富的处理。
某些函数有默认的参数,例如:year(v=vector(time()) instant-vector)。其中参数 v 是一个瞬时向量,如果不提供该参数,将使用默认值 vector(time())。instant-vector 表示参数类型。
一、时间相关的函数
1.1、minute() 当前小时里的第多少分钟
minute(v=vector(time()) instant-vector)函数返回给定 UTC 时间当前小时的第多少分钟。结果范围:0~59。
1.2、hour() 一天内的第几个小时
hour(v=vector(time()) instant-vector)函数返回被给定 UTC 时间的当前第几个小时,时间范围:0~23。
1.3、day_of_week() 周内的第几天
day_of_week(v=vector(time()) instant-vector)函数,返回被给定 UTC 时间所在周的第几天。返回值范围:0~6,0 表示星期天。
1.4、day_of_month() 月内的第几天
day_of_month(v=vector(time()) instant-vector)函数,返回被给定 UTC 时间所在月的第几天。返回值范围:1~31。
1.5、days_in_month() 月内共多少天
days_in_month(v=vector(time()) instant-vector)函数,返回当月一共有多少天。返回值范围:28~31。
1.6、month() 第几个月
month(v=vector(time()) instant-vector)函数返回给定 UTC 时间当前属于第几个月,结果范围:0~12。
1.7、year() 那一年
year(v=vector(time()) instant-vector)函数返回被给定 UTC 时间的当前年份。
1.8、time() 时间戳
time()函数返回从 1970-01-01 到现在的秒数。注意:它不是直接返回当前时间,而是时间戳
1.9、timestamp() 样本的时间戳
timestamp(v instant-vector)函数返回向量 v 中的每个样本的时间戳(从 1970-01-01 到现在的秒数)。
该函数从 Prometheus 2.0 版本开始引入。
二、数字类型操作函数
2.1、abs() 绝对值
abs(v instant-vector) 返回输入向量的所有样本的绝对值。
2.2、ceil() 四舍五入取整
ceil(v instant-vector)将 v 中所有元素的样本值向上四舍五入到最接近的整数。例如:
node_load5{instance="192.168.1.75:9100"} # 结果为 2.79
ceil(node_load5{instance="192.168.1.75:9100"}) # 结果为 3
2.3、floor() 向下取整
floor(v instant-vector)函数与 ceil() 函数相反,将 v 中所有元素的样本值向下四舍五入到最接近的整数。
2.4、round() 最近的整数
round(v instant-vector, to_nearest=1 scalar)函数与 ceil 和 floor 函数类似,返回向量中所有样本值的最接近的整数。
to_nearest 参数是可选的,默认为 1,表示样本返回的是最接近 1 的整数倍的值。
你也可以将该参数指定为任意值(也可以是小数),表示样本返回的是最接近它的整数倍的值。
2.5、clamp_max() 指标数值大于max则改为max
clamp_max(v instant-vector, max scalar)函数,输入一个瞬时向量和最大值,样本数据值若大于 max,则改为 max,否则不变。例如:
node_load5{instance="192.168.1.75:9100"} # 结果为 2.79
clamp_max(node_load5{instance="192.168.1.75:9100"}, 2) # 结果为 2
2.6、clamp_min() 指标数值小于min则改为min
clamp_min(v instant-vector, min scalar)函数,输入一个瞬时向量和最小值,样本数据值若小于 min,则改为 min,否则不变。例如:
node_load5{instance="192.168.1.75:9100"} # 结果为 2.79
clamp_min(node_load5{instance="192.168.1.75:9100"}, 3) # 结果为 3
三、高级算数函数
3.1、log2() 二进制对数
log2(v instant-