PromQL语法
Prometheus 提供了一种功能表达式语言 PromQL,允许用户实时选择和汇聚时间序列数据。表达式的结果可以在浏览器中显示为图形,也可以显示为表格数据,或者由外部系统通过 HTTP API调用。
文章目录
- PromQL语法
-
- 一、表达式语言数据类型
- 二、字面量
- 三、时间序列过滤器
- 四、操作符
- 五、PromQL 内置函数
-
-
- 1. abs()
- 2. absent()
- 3. ceil()
- 4. changes()
- 5. clamp_max()
- 6. clamp_min()
- 7. day_of_month()
- 8. day_of_week()
- 9. days_in_month()
- 10. delta()
- 11. deriv()
- 12. exp()
- 13. floor()
- 14. histogram_quantile()
- 15. holt_winters()
- 16. hour()
- 17. idelta()
- 18. increase()
- 19. irate()
- 20. label_join()
- 21. label_replace()
- 22. ln()
- 23. log2()
- 24. log10()
- 25. minute()
- 26. month()
- 27. predict_linear()
- 28. rate()
- 29. resets()
- 30. round()
- 31. scalar()
- 32. sort()
- 33. sort_desc()
- 34. sqrt()
- 35. time()
- 36. timestamp()
- 37. vector()
- 38. year()
- 39. **<aggregation>_over_time()**
-
- 六、 简单示例
一、表达式语言数据类型
在 Prometheus 的表达式语言中,表达式或子表达式包括以下四种类型之一:
- 瞬时向量(Instant vector) - 一组时间序列,每个时间序列包含单个样本,它们共享相同的时间戳。也就是说,表达式的返回值中只会包含该时间序列中的最新的一个样本值。而相应的这样的表达式称之为瞬时向量表达式。
- 区间向量(Range vector) - 一组时间序列,每个时间序列包含一段时间范围内的样本数据。
- 标量(Scalar) - 一个浮点型的数据值。
- 字符串(String) - 一个简单的字符串值。
根据用户输入的表达式返回的数据类型是否合法取决于用例的不同,例如:瞬时向量表达式返回的数据类型是唯一可以直接绘制成图表的数据类型。
二、字面量
(一)字符串
字符串可以用单引号、双引号或反引号指定为文字常量。
PromQL 遵循与 Go 相同的转义规则。在单引号或双引号中,用反斜杠来表示转义序列,后面可以跟 a, b, f, n, r, t, v 或 \。特殊字符可以使用八进制