prometheus函数介绍
一 函数介绍
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函数介绍的更多相关文章
- promql 常用函数介绍
Metrics类型 根据不同监控指标之间的差异,Prometheus定义了4中不同的指标类型(metric type):Counter(计数器).Gauge(仪表盘).Histogram(直方图).S ...
- python strip()函数 介绍
python strip()函数 介绍,需要的朋友可以参考一下 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除 ...
- PHP ob_start() 函数介绍
ob_start() 函数介绍: http://www.nowamagic.net/php/php_ObStart.php ob_start()作用: http://zhidao.baidu.com/ ...
- Python开发【第三章】:Python函数介绍
一. 函数介绍 1.函数是什么? 在学习函数之前,一直遵循面向过程编程,即根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复 ...
- row_number() OVER(PARTITION BY)函数介绍
OVER(PARTITION BY)函数介绍 开窗函数 Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个 ...
- select与poll函数介绍
select与poll函数介绍 在所有依从POSIX的平台上,select函数使我们可以执行I/O多路转接.传向select的参数告诉内核: 1)我们所关心的描述符 2)对于每个描述符我们所关心的状态 ...
- swift1.2语言函数和闭包函数介绍
swift1.2语言函数和闭包函数介绍 在编程中,随着处理问题的越来越复杂,代码量飞速增加.其中,大量的代码往往相互重复或者近似重复.如果不采有效方式加以解决,代码将很难维护. swift1.2语言函 ...
- ZLG_GUI配置与函数介绍
http://www.docin.com/p-825479457.html ZLG_GUI配置与函数介绍
- oracle下的OVER(PARTITION BY)函数介绍
转自:http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html OVER(PARTITION BY)函数介绍 开窗函数 ...
随机推荐
- selenium 浏览器标签切换
from time import sleep from selenium import webdriver from selenium.webdriver.chrome.options import ...
- python保存图片
#coding=utf-8 import requests url ="https://images.pexels.com/photos/1181767/pexels-photo-11817 ...
- doker基本使用
Docker与虚拟机的区别 docker和虚拟机最大的不同,docker共用宿主机的内核,虚拟机中每个虚拟机中有单独的内核虚拟出来,如上图所示: docker不能做后端兼容性测试,因为其没有独立的虚拟 ...
- CentOS7防止root密码被破解
破解root密码 为了防止服务器被破坏,为了守护业务的和平,在服务器安全方面,首先我们要做到密码的安全.那么知道如何破解root密码才能让我们有针对性的防护.另外如果我们忘掉了root密码,也能知道如 ...
- Ansible之YAML语言
playbook写yml语句,若干模块发给Ansible,变成一个一个play,多个片段组合起来变成大片. 最终还是要读取主机清单,来确定作用在哪些机器上. YAML语言 YAML是一个可读性高的用来 ...
- Python基础及爬虫入门
**写在前面**我们在学习任何一门技术的时候,往往都会看很多技术博客,很多程序员也会写自己的技术博客.但是我想写的这些不是纯技术博客,我暂时也没有这个能力写出 Python 或者爬虫相关的技术博客来. ...
- ng中的ng-content ng-template ng-container
在angular中,有这样三个自带的标签,但是在angular的文档中没有说明,只有在api中有简单的描述,摸索了半天才搞懂是咋回事. ng-content <div> <ng-co ...
- 执行java -jar filename.jar提示没有主清单属性
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> ...
- oblivious polynomial evaluation
Oblivious polynomial evaluation is a protocol involving two parties, a sender whose input is a polyn ...
- vue-cli2.0创建项目步骤
Vue是近两年来比较火的一个前端框架(渐进式框架吧),与reactjs和angularjs三国鼎立,我不是职业前端,做过Vue,了解了一下React,听说过Angluar.我只能这么说,我来晚了,没经 ...