promql 常用函数介绍
Metrics类型
根据不同监控指标之间的差异,Prometheus定义了4中不同的指标类型(metric type):Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)、Summary(摘要)。
最常用的两种数据类型:
- counter:此类型的指标其工作方式和计数器一样,只增不减(除非系统发生重置)。例如 node_cpu_seconds_total{mode="idle"} cpu空闲时间。
- Gauge:用于反应该样本的当前状态,该样本数可增可减。例如可用内存大小。
较难理解的两种数据类型: - Histogram与Summary:都是比例型的数值,统计数据的分布情况,如最小值,最大值,中间值,中位数,75百分位,90百分位,95百分位,98百分位,99百分位和99.9百分位(percentiles),近似于百分比估算数值。两种区别在于summary分位数是客户端计算上报,histogram中位数涉及服务端计算。
此处Http_response_time来解释此类型数据:
http请求响应时间:一次用户http请求在系统传输和执行过程中总共花费的时间,nginx的access_log有一列就为此时间。
需求:抓取某个业务当天access_log,并监控用户的访问时间,如何操作?
方案1:所有请求访问时间总和求平均值 假如当天100w次访问平均值为0.05s
情景1: 假如当天发生线上故障:中午1:00 - 1:05,整体用户请求响应时间0.5-1s。此种方案无法反映此段故障。
情景2: 慢请求,有一小部分用户由于程序bug,或系统或其他原因,请求响应时间比平均值大很多,甚至5s,10s 。此种方案也无法反应此情况。
方案2:基于Histogram的metrics类型(prometheus提供了一个基于Histogram算法的函数可供直接使用)分别统计出各段响应时间的用户:
~=0.0.5s 的请求数 , 0~0.05s的请求数 ,>2s的请求数 ,>10s的请求数
函数介绍
以下两个函数都用于counter类型数据
increase( )
eg:某一分钟cpu使用时间 increase()[1m]=该分钟末cpu使用时间-该分钟初cpu使用时间
rate()
eg:某一分钟cpu使用率 rate()[1m]=某一分钟cpu使用时间/60s
即 rate()=increase( )/60s
topk(3,rate(监控项(表达式))) 可用于监控单核cpu使用率前3 > xxx告警
sum() by ()
将某表达式查出的所有数据相加即为sum(), 再将相加的值通过某个特性进行分组,即为 sum() by()
例如监控某台主机(非单核)的cpu使用率
count()
对于满足某个表达式的监控项进行计数
eg: cpu使用率大于80%的服务器超过30台告警
_over_time()
以下函数允许聚合给定范围向量的每个系列随时间的变化并返回具有每系列聚合结果的即时向量:
avg_over_time(range-vector): 范围向量内每个度量指标的平均值。
min_over_time(range-vector): 范围向量内每个度量指标的最小值。
max_over_time(range-vector): 范围向量内每个度量指标的最大值。
sum_over_time(range-vector): 范围向量内每个度量指标的求和值。
count_over_time(range-vector): 范围向量内每个度量指标的样本数据个数。
quantile_over_time(scalar, range-vector): 范围向量内每个度量指标的样本数据值分位数,φ-quantile (0 ≤ φ ≤ 1)
stddev_over_time(range-vector): 范围向量内每个度量指标的总体标准偏差。
`stdvar_over_time(range-vector): 范围向量内每个度量指标的总体标准方差。
eg:
该主机1天内node_load5的最大值
max_over_time (node_load5{instance="1.1.1.1:9100"}[24h])
1h内的内存使用率 100 * (1 - ((avg_over_time(node_memory_MemFree_bytes[1h]) + avg_over_time(node_memory_Cached_bytes[1h]) + avg_over_time(node_memory_Buffers_bytes[1h])) / avg_over_time(node_memory_MemTotal_bytes[1h])))
promql 常用函数介绍的更多相关文章
- [MFC美化] SkinMagic使用详解2- SkinMagic常用函数介绍
SkinMagic常用函数介绍 (1)InitSkinMagicLib函数:初始化SkinMagic int InitSkinMagicLib( //初始化SkinMagic工具库 HINSTANCE ...
- MySQL常用函数介绍
MySQL常用函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作符介绍 1>.操作符优先级 mysql; +----------+ | +----------+ ...
- go语言之进阶篇字符串操作常用函数介绍
下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr st ...
- MySQL 常用函数介绍
MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...
- SQL SERVER系统表和常用函数介绍
sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库 字符集与排序顺序sysconfigures 主数据库 配置选项syscurconfigs 主数据库 当前配置选项s ...
- (转)postgis常用函数介绍(一)
http://blog.csdn.net/gisshixisheng/article/details/47701237 概述: 在进行地理信息系统开发的过程中,常用的空间数据库有esri的sde,po ...
- 性能测试基础-开门篇3(LR常用函数介绍)
LR常用的函数,协议不一样函数会不一样,这里简单的介绍下HTTP\WEBSERVICE\SOCKET协议常用函数: HTTP: web_set_max_html_param_len("102 ...
- Python数据分析--Numpy常用函数介绍(2)
摘要:本篇我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.学习读写文件的方法,并尝试函数式编程和NumPy线性代数运算,来学习NumPy的常用函数. ...
- (转)postgis常用函数介绍(二)
http://blog.csdn.net/gisshixisheng/article/details/47903151 概述: 书接上文,本文继续讲解Postgres中常用的空间函数的使用. 常用函数 ...
随机推荐
- java监控
参考: https://www.cnblogs.com/smail-bao/p/6027756.html
- python 科学计数法转数值
猜测python应该是有现成的模块可以解决该问题,不过没找到,所以自己简单写了个函数处理: def tranform(inputString): num_value = re.compile('^[0 ...
- 阿里云云效平台使用——Windows上使用阿里云云效(RDC)Git拉取代码
转载:https://blog.csdn.net/for_my_life/article/details/88700696 SSH key配置 1.首先从开始菜单里面打开刚刚安装完成的Git目录下Gi ...
- 解决Linux下SSH超时自动断开
title: 解决Linux下SSH超时自动断开 comments: false date: 2019-08-19 19:22:55 description: Linux 下 SSH 超时自动断开?? ...
- Redis集群部署一直卡在Waiting for the cluster to join ......(Redis集群总线配置)
redis集群总线端口为redis客户端端口加上10000,比如说你的redis 6379端口为客户端通讯端口,那么16379端口为集群总线端口 我搭建的redis集群中端口号是从 7001 ~ 70 ...
- Xadmin
一.安装 Xadmin pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2 二.导出文件 在公司开发中如何知道项目里别 ...
- java并发编程:线程同步和锁
一.锁的原理 java中每个对象都有一个内置锁.当程序运行到非静态的synchronized同步方法上时,自动获得与正在执行代码类的当前实例(this)有关的锁.获得一个对象的锁也称为获取锁,当程序运 ...
- apache 单个ip配置多个发布目录多个域名
1.找到apache 配置文件 httpd.conf 搜索 Include conf/extra/httpd-vhosts.conf 去掉前面的注释; 注释不注释都可以 DocumentRoot ...
- Delphi 指令符
- centos7 mysql 各种报错
1.重置root密码 vi /etc/my.cnf 添加skip-grant-tables service mysqld restart 2.mysql 登录 报错1 Unknown system v ...