PromQL使用

介绍

Prometheus提供一个函数式的表达式语言PromQL,可以使用户实时地查找和聚合时间序列产物。

节点部署情况

系统 IP 服务
Ubuntu22.04 192.168.202.221 Prometheus, grafana, blackbox exporter, node exporter
Ubuntu22.04 192.168.202.222 node exporter
Ubuntu22.04 192.168.202.223 node exporter
Ubuntu22.04 192.168.202.224 node exporter

PromQL基本查询

示例一

node_memory_MemTotal_bytes 查询node节点内存大小

示例二

node_memory_MemFree_bytes 查询node节点剩余可用内存

示例三

node_memory_MemTotal_bytes{instance="192.168.202.221:9100"} 查询指定节点总内存

说明: {instance="192.168.202.221:9100"}中的为添加的其他查询条件

示例四

node_memory_MemFree_bytes{instance="192.168.202.221:9100"} 查询指定节点剩余内存大小

示例五

node_disk_io_time_seconds_total{device="sda"} 查询指定磁盘的磁盘IO

示例六

node_filesystem_free_bytes{device="/dev/sda3", fstype="ext4",mountpoint="/"} 查看指定磁盘剩余空间大小

示例七

node_load1 查看CPU一分钟的负载

PromQL数据类型

  • 瞬时向量(instant vector): 是一组时间序列,每个时间序列包含单个数据样本,比如node_memory_MemTotal_bytes查询当前剩余内存就是一个瞬时向量,该表达式的返回值中只会包含该时间序列的最新的一个样本值,而相应的这样的表达式称之为瞬时向量表达式

  • 范围向量(range vector): 是指在任何一个时间范围内,抓取的所有度量指标数据,比如最近一天的网卡流量

  • 标量(scalar): 是一个浮点数类型的数据值。使用node_load1 获取到是一个瞬时向量,但是可以使用内置函数scalar()将瞬时向量转换为标量

  • 字符串(string): 字符串类型的数据,目前使用较少

PromQL匹配器

sh 复制代码
=   选择与提供的字符串完全相同的标签
!=  选择与提供的字符串不相同的标签
=~  选择正则表达式与提供的字符串(或子字符串)相匹配的标签
!~  选择正则表达式与提供的字符串(或子字符串)不匹配的标签

PromQL时间范围

sh 复制代码
s  秒
m  分钟
h  小时
d  天
w  周
y  年

PromQL运算符

sh 复制代码
+ 加法
- 减法
* 乘法
/ 除法
% 模
^ 幂

PromQL聚合运算

sh 复制代码
sum()  求和
min()  最小值
max()  最大值
avg()  平均值
stddev() 标准差
stdvar() 标准差异、
count()  计数
count_values()  对value进行计数
bottomk()  样本值最小的k个元素
topk()     样本值最大的k个元素
quantile()  分布统计
相关推荐
座山雕~8 小时前
Springboot
android·spring boot·后端
韩立学长10 小时前
基于Springboot流浪动物救助系统o8g44kwc(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
我命由我1234510 小时前
充血模型与贫血模型
java·服务器·后端·学习·架构·java-ee·系统架构
小镇学者10 小时前
【other】Goofy Node
后端
颜淡慕潇11 小时前
动态代理赋能:高效爬取沃尔玛海量商品信息与AI分析实战
人工智能·后端
半夏知半秋12 小时前
kcp学习-通用的kcp lua绑定
服务器·开发语言·笔记·后端·学习
hero.fei12 小时前
kaptcha 验证码生成工具在springboot中集成
java·spring boot·后端
w***765512 小时前
存储技术全景:从基础原理到未来趋势
spring boot·后端·mybatis
J_liaty13 小时前
基于ip2region.xdb数据库从IP获取到属地解析全攻略
java·网络·后端
且去填词13 小时前
深入理解 GMP 模型:Go 高并发的基石
开发语言·后端·学习·算法·面试·golang·go