prometheus监控(普罗米修斯)

·  阅读 20
prometheus监控(普罗米修斯)

参考网址

blog.csdn.net/shm19990131…

简介

是一种监控
复制代码

rate()函数

rate(),是速率函数,prometheus提供最重要的函数,只要碰上 counter 数据类型,直接套上 rate([m]) / increase([m])

rate() 是取一段时间内增量的平均每秒的增量数。比如rate[1m]1m(1分钟)就是这里说的一段时间内。
然后再把这些增量,平均算在每秒的时间内。

rate()函数专门配合 counter类型数据使用的函数

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


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

比如累积量从 440011229804456 --> 4400112298054561分钟内增加了 1000bytes (假设)
比如累积量从 440011229805456 --> 4400112298104565分钟之内增加了 5000 bytes(假设)

加入 rate(. [1m]) 之后,会把 1000bytes / 60秒 =~ 16bytes  
就是这样计算出在一分钟内的增量,平均每秒增加 16bytes
复制代码

图片.png

同理 rate([5m]) ,会把 5000bytes / 300秒 =~ 16bytes  
也会同样计算出5分钟内,平均每秒增加 16bytes
复制代码

图片.png

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

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

increase({}[time]) 增量函数

在prometheus中,用来针对Counter这种持续增长的数值,截取其中一段时间的增量。配合时间使用
increase() 是取一段时间增长的总量。
复制代码

sum() 叠加函数

比如某个服务部署在多台服务器上
如果我们不用sum,那么就会有多条线来表示,有几台服务器,就会有几条线,这样不是很直观。
用sum()函数,我们可以一目了然的知道,一共的数量是多少。
复制代码

by()拆分函数

by()这个函数可以把 sum 合并到一起的数值,按照指定的方式进行拆分。() 内 填写它指定的方式
在当前案例,需要按照集群节点进行拆分。所以采用 instance=“机器名”,by(instance)。
复制代码

topk()函数

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

复制代码

count() 函数

定义:把数值符合条件的,输出数目进行加和**
例:找出当前(或者历史)TCP 等待数大于200的 机器数量
`count(count_netstat_wait_connections > 200)`
复制代码
分类:
开发工具
标签:
收藏成功!
已添加到「」, 点击更改