一. Prometheus 的自带查询界面
(1)采集的所有监控指标,存储在 prometheus server 中,前端 WEB UI 可 进行查询。
文本框输入 metric 指标名称,点击“Execute”按钮进行查询。也可以从按 钮旁边的下拉框中选择指标。
(2)Console 中以列表形式展示,如果想查看历史趋势,点击“Graph”可以查看历史数据曲线,支持查看之前 1h。
二、查询语法
1、全局查询:直接输入 metric 名进行查询,如查询 cpu 指标 node_cpu
不带条件限制,将会把此项 metric 所有数据查询出来,如示例中包含 N 多 ip 的 cpu 信息,将会全部进行展示。
2、带查询条件:
node_cpu{instance="10.161.12.101:9100",mode="idle"},使用 labels 限 制将查询范围进行限定,可以较准确查询到某个或者某些,仅匹配这些条件的项。
3、使用正则表达式的查询条件:
!= 表示标签不等于提供的字符串
=~ 表示标签中包含提供的字符串
http_requests_total{method!="post"}
注意使用时,字符串不可为单独的‘.*’ 这表示查全局的标签。 node_cpu{instance="10.161.12.101:9100",mode=~"guest|nice|idle"}
!~ 表示标签中不包含提供的字符串 node_cpu{instance="10.161.12.101:9100",mode!~"guest|nice|idle"} node_cpu{instance="10.161.12.101:9100",mode!~"guest.*|nice"}
4、可对 metric 名称带查询条件查询:
{__name__ =~"node_cpu|node_cpu_core_throttles_total"} and {instance="10.161.12.101:9100"}
5、加时间范围的查询 http_requests_total{ instance="10.161.12.101:9100"}[5m] 表 示http_requests_total 中标签是 instance="10.161.12.101:9100"的最近 5 分钟 内的历史数据,一同展示。
6、偏移量 offset 查询,可以查时间往前推 5m,当时的值。 http_requests_total{method="get"} offset 5m
7、操作符和函数
(1)rate 函数可以直接计算区间向量 v 在时间窗口内平均增长速率。 例如,通过 rate()函数获取 HTTP 请求量的增长率: rate(http_requests_total[5m])
(2)sum 操作符可以直接计算区间向量 v 在时间窗口内总和,by 后面列出 的标签就是结果向量中保留的标签
例如,通过 sum 获取某个 instance 的 HTTP 请求量的总和:
sum(http_requests_total) by (instance)
(3) avg 操作符可以直接计算区间向量 v 在时间窗口内平均值,by 后面列出的标签就是结果向量中保留的标签
例如,通过 avg 获取某个 instance 的 HTTP 请求量的平均值:
avg(http_requests_total) by (instance)
8、更多查询语法,见官网
https://prometheus.io/docs/prometheus/latest/querying/basics/