本文档由 石墨办公 提供。
| 分类 | 覆盖对象 |
|---|---|
| 节点监控 | Linux 主机、系统资源、磁盘、网络、进程 |
| 容器监控 | containerd 运行的容器、Pod 容器资源 |
| Kubernetes 集群 | Node、Pod、Deployment、StatefulSet、Job、PVC、APIServer |
| MySQL | MySQL 实例、连接、查询、缓存、锁、网络 |
| MongoDB | MongoDB 实例、连接、操作、内存、网络、复制缓冲 |
| Redis | Redis 实例、客户端、命令、内存、Keyspace、命中率 |
| Kafka | Broker、Topic、Partition、Consumer Group、Lag、Replica |
| MinIO | 集群节点、磁盘、Bucket、S3 请求、对象容量 |
| Elasticsearch | 集群健康、节点、分片、索引、JVM、线程池、网络 |
| 应用服务 | 通用服务端、客户端调用、协同编辑、RS 服务、运行时 |
| 指标类型 | 阅读方式 | 常用 PromQL 写法 | 说明 |
|---|---|---|---|
| Counter | 看增速或时间窗口内增量 | rate(x_total[5m])、increase(x_total[5m]) | 请求数、错误数、字节数、IO 次数一般属于 Counter |
| Gauge | 看当前值、平均值、最大值 | avg(x)、max(x)、sum(x) | 内存、连接数、容量、状态值 一般属于 Gauge |
| Histogram | 看分位耗时 | histogram_quantile(0.95, sum(rate(x_bucket[5m])) by (le)) | 请求耗时、处理耗时、队列耗时一般用 Histogram |
| Ratio | 看比例 | A / B * 100 | 使用率、错误率、命中率都属于比例型指标 |
| 监控维度 | 指标 | 指标含义 | 常用口径/单位 | 异常表现 |
|---|---|---|---|---|
| 节点存活 | up | exporter 或采集目标是否可访问 | 1 表示可采集,0 表示不可采集 | 连续为 0,说明节点、网络或 exporter 异常 |
| 启动时间 | node_boot_time_seconds | 节点最近一次启动时间 | Unix 时间戳 | 启动时间变化,说明节点发生过重启 |
| 节点信息 | node_uname_info、node_os_info | 操作系统、内核和发行版信息 | 标签信息 | 用于核对节点版本,不直接作为告警指标 |
up,再看 node_boot_time_seconds。如果节点不可采集,同时启动时间近期发生变化,优先确认主机重启、网络 ACL、node-exporter 进程状态。| 监控维度 | 指标 | 指标含义 | 常用口径/单位 | 异常表现 |
|---|---|---|---|---|
| CPU 使用率 | node_cpu_seconds_total | 各 CPU 核在不同模式下累计耗时 | 百分比 | user、system 持续偏高,节点算力紧张 |
| 空闲 CPU | node_cpu_seconds_total{mode="idle"} | CPU 空闲时间 | 百分比 | 空闲长期过低,容易出现排队和延迟上升 |
| IO 等待 | node_cpu_seconds_total{mode="iowait"} | CPU 等待磁盘 IO 的时间 | 百分比 | iowait 持续升高,通常说明磁盘或存储链路变慢 |
| 系统负载 | node_load1、node_load5、node_load15 | 1/5/15 分钟平均负载 | 负载值 | 负载长期高于 CPU 核数,说明任务排队明显 |
| CPU 压力 | node_pressure_cpu_waiting_seconds_total | CPU PSI 等待时间累计值 | 秒/秒 | CPU 资源竞争明显,进程等待 CPU 调度 |
100 - avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100avg by (instance) (rate(node_cpu_seconds_total{mode="iowait"}[5m])) * 100user、system、iowait。user 高多半是业务计算压力,system 高可能与系统调用、网络包处理有关,iowait 高要继续看磁盘吞吐、IOPS 和延迟。| 监控维度 | 指标 | 指标含义 | 常用口径/单位 | 异常表现 |
|---|---|---|---|---|
| 总内存 | node_memory_MemTotal_bytes | 节点物理内存总量 | Bytes | 用于计算使用率 |
| 可用内存 | node_memory_MemAvailable_bytes | 系统可分配给进程的内存 | Bytes / 百分比 | 可用内存持续过低,容易触发 OOM 或频繁回收 |
| 空闲内存 | node_memory_MemFree_bytes | 完全未使用的内存 | Bytes | Linux 下不能单独用它判断内存压力 |
| 内存压力 | node_pressure_memory_waiting_seconds_total | 内存 PSI 等待时间累计值 | 秒/秒 | 内存回收或分配等待增加 |
| OOM 次数 | node_vmstat_oom_kill | 系统 OOM kill 次数 | 次数/增量 | 出现增长时,需要定位被杀进程和内存峰值 |
(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100increase(node_vmstat_oom_kill[10m])MemFree。实际可用性更应该看 MemAvailable,同时结合容器工作集内存、进程 RSS 和 OOM 记录判断。| 监控维度 | 指标 | 指标含义 | 常用口径/单位 | 异常表现 |
|---|---|---|---|---|
| 文件系统总量 | node_filesystem_size_bytes | 挂载点总容量 | Bytes | 用于计算磁盘使用率 |
| 文件系统剩余 | node_filesystem_avail_bytes | 普通用户可用空间 | Bytes | 可用空间不足会导致写入失败 |
| 文件系统空闲 | node_filesystem_free_bytes | 文件系统空闲空间 | Bytes | 含 root 保留空间,通常结合 avail 看 |
| 只读状态 | node_filesystem_readonly | 文件系统是否只读 | 0/1 | 为 1 时业务写入会失败 |
| inode 总数 | node_filesystem_files | 文件系统 inode 总量 | 个 | 小文件场景需要重点关注 |
| inode 剩余 | node_filesystem_files_free | 剩余 inode 数 | 个/百分比 | inode 耗尽时, 即使磁盘还有空间也无法创建文件 |
(1 - node_filesystem_avail_bytes{fstype!~"tmpfs|overlay"} / node_filesystem_size_bytes{fstype!~"tmpfs|overlay"}) * 100(1 - node_filesystem_files_free / node_filesystem_files) * 100| 监控维度 | 指标 | 指标含义 | 常用口径/单位 | 异常表现 |
|---|---|---|---|---|
| 读 IOPS | node_disk_reads_completed_total | 磁盘读请求完成次数 | 次/秒 | 读 IOPS 接近设备上限,读延迟升高 |
| 写 IOPS | node_disk_writes_completed_total | 磁盘写请求完成次数 | 次/秒 | 写入堆积,日志或数据库提交变慢 |
| 读吞吐 | node_disk_read_bytes_total | 磁盘读取字节累计值 | Bytes/s | 吞吐高且 iowait 高,说明存储忙 |
| 写吞吐 | node_disk_written_bytes_total | 磁盘写入字节累计值 | Bytes/s | 写吞吐长期过高,容易影响数据库和对象存储 |
| 读耗时 | node_disk_read_time_seconds_total | 读请求累计耗时 | 秒/秒 | 读延迟增大 |
| 写耗时 | node_disk_write_time_seconds_total | 写请求累计耗时 | 秒/秒 | 写延迟增大 |
| IO 忙碌 | node_disk_io_time_seconds_total | 磁盘处理 IO 的累计时间 | 百分比 | 接近满载时,应用等待 IO |
| 加权 IO 时间 | node_disk_io_time_weighted_seconds_total | 考虑队列长度的 IO 时间 | 秒/秒 | 队列堆积,说明设备排队严重 |
| IO 压力 | node_pressure_io_waiting_seconds_total | IO PSI 等待时间累计值 |