prometheus使用 (四) 瞬时向量与区间向量
promQL语句和mysql数据库中select语句类似,都是用于查询某个对象下的数据信息
我们可以直接把promeheus中的"指标"看作是mysql中的"数据表"
通过查询指标,可以得到指标这个表中的存放的数据信息。并且可以通过筛选过滤来得到某个指标的详细信息
前言
#我们通过promQL语句查询得到的值主要有以下两种
1. "瞬时向量" #查询得到最新的值,(实时数据)通常用于报警、实时监控
2. "区间向量" #查询某一段时间范围内所有的样本值,多用于数据分析、预测
一. 瞬时向量
#查询磁盘总量
node_filesystem_size_bytes#通过下图,可以看到直接通过查询指标的名称,可以查询这个指标(表)中所有的数据
#而我们获取到的这个值,是一个实时数据。你可以多点几下,可以发现后面的值一直在变
返回
通过上面的查询我们获取到了该"指标(表)"下的所有数据
但很多时候希望可以获取单条的详细信息,而不是大量无用的信息
在promQL语句中,我们可以通过"标签"对查询的数据进行筛选
案例1 筛选过滤
#我们添加一个mountpoint="/"的标签 (显示/分区的信息)
#必须满足这个标签的值才会显示
node_filesystem_size_bytes{mountpoint="/"}
案例2 多层筛选
上图可以看到符合该条件的信息只有两条,但第二条rootfs明显是我们不需要的,我们可以再此过滤
#在上面的基础上我们再追加一个device != "rootfs"
#注意,这里使用的是"!=" 不等于
node_filesystem_size_bytes{mountpoint = "/",device != "rootfs"}
案例3 算数运算
我们通过筛选得到了一个单独的值,但这个数值并不方便理解。 我们将他转换一下
node_filesystem_size_bytes{mountpoint = "/",device != "rootfs"} / 1024 / 1024 / 1024
#得到如下的信息
{device="/dev/mapper/centos-root", fstype="xfs", instance="192.168.1.21:9100", job="node", mountpoint="/"} 16.986328125#我们回主机上查看
[root@k8s-node01 ~]# df -h | grep /$
/dev/mapper/centos-root 17G 5.8G 12G 35% /
#可以看到是很接近的,四舍五入的是17
小知识
#当我们使用下面语句查询时
node_filesystem_size_bytes{instance="192.168.1.21:9100"} #实际上是以下面的形式运行的
{__name__="node_filesystem_size_bytes",instance="192.168.1.21:9100"}
案例4 模糊匹配
我们并不是在所有的情况下都需要单个信息,当节点信息过多的时候。
我们有时会进行一些模糊的匹配机制来获取多个资源的值
#和上面的语法类似,不同的是将 (=,!=) 替换为了(=~,!~)
#如下
#匹配到的ip都会显示
node_filesystem_size_bytes{instance=~"(192.168.1.20:9100|192.168.1.21:9100|192.168.1.22:9100)"}#匹配到的ip都不会显示
node_filesystem_size_bytes{instance!~"(192.168.1.20:9100|192.168.1.21:9100|192.168.1.22:9100)"}
二. 区间向量
上面我们通过promQL查询到的数据会返回一个样本值,这个值我们称之为"瞬时向量"
而我们想要获取一段时间范围内的数据时,我们则需要使用"区间向量表达式"
#首先我们要先了解一下时间范围的单位
#缩写 #单位
s Seconds 秒
m Minu 分
h Hours 时
d Days 天
w Weeks 周
y Years 月
案例1 获取2分钟内磁盘可用容量的值
#在结尾添加[2m]
node_filesystem_free_bytes{mountpoint = "/",device != "rootfs"}[2m]
可以看到,他会返回在2分钟内磁盘变化的值,前面标记的是磁盘可用的空间后面是磁盘最大空间
案例2 范围查询的偏移量(offset)
上面我们查询到了2分钟内的数据,但是我们现在反过来。
我们要查询2分钟之前的数据、或者昨天的数据做统计,就需要用到"偏移量"
#查询1小时前的最后两分钟的磁盘可用大小
node_filesystem_free_bytes{mountpoint = "/",device != "rootfs"}[2m] offset 1h#不过本地查看,也没什么太大的浮动。
我们可以通过predict_linear() 去预测磁盘多久会用完 (当返回的值小于0时可以设置报警)
#这里我们根据磁盘可用量在10分钟内的增长值,去预测1个小时内会不会占满
predict_linear(node_filesystem_free_bytes{mountpoint ="/"}[10m], 1*3600) < 0#不出意外应该不会查询到任何东西
#自然增长没那么快,我这里磁盘容量大小是17G,我们去创建一个大文件做测试
dd if=/dev/zero of=file bs=5000M count=1 #写入一个5G的文件
刚开始的时候,我们不是很清楚要写些什么,可以先看看grafana上面的模板的语句进行参考
prometheus使用 (四) 瞬时向量与区间向量相关推荐
- 计算机图形学 opengl版本 第三版------胡事民 第四章 图形学中的向量工具
计算机图形学 opengl版本 第三版------胡事民 第四章 图形学中的向量工具 一 基础 1:向量分析和变换 两个工具 可以设计出各种几何对象 点和向量基于坐标系定义 拇指指向z轴正 ...
- 系统学习NLP(十四)--句子向量与篇章向量
转自:https://blog.csdn.net/qq_35082030/article/details/72582103 Doc2Vec 或者叫做 paragraph2vec, sentence e ...
- 词向量与词向量拼接_nlp中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert
本文以QA形式对自然语言处理中的词向量进行总结:包含word2vec/glove/fastText/elmo/bert. 2020年更新:NLP预训练模型的全面总结JayLou娄杰:史上最全!PTMs ...
- 词向量、句子向量、篇章向量的一些理解(转)
2019独角兽企业重金招聘Python工程师标准>>> 词向量.句子向量.篇章向量的一些理解(转) (转自)http://blog.csdn.net/sinat_26917383/a ...
- asp.net core监控—引入Prometheus(四)
上一篇博文中说到Prometheus有四种指标类型:Counter(计数器).Gauge(仪表盘).Histogram(直方图).Summary(摘要),并且我们做了一个Counter的Demo,接下 ...
- c语言平面向量加法考点,平面向量的加减法怎么死活都不会?有没有什么口诀?例如:向量AB+BC=?向量OA-OB=?向量AB-CB=?有没有什么口诀!...
设a=(x,y),b=(x',y'). 1.向量的加法 向量的加法满足平行四边形法则和三角形法则. AB+BC=AC. a+b=(x+x',y+y'). a+0=0+a=a. 向量加法的运算律: 交换 ...
- unique去除重复的向量_R语言向量与因子
使用combine创建向量 # 字符型向量 name <- c("张三","李四") # 数值型向量 num <- c(1,2,3.4,5) # 逻 ...
- python二维向量运算模拟_Python数学基础之向量定义与向量运算(附代码)
患难与困苦是磨练人格的最高学府.--苏格拉底(公元前470年-公元前399年) Adversity and pinch are the highest institution of higher le ...
- 将向量附加到向量[重复]
本文翻译自:Appending a vector to a vector [duplicate] This question already has an answer here: 这个问题已经在这里 ...
最新文章
- python判断一个数是整数、浮点数还是字符串
- python全栈学习--day8
- C++基础:第七章 函数
- SCI论文降重技巧盘点 - 易智编译EaseEditing
- windows用户密码破解
- 蚌埠学院计算机基础,蚌埠学院电子教务登录
- 聊聊外贸企业自建网站注意事项
- python百分号用法_python中百分号表示什么意思
- 企业微信自建内部应用Demo源码,附在线Demo及视频讲解,创建测试公司及测试应用简单配置即可使用
- 什么是Express框架
- 中国剩余定理与韩信点兵问题原理
- 计算机类部分核心期刊说明
- ROS 教程2 机器人雷达建图 蒙特卡洛定位 导航 路径规划 仿真
- 一犯人在执行死刑前三天供出祖传治癌奇方
- 开发中关于手机的听筒模式的设置
- Educoder头歌-Linux vi/vim编辑器
- echo命令的换行方法
- java license机制dll_LicenseJava.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家...
- 【CSS布局】—— flex(弹性)布局
- 渲染TA实战:眼球的渲染
热门文章
- 进攻方向的选择(博弈论的诡计)
- 毕业设计——音乐播放系统 可以自己上传歌曲 SSM框架 MYSQL数据库 功能齐全
- Flash教程1000例
- 站长做广告联盟和包月广告需要注意些什么?
- 《如何让你爱的人爱上你》——莉尔·朗兹[美]
- VL48-使用Verilog解决多bit MUX同步器—慢时钟域同步到快时钟域(多bit跨时钟域),快时钟同步使能端并通过该使能端控制输出数据
- 苹果cms整合dplayer播放器增加记忆+P2P播放+自动下一集
- iOS:制作简易的 AAC 播放器 —— 了解音频的播放流程
- vulnhub Vegeta: 1
- linux安装压力测试工具vegeta