直观感受PromQL及其数据类型
创始人
2024-05-13 02:54:55
0

由于PromQL内容较多,将内容分为三篇文章讲述:
一、直观感受PromQL及其数据类型
二、PromQL之选择器和运算符
三、PromQL之函数

想必都知道要使用Msql,必须会用SQL,同样要使用Prometheus 就要掌握PromQL(Prometheus Query Language),它可以实时选择和汇聚时间序列数据,从而很方便的在Prometheus中查询和检索数据,结果可以展示为图表或者表格。

直观感受PromQL

在详细介绍PromQL之前,我们先通过几个简单的查询来直观感受PromQL。

  1. 查询应用已使用的堆内存大小,单位MB

jvm_memory_used_bytes / (1024*1024)

在这里插入图片描述
说明:图框中三条数据相加和即为已占用堆内存大小,默认的单位为B,图中已转为为MB

  1. 进阶版,查询应用已使用的堆内存大小,单位MB

sum(jvm_memory_used_bytes{area=“heap”} / (1024*1024))

在这里插入图片描述
说明:筛选出 area=“heap” 的堆内存数据,这个时候由6条数据变为3条数据,再通过求和函数对3条数据相加得到最终的值

  1. 保留两位小数,查询应用已使用的堆内存大小,单位MB

round(sum(jvm_memory_used_bytes{area=“heap”} / (1024*1024)), 0.01)

在这里插入图片描述

说明:这次相对1、2又多套了一个函数round,作用是保留两位小数,四舍五入

通过上面3个案例,从简单到复杂,我们看到PromeQL的写法跟SQL完全不相同,相对于SQL反而更容易理解。

时间序列

Prometheus 本身也是一种时间序列数据库,时间序列数据库主要按照一定得时间间隔产生一个个的数据点,以时间轴为横坐标,序列为纵坐标,如图所示:
在这里插入图片描述
每个数据点都代表一条时间序列数据,比如 某一时间的 jvm_memory_used_bytes{application=“provider”, area=“heap”, id=“PS Eden Space”, instance=“192.168.0.115:8000”, job=“provider”} 会在图中产生一个数据点,但同一个时间点可能会产生多条数据,只要指标名称或者标签集不同,就是不同的数据。另外如果时间点不同,指标名称或标签集相同,也会产生一个数据点。

时间序列的组成:
在这里插入图片描述

  • 指标(Metrics): 包括指标名称 和 一组标签集,如 jvm_memory_used_bytes{application=“provider”, area=“heap”, id=“PS Eden Space”, instance=“192.168.0.115:8000”, job=“provider”}
  • 时间戳(TimeStamp):默认精确到毫秒
  • 样本值(Value): 默认使用Float64 浮点类型

PromQL 的数据类型

Prometheus 一共有4种数据类型:

  1. 瞬时向量(Instant vector):每个时间序列包含单个样本,是给定时间戳的即时值

如:

jvm_memory_used_bytes

在这里插入图片描述
虽然查询出多条数据,但都是不同的数据

  1. 区间向量(Range vector):每个时间序列包含一段时间范围内的样本数据

如:表示获取1分钟内jvm_memory_used_bytes指标的采样数据

jvm_memory_used_bytes[1m]

在这里插入图片描述

  1. 标量(Scalar):浮点型数据值,但可以写成整数或浮点值

如:

23
-2.43
3.4e-9
0x8f
-Inf
NaN
  1. 字符串(String):字符串可以用单引号(‘’)、双引号(“”)、反引号(``)来指定

如:

"this is a string"
'these are unescaped: \n \\ \t'
`these are not unescaped: \n ' " \t`

作者其他文章:
Grafana 系列文章,版本:OOS v9.3.1

  1. Grafana 的介绍和安装
  2. Grafana监控大屏配置参数介绍(一)
  3. Grafana监控大屏配置参数介绍(二)
  4. Grafana监控大屏可视化图表
  5. Grafana 查询数据和转换数据
  6. Grafana 告警模块介绍
  7. Grafana 告警接入飞书通知

Spring Boot Admin 系列

  1. Spring Boot Admin 参考指南
  2. SpringBoot Admin服务离线、不显示健康信息的问题
  3. Spring Boot Admin2 @EnableAdminServer的加载
  4. Spring Boot Admin2 AdminServerAutoConfiguration详解
  5. Spring Boot Admin2 实例状态监控详解
  6. Spring Boot Admin2 自定义JVM监控通知
  7. Spring Boot Admin2 自定义异常监控
  8. Spring Boot Admin 监控指标接入Grafana可视化

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...