Prometheus数据模型以及PromQL实战(Rocky9 直接复制跑)

一、先确认 PromQL 4 种数据类型

  1. Counter 只增不减(请求数、CPU 时间)
  2. Gauge 可增可减(内存、CPU 使用率、连接数)
  3. Histogram 分桶统计(延迟分布)
  4. 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

五、完成验证

  1. Prometheus 页面能执行 PromQL
  2. 能看到 Counter/Gauge 数据
  3. Grafana 能出曲线图

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注