写点什么

Prometheus 内置函数(五)

用户头像
耳东@Erdong
关注
发布于: 刚刚

Prometheus 基于当前 的 2.30.0 版本共计有 42 个内置函数,按照字母排序分别是:


abs()absent()absent_over_time()ceil()changes()clamp()clamp_max()clamp_min()day_of_month()day_of_week()days_in_month()delta()deriv()exp()floor()histogram_quantile()holt_winters()hour()idelta()increase()irate()label_join()label_replace()ln()log2()log10()minute()month()predict_linear()rate()resets()round()scalar()sgn()sort()sort_desc()sqrt()time()timestamp()vector()year()<aggregation>_over_time()
复制代码


这些函数还可以按照功能进行分类,

<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 当前支持的函数非常丰富,一些不太常用的函数我也使用较少,不是很熟悉,案例也不多。以后熟悉了我会想办法进行更新,分享给大家。大家可以持续观察我的博客。


发布于: 刚刚阅读数: 2
用户头像

耳东@Erdong

关注

还未添加个人签名 2020.05.24 加入

主要研究分享运维技术,专注于监控、CICD、操作系统、云原生领域,公众号【耳东学堂】,知识星球同名,坚持原创,希望能和大家在运维路上结伴而行 邮箱:erdong@mail.erdong.site

评论

发布
暂无评论
Prometheus 内置函数(五)