您的位置 首页 prometheus

prometheus常用的函数

Prometheus常用的函数

2.3.1 increase

increase函数:

用来针对counter数据类型,截取其中一段时间总的增量。

举个例子:

increase(node_cpu_seconds_total{mode="idle",cpu="0", instance="10.0.0.42:9100"}[1m])

统计1分钟内,使用标签过滤器查看"10.0.0.42:9100"节点的第0颗CPU,空闲状态使用的总时间增量。

2.3.2 sum

sum函数:

加和的作用。

举个例子:

sum(increase(node_cpu_seconds_total{mode="idle",cpu="0"}[1m]))

统计1分钟内,使用标签过滤器查看所有节点的第0颗CPU,空闲状态使用的总时间增量,并将返回结果累加。

2.3.3 by

 

by函数:

将数据进行分组,类似于MySQL的"GROUP BY"。

举个例子:

sum(increase(node_cpu_seconds_total{mode="idle",cpu="0"}[1m])) by (instance)

统计1分钟内,使用标签过滤器查看第0颗CPU空闲状态,并将结果进行累加,基于instance进行分组。

2.3.4 rate

rate函数:

它的功能是按照设置的时间段,取counter在这个时间段中平均每秒的增量。

举个例子:

rate(node_cpu_seconds_total{mode="idle",cpu="0", instance="10.0.0.42:9100"}[1m])

统计1分钟内,使用标签过滤器查看"10.0.0.42:9100"节点的第0颗CPU,空闲状态使用的每秒的增量。

increase和rate如何选择:

(1)对于采集数据频率较低的场景建议使用increase函数,因为使用rate函数可能会出现断点,比如针对硬盘容量监控。

(2)对于采集数据频率较高的场景建议使用rate函数,比如针对CPU,内存,网络流量等都是可以基于rate函数来采集等。

2.3.5 topk

topk函数:

取前几位的最高值,实际使用的时候一般会用该函数进行瞬时报警,而不是为了观察曲线图。

举个例子:

topk(3, rate(node_cpu_seconds_total{mode="idle",cpu="0"}[1m]))

统计1分钟内,使用标签过滤器查看第0颗CPU,所有状态使用的每秒的增量,只查看前3个节点。

2.3.6 count

 

count函数:

把数值符合条件的,输出数目进行累加加和,一般用它进行一些某户的监控判断。

比如说企业中有100台服务器,如果只有10台服务器CPU使用率高于80%时候是不需要报警的,但是数量操作70台时就需要报警了。

举个例子:

count(oldboyedu_tcp_wait_conn > 500):

假设oldboyedu_tcp_wait_conn是咱们自定义的KEY。

若TCP等待数量大于500的机器数量就判断条件为真。

 

count(rate(node_cpu_seconds_total{cpu="0",mode="idle"}[1m]))

对统计的结果进行计数。

2.3.7 其他函数

推荐阅读:

https://prometheus.io/docs/prometheus/latest/querying/functions/

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章