使用 JMX 监控 Kafka 集群性能指标
个人名片
🎓作者简介:java领域优质创作者
🌐个人主页:码农阿豪
📞工作室:新空间代码工作室(提供各种软件服务)
💌个人邮箱:[2435024119@qq.com]
📱个人微信:15279484656
🌐个人导航网站:www.forff.top
💡座右铭:总有人要赢。为什么不能是我呢?
- 专栏导航:
码农阿豪系列专栏导航
面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️
Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻
Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡
全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀
这里写目录标题
- 常用的 JMX 指令和指标
- 1. 使用 `jconsole` 查看 JMX 指标
- 2. 使用 `jcmd` 命令查看 JVM 信息
- 3. 使用 `jstat` 命令监控 JVM 内存和垃圾回收情况
- 常用 Kafka JMX 指标
- 标题:使用 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 PerfCounter.print
是 Kafka 进程的 PID。你可以使用 jps 命令获取 Kafka 进程的 PID:
jps
3. 使用 jstat 命令监控 JVM 内存和垃圾回收情况
jstat -gc 1000
这将每秒输出一次垃圾回收统计信息。
常用 Kafka JMX 指标
以下是一些常用的 Kafka JMX 指标及其解释:
-
kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
- 描述:每秒处理的消息数。
- 解释:衡量消息生产的速率。
-
kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
- 描述:每秒接收的字节数。
- 解释:衡量消息生产的流量。
-
kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
- 描述:每秒发送的字节数。
- 解释:衡量消息消费的流量。
-
kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec
- 描述:每秒拒绝的字节数。
- 解释:衡量由于某些原因(如配额限制)而被拒绝的消息。
-
kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec
- 描述:每秒失败的 fetch 请求数。
- 解释:衡量由于某些原因(如无数据可供消费)而导致的失败 fetch 请求。
-
kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec
- 描述:每秒失败的 produce 请求数。
- 解释:衡量由于某些原因(如磁盘写入失败)而导致的失败 produce 请求。
-
kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions
- 描述:副本不足的分区数量。
- 解释:衡量集群中的健康状态,理想情况下这个数值应该为 0。
-
kafka.network:type=RequestMetrics,name=RequestsPerSec,request=Produce
- 描述:每秒 produce 请求数。
- 解释:衡量生产者请求的速率。
-
kafka.network:type=RequestMetrics,name=RequestsPerSec,request=FetchConsumer
- 描述:每秒 fetch 请求数。
- 解释:衡量消费者请求的速率。
标题:使用 JMX 监控 Kafka 集群性能指标
简介
在大规模的生产环境中,实时监控 Kafka 集群的性能指标是确保系统稳定运行的重要手段。本文将介绍如何使用 JMX(Java Management Extensions)监控 Kafka 集群,并展示一些常用的 JMX 指令和指标。
步骤
- 启动 Kafka 时启用 JMX
确保在启动 Kafka 时启用了 JMX,使用以下命令:
JMX_PORT=9999 ./kafka-server-start.sh ../config/server.properties
- 使用 JConsole 查看 JMX 指标
启动 JConsole 并连接到 Kafka JMX 端口:
jconsole
连接到 localhost:9999 后,你可以浏览 Kafka 的各种性能指标。
- 使用常用 JMX 命令
-
获取 Kafka 进程的 PID:
jps
-
使用 jcmd 命令查看 JVM 信息:
jcmd PerfCounter.print
-
使用 jstat 命令监控 JVM 内存和垃圾回收情况:
jstat -gc 1000
- 常用 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。如果有任何问题或建议,欢迎在评论区留言!
-

