Prometheus 提供了一种名为 PromQL (Prometheus 查询语言)的函数式查询语言,允许用户实时选择和聚合时间序列数据。表达式的结果既可以显示为图形,也可以在 Prometheus 的表达式浏览器中作为表格数据查看,或者通过 HTTP API 由外部系统使用。
1. 语法
(1).运算
- 乘:* 除:/
- 加:+
- 减:-
(2).常用函数
- sum() 函数:求出找到所有 value 的值
- irate() 函数:统计平均速率
- by (标签名):
- 范围匹配:[5m] # 5 分钟之内
2.查询指定 mertic_name
node_cpu_seconds_total
3.带标签的查询
node_cpu_seconds_total{instance=“172.16.0.8:9100”}
4. 多标签查询
node_cpu_seconds_total{instance=“172.16.0.8:9100”,mode=“system”}
5.计算 CPU 使用率
100 - (avg(irate(node_cpu_seconds_total{mode=“idle”}[5m])) by (instance) * 100)
6.计算内存使用率
7.计算磁盘使用率
100 - (((node_filesystem_size_bytes{fstype=~“xfs|ext4”} - node_filesystem_free_bytes{fstype=~“xfs|ext4”}) /
node_filesystem_size_bytes{fstype=~“xfs|ext4”}) * 100