Kafka监控的关键指标涵盖Broker、Topic/Partition、Producer、Consumer、ZooKeeper等维度,以下是核心指标及说明:
Broker 关键指标
- 基础资源:CPU、内存、磁盘使用率,网络流量(BytesIn/BytesOut)。
- 副本同步:
UnderReplicatedPartitions(未同步分区数,>0需排查)、ISRShrinksPerSec/ISRExpandsPerSec(ISR增减频率)。 - 请求处理:
RequestHandlerAvgIdlePercent(请求处理空闲率,过低表示压力大)、TotalTimeMs(请求处理总时间,波动大需优化)。 - 集群状态:
ActiveControllerCount(活跃Controller数,应为1)、OfflinePartitionsCount(离线分区数,>0说明服务降级)。
Topic/Partition 关键指标
- 数据流量:
MessagesInPerSec(每秒消息数)、BytesInPerSec/BytesOutPerSec(字节吞吐量)。 - 存储状态:
LogEndOffset(最新消息位移)、LogSize(分区占用磁盘大小)。 - 副本健康:
Isr(同步副本集合,需与副本总数一致)、LeaderEpoch(Leader版本,异常时需检查)。
Producer 关键指标
- 发送效率:
record-send-rate(每秒发送消息数)、batch-size-avg(批量大小,影响吞吐)。 - 可靠性:
record-error-rate(错误率)、acks(确认机制,all最可靠但吞吐低)。 - 延迟与阻塞:
request-latency-avg(请求平均延迟)、bufferpool-wait-time(等待缓冲区时间,>0说明生产受阻)。
Consumer 关键指标
- 消费进度:
records-lag(消费滞后数,>0说明未及时消费)、records-lead(消费位点与分区最小位点差距,接近0需警惕丢消息)。 - 消费速率:
fetch-rate(每秒拉取消息数)、poll-latency-avg(拉取延迟,>100ms说明压力大)。 - Rebalance 状态:
rebalance-rate(重平衡频率,过高说明消费者组不稳定)。
ZooKeeper 关键指标(Kafka 2.8+可无ZK)
- 连接状态:
ZookeeperDisconnects(断开次数)、ZookeeperSessions(活跃会话数)。 - 请求性能:
ZookeeperRequestLatency(请求延迟,突增需排查网络或ZK负载)。
监控工具推荐
- 基础工具:Kafka自带JMX(需开启
KAFKA_JMX_OPTS)+ Prometheus + Grafana(可视化)。 - 商业方案:Confluent Control Center(支持告警、拓扑分析)。
核心逻辑:优先监控副本同步(避免数据丢失)、消费滞后(避免积压)、请求延迟(影响吞吐),结合业务场景设置阈值告警。