使用 JMX 监控 Kafka 集群性能指标

简介: 使用 JMX 监控 Kafka 集群性能指标

常用的 JMX 指令和指标

1. 使用 jconsole 查看 JMX 指标

启动 Kafka 时启用 JMX

JMX_PORT=9999 ./kafka-server-start.sh ../config/server.properties

启动 JConsole

jconsole

在 JConsole 中,连接到 localhost:9999,然后你可以浏览和监控 Kafka 的各种指标。

2. 使用 jcmd 命令查看 JVM 信息
jcmd <pid> PerfCounter.print

<pid> 是 Kafka 进程的 PID。你可以使用 jps 命令获取 Kafka 进程的 PID:

jps
3. 使用 jstat 命令监控 JVM 内存和垃圾回收情况
jstat -gc <pid> 1000

这将每秒输出一次垃圾回收统计信息。

常用 Kafka JMX 指标

以下是一些常用的 Kafka JMX 指标及其解释:

  1. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
  • 描述:每秒处理的消息数。
  • 解释:衡量消息生产的速率。
  1. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
  • 描述:每秒接收的字节数。
  • 解释:衡量消息生产的流量。
  1. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
  • 描述:每秒发送的字节数。
  • 解释:衡量消息消费的流量。
  1. kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec
  • 描述:每秒拒绝的字节数。
  • 解释:衡量由于某些原因(如配额限制)而被拒绝的消息。
  1. kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec
  • 描述:每秒失败的 fetch 请求数。
  • 解释:衡量由于某些原因(如无数据可供消费)而导致的失败 fetch 请求。
  1. kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec
  • 描述:每秒失败的 produce 请求数。
  • 解释:衡量由于某些原因(如磁盘写入失败)而导致的失败 produce 请求。
  1. kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions
  • 描述:副本不足的分区数量。
  • 解释:衡量集群中的健康状态,理想情况下这个数值应该为 0。
  1. kafka.network:type=RequestMetrics,name=RequestsPerSec,request=Produce
  • 描述:每秒 produce 请求数。
  • 解释:衡量生产者请求的速率。
  1. kafka.network:type=RequestMetrics,name=RequestsPerSec,request=FetchConsumer
  • 描述:每秒 fetch 请求数。
  • 解释:衡量消费者请求的速率。
标题:使用 JMX 监控 Kafka 集群性能指标
简介

在大规模的生产环境中,实时监控 Kafka 集群的性能指标是确保系统稳定运行的重要手段。本文将介绍如何使用 JMX(Java Management Extensions)监控 Kafka 集群,并展示一些常用的 JMX 指令和指标。

步骤
  1. 启动 Kafka 时启用 JMX

确保在启动 Kafka 时启用了 JMX,使用以下命令:

JMX_PORT=9999 ./kafka-server-start.sh ../config/server.properties
  1. 使用 JConsole 查看 JMX 指标

启动 JConsole 并连接到 Kafka JMX 端口:

jconsole

连接到 localhost:9999 后,你可以浏览 Kafka 的各种性能指标。

  1. 使用常用 JMX 命令
  • 获取 Kafka 进程的 PID:
jps
  • 使用 jcmd 命令查看 JVM 信息:
jcmd <pid> PerfCounter.print
  • 使用 jstat 命令监控 JVM 内存和垃圾回收情况:
jstat -gc <pid> 1000
  1. 常用 Kafka JMX 指标

以下是一些常用的 Kafka JMX 指标及其解释:

  • MessagesInPerSec:每秒处理的消息数,衡量消息生产的速率。
  • BytesInPerSec:每秒接收的字节数,衡量消息生产的流量。
  • BytesOutPerSec:每秒发送的字节数,衡量消息消费的流量。
  • BytesRejectedPerSec:每秒拒绝的字节数,衡量由于某些原因(如配额限制)而被拒绝的消息。
  • FailedFetchRequestsPerSec:每秒失败的 fetch 请求数,衡量由于某些原因(如无数据可供消费)而导致的失败 fetch 请求。
  • FailedProduceRequestsPerSec:每秒失败的 produce 请求数,衡量由于某些原因(如磁盘写入失败)而导致的失败 produce 请求。
  • UnderReplicatedPartitions:副本不足的分区数量,衡量集群中的健康状态,理想情况下这个数值应该为 0。
  • RequestsPerSec:每秒 produce 和 fetch 请求数,衡量生产者和消费者请求的速率。
总结

通过使用 JMX 监控 Kafka 集群的性能指标,我们可以更好地了解系统的运行状况,并及时发现和处理潜在的问题。结合使用 JConsole、jcmd 和 jstat 等工具,我们可以全面监控 Kafka 集群的各项性能指标,确保系统的稳定运行。

希望这篇文章能帮助你更好地理解和使用 JMX 监控 Kafka。如果有任何问题或建议,欢迎在评论区留言!

相关文章
|
2月前
|
消息中间件 安全 Kafka
2024年了,如何更好的搭建Kafka集群?
我们基于Kraft模式和Docker Compose同时采用最新版Kafka v3.6.1来搭建集群。
645 2
2024年了,如何更好的搭建Kafka集群?
|
2月前
|
消息中间件 数据可视化 关系型数据库
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
174 0
|
20天前
|
消息中间件 监控 Java
「布道师系列文章」宝兰德徐清康解析 Kafka 和 AutoMQ 的监控
本文由北京宝兰德公司解决方案总监徐清康撰写,探讨了Kafka和AutoMQ集群的监控。
14 2
「布道师系列文章」宝兰德徐清康解析 Kafka 和 AutoMQ 的监控
|
1月前
|
消息中间件 运维 数据管理
Kafka 如何基于 KRaft 实现集群最终一致性协调
Kafka 3.3.1 引入了 KRaft 元数据管理组件,替代 Zookeeper,以简化集群一致性维护,支持更大规模集群并减轻运维复杂性。在 Zookeeper 模式下,需同时运维 ZK 和 Broker,而 KRaft 模式仅需 3 个节点即可构成最小生产集群,且通信协调基于 Raft 协议,增强了一致性。KRaft 模式中,Controller 使用单线程处理请求,通过 KRaft 保持内存状态与多节点一致性。此外,Broker 根据 KRaft 记录更新元数据,实现声明式管理,提高集群协调效率。KRaft 的引入是集群协调机制的演进,采用事件驱动模型实现元数据的一致性。
35 1
Kafka 如何基于 KRaft 实现集群最终一致性协调
|
4天前
|
消息中间件 NoSQL Kafka
基于Kafka的nginx日志收集分析与监控平台(3)
基于Kafka的nginx日志收集分析与监控平台(3)
|
4天前
|
消息中间件 监控 Kafka
基于Kafka的nginx日志收集分析与监控平台(2)
基于Kafka的nginx日志收集分析与监控平台(2)
|
4天前
|
消息中间件 负载均衡 应用服务中间件
基于Kafka的nginx日志收集分析与监控平台(1)
基于Kafka的nginx日志收集分析与监控平台(1)
|
4天前
|
消息中间件 存储 负载均衡
Kafka高可用性指南:提高数据一致性和集群容错能力!
**Kafka高可用性概览** - 创建Topic时设置`--replication-factor 3`确保数据冗余和高可用。 - 分配角色:Leader处理读写,Follower同步数据,简化管理和客户端逻辑。 - ISR(In-Sync Replicas)保持与Leader同步的副本列表,确保数据一致性和可靠性。 - 设置`acks=all`保证消息被所有副本确认,防止数据丢失,增强一致性。 - 通过这些机制,Kafka实现了分布式环境中的数据可靠性、一致性及服务的高可用性。
24 0
|
6天前
|
消息中间件 监控 Kafka
查询Kafka集群中消费组(group)信息和对应topic的消费情况
查询Kafka集群中消费组(group)信息和对应topic的消费情况
15 0
|
1月前
|
消息中间件 数据可视化 Java
Kafka集群搭建可视化指南
Kafka集群搭建可视化指南
49 0