Kafka在Linux环境下的监控方法如下:
一、原生工具监控
- 命令行工具
kafka-topics.sh
:查看主题详情、分区状态。
kafka-consumer-groups.sh
:监控消费者组偏移量、消费速率及延迟。
kafka-run-class.sh
:获取生产/消费者性能指标。
- JMX监控
- 启用JMX端口(如
export JMX_PORT=9999
),通过jconsole
或JMX Exporter
采集指标。
二、第三方工具监控
- Prometheus + Grafana
- 通过
kafka-exporter
或JMX Exporter
暴露指标,Grafana可视化展示吞吐量、延迟、堆积等数据。
- Kafka专用工具
- Kafka Manager:Web界面管理集群状态、主题、消费者组。
- Burrow:专注消费者偏移量监控,支持延迟告警。
- Confluent Control Center:商业级监控,提供集中化告警和分析。
- 日志与系统监控
- 通过
tail -f /var/log/kafka/server.log
查看实时日志。
- 使用
top/htop
、iostat
、vmstat
监控服务器资源使用情况。
三、关键监控指标
- Broker:吞吐量(BytesIn/BytesOut)、延迟、磁盘使用率、副本同步状态(UnderReplicatedPartitions)。
- Topic/Partition:消息堆积量、ISR数量、Leader选举次数。
- 消费者:消费延迟(Lag)、消费速率、提交成功率。
四、自动化与告警
- 编写脚本定期检查进程状态、磁盘空间,触发异常告警。
- 集成Prometheus告警规则,对关键指标(如延迟>10秒、堆积量>10000)设置告警。
以上方法可组合使用,根据实际需求选择工具,确保Kafka集群的稳定运行。