prometheus常用函数

prometheus常用函数

1、rate函数

  • rate() 函数则表示某段时间内数据的平均值
  • rate() 函数是专门搭配counter数据类型使用函数
  • 功能是取counter在这个时间段中平均每秒的增量数

例如:
1) (用于监控主机上所有网卡每分钟的流量)

rate(node_network_receive_bytes[1m])
  • 1 > 比如累积量从 440011229804456 --> 440011229805456,1分钟内增加了 1000bytes (假设)
    ···
    加入 rate(. [1m]) 之后,会把 1000bytes 除以1m =~ 16bytes就是这样计算出在一分钟内,平均每秒增加 16bytes
    ···
  • 2 > 比如累积量从 440011229805456 --> 440011229810456,5分钟之内增加了 5000 bytes(假设)
    ···
    同理 rate(.[5m]) ,会把 5000bytes 除以5m =~ 16bytes也会同样计算出5分钟内,平均每秒增加 16bytes
    ···

2)(只看eth0网卡1m每秒流量平均(即所有服务器eth0))

rate(node_network_receive_bytes_total{device="eth0"}[1m]) 

3)(只看莫一台服务器eth0网卡1m每秒流量平均 (可以通过,instance,job等修饰进行精确匹配))

rate(node_network_receive_bytes_total{device="eth0",instance="jira-old",job="jira-xxxx"}[1m]) 

4)(查看一组相同服务器eth0 1m每秒流量平均)

rate(node_network_receive_bytes_total{device="eth0",instance=~"jira.*"}[1m])

5)(查看一组服务器eth0 1m每秒流量平均和)

sum(rate(node_network_receive_bytes_total{device="eth0",instance=~"jira.*"}[1m]))

rate(1m) 这样的取值方法 比起 rate(5m),因为它取得时间短,所以任何某一瞬间得突起或者降低会在成图得时候体现的更加细致、敏感。
而 rate(5m) 会把整个5分钟内得都一起平均了,当发生瞬间凸起得时候,会显得图平缓了一些 ( 因为取得时间段长 把波峰波谷 都给平均肖平了)

在工作当中,具体取 rate(1m) 还是 rate(5m) 决定于对监控数据得敏感程度来进行选择

2、increase函数

  • increase() 函数表示某段时间内数据的增量

例如:
1) (用于获取eth0网卡在1分钟的增量总量)

increase(node_network_receive_bytes_total{device="eth0"}[1m])

3、sum函数

  • sum()函数就是求和函数,注意点是当你使用sum后是将所有的监控的服务器的值进行取和,所以当我们只看某一台时需要进行拆分,同by()一起使用才有意义

例如:
1) (by (instance) 属于自定义标签不是标准标签,我们可以手动将不同功能的服务器进行分组展示)

increase(node_network_receive_bytes_total{device="eth0"}[1m])by(instance)

4、topk函数

  • 取前几位的最高值。格式:topk(number,key)

例如:
1) (Gauge类型使用方式)

topk(3,key)

2) (Counter类型使用方式)

topk(3,rate(key[1m]))

实际使用的时候 ,一般用于 topk() 函数 进行瞬时报警,而不是为了观察曲线

5、count()函数

  • 把数值符合条件的,输出数目进行加和

例如:
1) (找出当前(或者历史)TCP 等待数大于200的 机器数量)

count(count_netstat_wait_connections > 200)

一般用 count( ) 函数进行一些模糊的监控判断

6、irate()函数

  • irate(v range-vector)计算范围向量中时间序列的每秒即时增长​​率。这基于最后两个数据点。单调性中断(例如由于目标重启而导致的计数器重置)会自动调整

例如:
1) ( 5m http请求的每秒速率)

irate(http_requests_total{job="api-server"}[5m])

irate只应在绘制易失性快速移动计数器时使用。使用rate警报和缓慢移动的柜台,因为在房价短暂变化可以重设FOR条款和图表完全由罕见尖峰难以阅读
当irate()与 聚合运算符(例如sum())或随时间聚合的函数(以任何结尾的函数_over_time)组合时,总是先取irate()第一个,然后聚合。否则irate()在目标重启时无法检测到计数器重置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值