1. 启用Kafka JMX监控
JMX(Java Management Extensions)是Kafka暴露内部指标的核心机制,需先配置Broker开启JMX。编辑Kafka启动脚本(如kafka-server-start.sh),添加以下参数:
export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname= -Dcom.sun.management.jmxremote.port=9999"
重启Kafka Broker使配置生效,此时可通过JMX客户端(如JConsole、VisualVM)连接查看实时指标(如消息吞吐量、延迟、磁盘利用率)。
2. 使用Kafka自带命令行工具
Kafka提供了多个命令行工具,可快速检查集群基础状态:
- 查看Topic列表及详情:
bin/kafka-topics.sh --list --bootstrap-server(列出所有Topic);: bin/kafka-topics.sh --describe --topic(查看Topic的分区、副本、ISR状态)。--bootstrap-server : - 监控消费者组状态:
bin/kafka-consumer-groups.sh --bootstrap-server(查看消费者组的消费速率、偏移量提交情况、延迟)。: --describe --group - JMX指标实时查询:
bin/kafka-run-class.sh kafka.tools.JmxTool --object-name kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec --jmx-url service:jmx:rmi:///jndi/rmi://(每10秒输出一次每秒消息摄入速率)。:9999/jmxrmi --attributes OneMinuteRate --reporting-interval 1000
3. Prometheus + Grafana可视化监控
这是目前主流的开源监控方案,可实现指标收集、存储与可视化:
- 安装Kafka Exporter:下载Kafka Exporter(如
kafka_exporter-1.4.2.linux-amd64.tar.gz),解压后运行./kafka_exporter --kafka.server=(默认监听9308端口),其作用是将Kafka的JMX指标转换为Prometheus可识别的格式。: - 配置Prometheus:编辑
prometheus.yml,添加Kafka Exporter的抓取任务:重启Prometheus使配置生效。scrape_configs: - job_name: 'kafka' static_configs: - targets: [':9308' ] - 配置Grafana仪表盘:在Grafana中添加Prometheus为数据源,导入Kafka专用仪表盘(如ID为
3992的“Kafka Cluster Monitoring”模板),即可查看Broker吞吐量、消费者延迟、分区ISR数量等可视化指标。
4. 第三方开源监控工具
- Kafka Manager(CMAK):开源的Kafka集群管理工具,提供Web界面查看Broker、Topic、消费者组的状态。安装方式为克隆GitHub仓库(
yahoo/CMAK),编译后运行java -jar cmak-,访问.jar http://登录(默认用户名/密码为:9000 admin/admin)。 - Burrow:专注于消费者偏移量监控的工具,可检测消费者延迟、偏移量超限等问题。部署后通过HTTP API或Web界面查看消费者组的消费状态,及时发出告警。
- Confluent Control Center:Confluent官方商业工具,提供集中化监控、性能分析、告警功能,支持多集群管理,适合企业级场景。
5. 系统级监控工具(Netdata)
Netdata是轻量级系统监控工具,可实时监控Kafka Broker的系统资源使用情况(CPU、内存、磁盘I/O、网络流量):
- 安装Netdata:运行
curl -s https://packagecloud.io/install/repositories/netdata/netdata/script.rpm.sh | sudo bash添加仓库,再执行sudo yum install netdata -y安装。 - 启动服务:
sudo systemctl start netdata && sudo systemctl enable netdata。 - 访问仪表盘:浏览器打开
http://,即可查看Kafka Broker的系统资源监控面板(无需额外配置)。:19999
6. 关键监控指标
无论选择哪种工具,都需重点关注以下指标:
- Broker层面:消息吞吐量(MessagesInPerSec)、请求延迟(RequestLatencyAvg)、磁盘I/O使用率、网络连接数(NetworkRequestsPerSec)、日志文件大小(LogFileSize)。
- Topic/分区层面:消息积压量(UnderReplicatedPartitions)、副本同步状态(ISR数量)、Leader选举频率(LeaderElectionRate)。
- 消费者组层面:消费速率(RecordsLag)、偏移量提交延迟(ConsumerLag)、未提交偏移量数量(RecordsPending)。
以上就是关于“centos kafka如何监控集群状态”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm