一 函数介绍

gauge类型的数据  属于随机变化数值,并不像counter那样 是 持续增长

1 increase()

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秒 每秒数量

2 sum()

sum( ) 就如其字⾯意思⼀样 起到value 加合的作⽤,sum(   increase(node_cpu[1m])   ) 外⾯套⽤⼀个sum 即可把所有核数值加合,得到所有cpu在一分钟之内的增量

用法:sum(rate(node_network_receive_bytes[1m]))

3 (instance)

这个函数 可以把 sum加合到⼀起的数值 按照指定的⼀个⽅式 进⾏⼀层的拆分 instance代表的是 机器名

例如:

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

4 利用上面的函数查看cpu使用率

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分 钟增量

5 rate 函数的使⽤

rate(.  ) 函数 是专门搭配counter类型数据使⽤的函数 它的功能 是按照设置⼀个时间段,取counter在这个时间段中 的 平均每秒的增量

例子:

rate(node_network_receive_bytes[1m])

就可以获取到 在1分钟时间内,平均每秒钟的 增量

所以说 我们以后在使⽤任何counter数据类型的时候,永远记 得 别的先不做 先给它加上⼀个 rate() 或者 increase()

6 topk()

定义:取前⼏位的最⾼值

用法:

Gauge类型的使⽤ topk(3,count_netstat_wait_connections)

Counter类型的使⽤ topk(3,rate(node_network_receive_bytes[20m]))

7 count()

定义: 把数值符合条件的 输出数⽬进⾏加合

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

count(count_netstat_wait_connections > 200)

二 prometheus命令⾏格式

1 精确匹配

命令⾏的查询 在原始输⼊的基础上 先使⽤{} 进⾏第⼀步过滤 count_netstat_wait_connections{exported_instance="log"}

exported_instance  指明 是 那台被监控服务器  “log” 是⼀台 ⽇志服务器的机器名

2 模糊匹配

count_netstat_wait_connections{exported_instance=~"web.*"}

把所有 机器名中 带有 web的 机器都显⽰出来 

.* 属于正则表达式

模糊匹配   =~

模糊不匹配  !~

3 数值过滤

标签过滤之后  就是数值的过滤 ⽐如 我们只想找出 wait_connection数量 ⼤于200的  count_netstat_wait_connections{exported_instance=~"web.*"} > 200

最新文章

  1. tomcat实现域名访问步骤
  2. js跨域访问,No 'Access-Control-Allow-Origin' header is present on the requested resource
  3. win8访问win7中的共享文件夹 映射网络驱动器
  4. java抽象类与接口的区别及用法
  5. 连接池和 "Timeout expired"异常
  6. OneAlert:国内首家 SaaS 模式的云告警平台
  7. pythn BeautifulSoup
  8. 响应头location 页面跳转
  9. 嵌入式系统USB CDROM虚拟光驱驱动程序开发
  10. Trump就职演说
  11. 全球DDOS安全防护
  12. ajax提交 返回中文乱码问题
  13. 设计模式C++学习笔记之十八(Visitor访问者模式)
  14. 【CF429E】Points and Segments 欧拉回路
  15. elk中es集群web管理工具cerebro
  16. jQuery:SP.NET Autocomplete Textbox Using jQuery, JSON and AJAX
  17. 创建Web API并使用
  18. Java基础语法<七> 对象与类 封装
  19. Winform/WPF Clipboard之剪切复制粘贴
  20. Microsoft Visual C++ 2005 Redistributable 无法卸载问题解决办法

热门文章

  1. JVM系列【6】GC与调优1
  2. pytest文档42-fixture参数化params
  3. k8s-命令创建service
  4. JavaSE学习笔记03流程控制
  5. 雨露均沾的OkHttp—WebSocket长连接的使用&源码解析
  6. Rest Framework设计规范
  7. javascript常见面试题之一:将字符串'get-element-by-id'转换成驼峰命名法;
  8. 正则表达式小应用之对xml格式字符串每个字段加双引号
  9. Rancher 2.5特性解读丨更简单友好的API和Dashboard
  10. 如何解决 Nginx 端口映射到外网后访问地址端口丢失的问题