Ubuntu Kafka监控方法汇总
Kafka自带的命令行工具是最基础的监控方式,无需额外安装软件,适合快速查看集群状态。常用命令包括:
kafka-topics.sh --list --zookeeper localhost:2181(需替换为实际Zookeeper地址);kafka-topics.sh --describe --zookeeper localhost:2181 --topic <topic_name>;kafka-consumer-groups.sh --list --bootstrap-server localhost:9092;kafka-consumer-groups.sh --describe --bootstrap-server localhost:9092 --group <group_id>;kafka-run-class.sh kafka.tools.ProducerPerformance --topic <topic_name> --num-records 100000 --record-size 100 --throughput 1000 --producer-props bootstrap.servers=localhost:9092;kafka-run-class.sh kafka.tools.ConsumerPerformance --topic <topic_name> --broker-list localhost:9092 --messages 100000 --threads 1。这是目前最流行的组合方案,适合需要深度监控和可视化的场景:
/metrics接口(示例配置:job_name: 'kafka-exporter',scrape_interval: 15s,static_configs: - targets: ['kafka-exporter-ip:9308']);基于Web的轻量级监控工具,界面友好,适合快速查看Topic和消费者组信息:
docker run -d --rm -p 9000:9000 -e KAFKA_BROKERCONNECT=localhost:9092 -e SERVER_SERVLET_CONTEXTPATH="/" obsidiandynamics/kafdrop);轻量级工具,专注于监控消费者偏移量和消费速率:
java -cp KafkaOffsetMonitor-assembly-0.3.0-SNAPSHOT.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --offsetStorage kafka --zk zk-server1,zk-server2 --port 8080 --refresh 10.seconds);http://localhost:8080,查看Topic的生产/消费速率、消费者偏移量提交情况、消息延迟等。专门针对Kafka设计的监控工具,支持实时监控和告警:
提供直观Web界面的集群管理工具,适合需要简单管理的场景:
application.conf中的Zookeeper地址,启动./kafka-manager即可访问界面。通过JMX(Java Management Extensions)监控Kafka内部指标,适合需要深入分析的场景:
kafka-server-start.sh)中添加JMX参数,设置JMX端口(示例:export JMX_PORT=9999);通过监控Kafka和Zookeeper的日志,排查运行问题:
/var/log/kafka/(如server.log),Zookeeper日志在/var/log/zookeeper/(如zookeeper.log);