Prometheus 监控常用查询片段

收藏几条 pod / 磁盘 / TCP 连接数的 PromQL

Posted by BY on April 25, 2026

原始笔记只有几条 PromQL 片段,这里按用途分节整理,方便后续继续往里塞新的查询。

当前保留内容

1. Pod 信息

通过 kube_pod_info 查某个 Pod 的元信息:

kube_pod_info{pod="msg-server-default-766b6784f5-9hpg4"}

按 pod 名匹配即可,常用于先确认 Pod 落在哪个节点 / 命名空间。

2. 磁盘使用率告警

按 instance 维度算磁盘使用率(百分比),超过 77% 触发告警;同时通过 mountpoint!~"/noah.*" 把不关心的挂载点排除:

max by(instance) (
  (node_filesystem_size_bytes - node_filesystem_free_bytes)
  /
  (node_filesystem_size_bytes{mountpoint!~"/noah.*"}
   - node_filesystem_free_bytes
   + node_filesystem_avail_bytes)
) * 100 > 77

3. TCP 当前 ESTABLISHED 连接数

查看某台宿主机上 TCP 处于 ESTABLISHED 状态的连接数:

node_netstat_Tcp_CurrEstab{instance="hb-bj-d-c16m64-k8sbeta2002.bcc-bjdd"}

可以直接画曲线观察峰值,或用 topk 找出最高的若干台机器。

后续可补的方向

这篇后续如果继续整理,建议至少补下面几类内容:

  • CPU / 内存 / 网络流量等其它常用指标的 PromQL 片段
  • 业务侧自定义指标(QPS、错误率、P99)的标准查询模板
  • 告警规则示例(包含 for / labels / annotations 的完整 yaml)
  • 配合 Grafana 面板的常用变量与查询写法

当前这篇先当作一个”PromQL 收藏夹”的占位条目,后续遇到好用的查询直接补到对应小节。