一个菜鸟的prometheus学习日志(三)——查询
这篇日志记录下prometheus的基本查询方法。主要是记录一些基本的数据类型和查询函数的最基本语法。
一.Expression language data types 表达语言的数据类型
表达式语言分为以下四种:
instant vector 瞬时变量
同一个时间戳上抓取的所有度量指标数据。
range vector 范围向量
一段时间内抓取的度量指标数据
scalar vector 标量
emmmmm,一个简单的浮点值,64位
string 字符串
一个普通的字符串,目前尚未用到
二.Time series selector 时间序列选择器
instant vector selector 瞬时向量选择器
瞬时向量选择器可以对一组时间序列数据进行筛选,并给出结果中的每个结果键值对(时间戳-样本值)。
1.最简单的方式是仅指定一个度量名称,例如:
http_requests_total
即可查看所有度量名为http_request_total的时间序列数据以及其图像。
2.通过在度量指标后面增加{}一组标签可以进一步地过滤这些时间序列数据。
例如如下语句可以抓取到度量名为http_request_total,标签handler = "graph"的时间序列数据。
http_requests_total{handler = "graph"}
range vector selectors
范围向量类似瞬时向量, 不同在于,它们从当前实例选择样本范围区间。在语法上,时间长度被追加在向量选择器尾部的方括号[]中,用以指定对于每个样本范围区间中的每个元素应该抓取的时间范围样本区间。
s,m,h,d,w,y分别代表秒分时日周年。
例如如下语句可以抓取到度量名为http_request_total,标签handler = "graph",过去五分钟内的时间序列数据。
http_requests_total{handler = "graph"}[5m]
offset modlfiter
偏移修饰符允许在查询中改变单个瞬时向量和范围向量中的时间偏移
如下语句可以抓取到度量名为http_request_total,标签handler = "graph",以五分钟前为基准的,过去五分钟内的时间序列数据。
http_requests_total{handler = "graph"}[5m]offset 5m
note:偏移修饰符必须直接跟在选择器后面