以下是在CentOS上监控Kafka性能的常用方法及工具:
一、命令行工具
- JMX监控:通过
kafka-run-class.sh kafka.tools.JMXShell连接JMX端口,查询吞吐量(BytesIn/OutPerSec)、延迟等指标。
- Kafka自带命令:
kafka-topics.sh:查看主题状态。
kafka-consumer-groups.sh:监控消费者组偏移量及堆积情况。
二、第三方工具
- Prometheus + Grafana:
- 通过Kafka Exporter采集JMX指标,配置Prometheus抓取数据,在Grafana中创建仪表盘展示吞吐量、延迟、磁盘使用率等。
- Kafka Manager:支持broker级JMX监控、消费者进度管理,提供Web界面操作。
- Burrow:专注消费者偏移量监控,检测延迟及堆积问题。
- Confluent Control Center:商业级工具,提供集中化监控、告警及性能分析。
三、关键监控指标
- Broker级:吞吐量(MessagesInPerSec、BytesIn/OutPerSec)、CPU/内存/磁盘使用率、连接数。
- Topic级:分区副本同步状态(UnderReplicated Partitions)、消息堆积量。
- 消费者:消费延迟、堆积消息数、消费速率。
四、配置建议
- 启用Kafka JMX远程访问,配置
server.properties中jmx.port并开放防火墙。
- 定期分析监控数据,设置告警规则(如消息堆积超过阈值、Broker异常等)。