我们先通过几个 PromQL 示例熟悉一下如何通过 PromQL 去查询时间序列数据,为后续学习更深入的语法打基础。
返回指标为 prometheus_http_requests_total 的所有时间序列:
prometheus_http_requests_total
如下图:
返回具有 prometheus_http_requests_total 指标以及给定 job 和 handler 标签的所有时间序列:
prometheus_http_requests_total{job="prometheus",handler="/api/v1/rules"}
如下图:
返回具有 prometheus_http_requests_total 指标过去五分钟的时间范围(当前时间 ~ 过去 5 分钟),使其成为范围向量:
prometheus_http_requests_total{job="prometheus",handler="/api/v1/rules"}[5m]
如下图:
请注意,生成范围向量的表达式不能直接绘制图表,只能在表达式浏览器的表格("控制台")视图中查看。
使用正则表达式,返回具有 prometheus_http_requests_total 指标以及给定的 job 以 metheus 结尾的时间序列:
prometheus_http_requests_total{job=~".*metheus"}
如下图:
返回具有 prometheus_http_requests_total 指标以及给定 code 不等于 2xx 的数据:
prometheus_http_requests_total{code!~"2.."}
如下图: