gauge类型的数据 ?属于随机变化数值,并不像counter那样 是 持续增长
increase 函数 在promethes中,是?来 针对Counter 这种持续增 长的数值,截取其中?段时间的增量?。 increase(node_cpu[1m]) ? =》 这样 就获取了 CPU总使?时间 在1分钟内的增量,得到的是一个cpu在一分钟内的增量,increase和rate很相似
rate(1m) 是取?段时间增量的平均每秒数量
increase(1m) 则是 取?段时间增量的总量?
举例:
increase(node_network_receive_bytes[1m]) 取的是 1分钟内的 增量总量
rate(node_network_receive_bytes[1m]) 取的是 1分钟内的增量 ?除以 60秒 每秒数量
sum( ) 就如其字?意思?样 起到value 加合的作?,sum( ? increase(node_cpu[1m]) ? ) 外?套??个sum 即可把所有核数值加合,得到所有cpu在一分钟之内的增量
用法:sum(rate(node_network_receive_bytes[1m]))
这个函数 可以把 sum加合到?起的数值 按照指定的?个?式 进??层的拆分 instance代表的是 机器名
例如:
sum(increase(node_cpu_seconds_total{mode="idle"}[1m]))by (instance)
idle代表是cpu空闲时间
(1-((sum(increase(node_cpu_seconds_total{mode="idle"}[1m])) by (instance))/(sum(increase(node_cpu_seconds_total[1m])) by (instance)))) * 100
sum(increase(node_cpu{mode="idle"}[1m])) by (instance) ?=》 是空闲CPU时间 1分钟的增量
sum(increase(node_cpu_seconds_total[1m])) by (instance) 是全部CPU时间 1分 钟增量
rate(. ?) 函数 是专门搭配counter类型数据使?的函数 它的功能 是按照设置?个时间段,取counter在这个时间段中 的 平均每秒的增量
例子:
rate(node_network_receive_bytes[1m])
就可以获取到 在1分钟时间内,平均每秒钟的 增量
所以说 我们以后在使?任何counter数据类型的时候,永远记 得 别的先不做 先给它加上?个 rate() 或者 increase()
定义:取前?位的最?值
用法:
Gauge类型的使? topk(3,count_netstat_wait_connections)
Counter类型的使? topk(3,rate(node_network_receive_bytes[20m]))
定义: 把数值符合条件的 输出数?进?加合
举例:找出当前(或者历史的)当TCP等待数?于200的 机器数量
count(count_netstat_wait_connections > 200)
命令?的查询 在原始输?的基础上 先使?{} 进?第?步过滤 count_netstat_wait_connections{exported_instance="log"}
exported_instance? 指明 是 那台被监控服务器 ?“log” 是?台 ?志服务器的机器名
count_netstat_wait_connections{exported_instance=~"web.*"}
把所有 机器名中 带有 web的 机器都显?出来?
.* 属于正则表达式
模糊匹配 ? =~
模糊不匹配 ?!~
标签过滤之后 ?就是数值的过滤 ?如 我们只想找出 wait_connection数量 ?于200的? count_netstat_wait_connections{exported_instance=~"web.*"} > 200
原文:https://www.cnblogs.com/huningfei/p/12717968.html