🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] > [参考](https://hulining.gitbook.io/prometheus/prometheus/querying/functions) ## 函数 ``` abs(v instant-vector) //绝对值 ceil(v instant-vector) //取整 round(v instant-vector, to_nearest=1 scalar) //将v中所有元素的样本值四舍五入到最接近的整数 floor(v instant-vector) //向下舍入到最近的整数 changes(v range-vector) //其值在提供的时间范围内变化的次数作为即时向量返回 clamp_max(v instant-vector, max scalar) // 设置最大值 clamp_min(v instant-vector, min scalar) // 设置最小值 day_of_month(v=vector(time()) instant-vector) // UTC 时间中每个给定时间的是当月的第几天。返回值是 1-31 day_of_week(v=vector(time()) instant-vector) //值 0-6 ,0 是周日 days_in_month(v=vector(time()) instant-vector) //返回 UTC 时间中每个给定时间的月份有几天。返回值是 28-31 hour(v=vector(time()) instant-vector) minute(v=vector(time()) instant-vector) month(v=vector(time()) instant-vector) year(v=vector(time()) instant-vector) delta(v range-vector) // 范围向量第一个值和最后一个值的差集 rate(v range-vector) //计算范围向量中时间序列的每秒平均增长率 irate(v range-vector) //计算范围向量中时间序列的每秒瞬时增长率。 //这是基于最后两个数据点的。单调性中断(例如由于目标重新启动而导致的计数器重置)会自动调整 idelta(v range-vector) // 计算范围向量中最后两个样本之间的差异v,返回具有给定增量和等效标签的瞬时向量。 //idelta仅应与仪表一起使用 increase(v range-vector) //计算范围向量中时间序列的增量。单调性中断(例如由于目标重新启动而导致的计数器重置)会自动调整。 // 增量被推断为覆盖范围向量选择器中指定的整个时间范围,因此即使计数器仅按整数增量增加,也可能得到非整数结果 sort(v instant-vector) //返回按其样本值升序排列的向量元素 sort_desc(v instant-vector) //降序 time() // 返回自 UTC 1970-01-01 以来的秒数。请注意,这实际上并不返回当前时间,而是返回要计算的表达式的时间 timestamp(v instant-vector) //返回自 UTC 1970-01-01以来,给定矢量的每个样本的时间戳。 vector(s scalar) //将标量s作为没有标签的向量返回 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): 在指定间隔内值的总体标准方差 ``` ## 示例 ### 取整 实际 ``` windows_cpu_cstate_seconds_total{core="0,9",state="c2"} 114317.4443318 ``` 取证 ``` ceil(windows_cpu_cstate_seconds_total{core="0,9",state="c2"}) //114317 ``` ### rate 用于报警 计算范围向量中时间序列的每秒平均增长率。 单调性中断(例如由于目标重新启动而导致的计数器重置)会自动进行调整。而且,计算会推断到时间范围的末尾,从而允许遗漏采集数据或采集周期与该范围的时间段不完全对齐 以下示例表达式返回范围向量中每个时间序列在过去 5 分钟内每秒的 HTTP 请求速率: ``` rate(http_requests_total{job="api-server"}[5m]) ``` `rate`只能与 counter 一起使用。它最适合于警报和慢速计数器的图形显示。 ## 每个时间序列过去 5 分钟内测得的 HTTP 请求数 ``` increase(http_requests_total{job="api-server"}[5m]) ```