Prometheus支持几个函数来操作数据。
文章目录
- 1. 函数语法解释
- 2. count(v instant-vector)
- 3. topk(n, v instant-vector)
- 4. bottomk(n, v instant-vector)
- 5. increase(v range-vector)
- 6. rate(v range-vector)
- 7. rate 和 increase
- 8. irate(v range-vector)
- 9. predict_linear(v range-vector, t scalar) 预测统计【重要】
- 10. absent(v instant-vector)
- 11. absent_over_time(v range-vector)
- 12. histogram_quantile(φ scalar, b instant-vector)
- 13. changes()
- 14. 其他
-
- 14.1 label_join()
- 14.2 label_replace()
- 14.3 time()
- 14.4 vector(s scalar)
- 14.5 timestamp()
- 14.6 year(v=vector(time()) instant-vector)
- 14.7 day_of_week()
- 14.8 day_of_month()
- 14.9 day_of_year(v=vector(time()) instant-vector)
- 14.10 days_in_month(v=vector(time()) instant-vector)
- 14.11 delta(v range-vector) 计算差值
- 14.12 idelta(v range-vector)
- 14.13 minute(v=vector(time()) instant-vector)
- 14.14 hour(v=vector(time()) instant-vector)
- 14.15 month(v=vector(time()) instant-vector)
- 14.16 sum(v instant-vector)
- 14.17 sgn(v instant-vector)
- 14.18 sort(v instant-vector)
- 14.19 sort_desc(v instant-vector)
- 14.20 ceil(v instant-vector) 不常用
- 14.21 floor(v instant-vector) 不常用
- 15. `<aggregation>_over_time()`
- 传送门
1. 函数语法解释
Promethues 的函数作用于 及时向量和范围向量。
举例说明, 函数 increase
的语法为: increase(v range-vector)
,其中 increase
为函数, v
为函数的参数,就是一个查询表达式获取到的具体数值, range-vector
是参数 v
的类型, 基本上类型有:
instant-vector
即时向量,就是当前时间的数据,例如up
range-vector
范围向量, 就是一个指定范围内的数据,例如up[5m]
2. count(v instant-vector)
统计获取到结果的条目数
3. topk(n, v instant-vector)
从给定的一组数值中取出最高的前 n 位, v 应该是聚合表达式中的 即时向量。
常用于瞬时报警,不用于观察曲线图