PromQL基本使用
PromQL (Prometheus Query Language) 是 Prometheus 自己开发的数据查询 DSL 语言,语言表现力非常丰富,内置函数很多,在日常数据可视化以及rule 告警中都会使用到它。
在页面 http://localhost:9090/graph
中,输入下面的查询语句,查看结果,例如:
一、查询结果类型
PromQL 查询结果主要有 3 种类型:
1、瞬时数据(Instant vector): 包含一组时序,每个时序只有一个点
2、区间数据(Range vector): 包含一组时序,每个时序有多个点
3、纯量数据(Scalar): 纯量只有一个数字,没有时序
1、瞬时数据 (Instant vector)
kubelet_http_requests_total
2、区间数据 (Range vector)
[5m] : 5分钟以内的数据
s:seconds
m:minutes
h:hours
d:days
w:weeks
y:years
Offset :查看多少分钟之前的数据
1.查询五分钟前到目前的数据
kubelet_http_requests_total[5m]
2.查询30分钟之前的数据
kubelet_http_requests_total offset 30m
3.查询前30到前25分钟的数据
kubelet_http_requests_total [5m] offset 30m
3、纯量数据(Scalar)
count(kubelet_http_requests_total)
#count 统计监控项的job
二、数据类型
prometheus的底层数据模型有四种。
Counter:---->只增不减的计数器
cpu运行时间
http请求数
gauge: ---->可憎可减的
系统负载情况
内存使用情况
Histogram & Summary --->用于统计分析样本的分布情况
http平均响应时间
三、查询条件
Prometheus 存储的是时序数据,而它的时序是由名字和一组标签构成的,其实名字也可以写出标签的形式。
1、标签等值查询
container_spec_cpu_quota{container="config-reloader"}
# 或
container_spec_cpu_quota{container=~"config-reloader"}
2、标签不等值查询
container_spec_cpu_quota{container!="config-reloader"}