Prometheus数据模型以及PromQL实战(Rocky9 直接复制跑)
一、先确认 PromQL 4 种数据类型
- Counter 只增不减(请求数、CPU 时间)
- Gauge 可增可减(内存、CPU 使用率、连接数)
- Histogram 分桶统计(延迟分布)
- Summary 客户端分位数(平均、总量)
二、最常用 PromQL 语句(直接在页面执行)
打开你的 Prometheus:http://192.168.52.130:9090
1)瞬时向量(最基础)
node_load1node_memory_MemAvailable_bytesdocker_container_cpu_usage_seconds_total


2)区间向量(看一段时间)
node_load1[1m]node_memory_MemAvailable_bytes[5m]


3)rate /irate 使用率(最常用画图)
CPU 使用率:
100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[1m])) * 100)
内存使用率:
100 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100)

4)sum 聚合
sum(rate(node_cpu_seconds_total[1m])) by (instance)

5)topk 取最高
topk(3, node_memory_MemAvailable_bytes)

6)histogram 直方图(延迟)
histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[1m])) by (le))
三、标准:3 个必做查询
1)查看当前主机 CPU 使用率
100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[1m])) * 100)
2)查看内存可用百分比
node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100
3)查看容器 CPU 使用率
sum(rate(container_cpu_usage_seconds_total[1m])) by (name)
四、Grafana 出图(可视化)
导入这两个 ID :
- 主机监控:8919

- Docker 容器:10619

五、完成验证
- Prometheus 页面能执行 PromQL
- 能看到 Counter/Gauge 数据
- Grafana 能出曲线图