一 函数介绍

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

prometheus函数介绍的更多相关文章

  1. promql 常用函数介绍

    Metrics类型 根据不同监控指标之间的差异,Prometheus定义了4中不同的指标类型(metric type):Counter(计数器).Gauge(仪表盘).Histogram(直方图).S ...

  2. python strip()函数 介绍

    python strip()函数 介绍,需要的朋友可以参考一下   函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm)        删除s字符串中开头.结尾处,位于 rm删除 ...

  3. PHP ob_start() 函数介绍

    ob_start() 函数介绍: http://www.nowamagic.net/php/php_ObStart.php ob_start()作用: http://zhidao.baidu.com/ ...

  4. Python开发【第三章】:Python函数介绍

    一. 函数介绍 1.函数是什么? 在学习函数之前,一直遵循面向过程编程,即根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复 ...

  5. row_number() OVER(PARTITION BY)函数介绍

      OVER(PARTITION BY)函数介绍 开窗函数               Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个 ...

  6. select与poll函数介绍

    select与poll函数介绍 在所有依从POSIX的平台上,select函数使我们可以执行I/O多路转接.传向select的参数告诉内核: 1)我们所关心的描述符 2)对于每个描述符我们所关心的状态 ...

  7. swift1.2语言函数和闭包函数介绍

    swift1.2语言函数和闭包函数介绍 在编程中,随着处理问题的越来越复杂,代码量飞速增加.其中,大量的代码往往相互重复或者近似重复.如果不采有效方式加以解决,代码将很难维护. swift1.2语言函 ...

  8. ZLG_GUI配置与函数介绍

    http://www.docin.com/p-825479457.html ZLG_GUI配置与函数介绍

  9. oracle下的OVER(PARTITION BY)函数介绍

    转自:http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html OVER(PARTITION BY)函数介绍 开窗函数          ...

随机推荐

  1. selenium 浏览器标签切换

    from time import sleep from selenium import webdriver from selenium.webdriver.chrome.options import ...

  2. python保存图片

    #coding=utf-8 import requests url ="https://images.pexels.com/photos/1181767/pexels-photo-11817 ...

  3. doker基本使用

    Docker与虚拟机的区别 docker和虚拟机最大的不同,docker共用宿主机的内核,虚拟机中每个虚拟机中有单独的内核虚拟出来,如上图所示: docker不能做后端兼容性测试,因为其没有独立的虚拟 ...

  4. CentOS7防止root密码被破解

    破解root密码 为了防止服务器被破坏,为了守护业务的和平,在服务器安全方面,首先我们要做到密码的安全.那么知道如何破解root密码才能让我们有针对性的防护.另外如果我们忘掉了root密码,也能知道如 ...

  5. Ansible之YAML语言

    playbook写yml语句,若干模块发给Ansible,变成一个一个play,多个片段组合起来变成大片. 最终还是要读取主机清单,来确定作用在哪些机器上. YAML语言 YAML是一个可读性高的用来 ...

  6. Python基础及爬虫入门

    **写在前面**我们在学习任何一门技术的时候,往往都会看很多技术博客,很多程序员也会写自己的技术博客.但是我想写的这些不是纯技术博客,我暂时也没有这个能力写出 Python 或者爬虫相关的技术博客来. ...

  7. ng中的ng-content ng-template ng-container

    在angular中,有这样三个自带的标签,但是在angular的文档中没有说明,只有在api中有简单的描述,摸索了半天才搞懂是咋回事. ng-content <div> <ng-co ...

  8. 执行java -jar filename.jar提示没有主清单属性

    <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> ...

  9. oblivious polynomial evaluation

    Oblivious polynomial evaluation is a protocol involving two parties, a sender whose input is a polyn ...

  10. vue-cli2.0创建项目步骤

    Vue是近两年来比较火的一个前端框架(渐进式框架吧),与reactjs和angularjs三国鼎立,我不是职业前端,做过Vue,了解了一下React,听说过Angluar.我只能这么说,我来晚了,没经 ...