在 CentOS 上搭建 Kafka 监控与告警
一、方案总览
二、快速落地步骤
三、关键告警规则与 PromQL 示例
| 告警项 | 建议阈值与周期 | PromQL 示例 | 处理建议 |
|---|---|---|---|
| Exporter/采集存活 | 连续 1 周期 ==0 | up{job=“kafka”} == 0 | 检查 kafka_exporter/Prometheus 进程与网络连通性 |
| Broker 数量异常 | 连续 1 周期 与预期不符 | kafka_brokers != <预期数量> | 核查节点宕机、进程异常、网络分区 |
| 消费组总堆积 | 连续 1 周期 > 100000 | sum by (group)(kafka_consumergroup_group_lag) > 100000 | 增加消费者并发、优化消费逻辑、排查停滞 |
| 主题分区堆积 | 连续 1 周期 > 50000 | sum by (topic)(kafka_consumergroup_lag) > 50000 | 按 topic 扩容分区/消费者,排查慢消费 |
| 节点磁盘使用率 | 连续 1 周期 > 80% | 1 - (node_filesystem_avail_bytes{mountpoint=“/”} / node_filesystem_size_bytes{mountpoint=“/”}) > 0.8 | 清理磁盘、扩容磁盘或节点 |
| 节点 CPU 使用率 | 连续 3 周期 > 90% | 1 - avg by(instance)(rate(node_cpu_seconds_total{mode=“idle”}[5m])) > 0.9 | 扩容节点或优化负载 |
| 节点内存使用率 | 连续 3 周期 > 90% | 1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) > 0.9 | 扩容内存/节点或优化应用内存占用 |
四、进阶与排障建议