当前位置: 首页>后端>正文

如何监控Kafka

Kafka 是现代分布式系统架构中非常常见的组件,Kafka 运行是否正常,消息消费是否正常,都需要重点关注。

监控可以从 4 个层面着手,机器、JVM、Kafka Broker、Lag。当然,ZooKeeper 作为 Kafka 重度依赖组件,也需要监控,还有就是 producer 和 consumer 也是需要监控的。不过那是应用程序层面的监控了,需要研发人员协同来做,作为组件平台方来讲,我们重点还是放在 Broker 层面。

机器监控层面,我们重点关注 CPU、硬盘 I/O、网络 I/O,以及 Kafka 进程层面占用的资源,比如打开了多少文件句柄,最大可以打开多少句柄等。

JVM 监控层面,重点关注 GC 和内存的情况,如果频繁发生 Old 区 Full GC,Kafka 性能肯定会受影响。所有 Java 程序都应该监控 JVM,比如 Tomcat、JBoss、Hadoop,走 JMX 这个路径是一个典型的方式。

Kafka Broker JMX 指标,重点关注一些大面上的异常指标,Kafka 暴露了太多的 JMX 指标,如果无法抓取到关键指标,Kafka 监控绝对是噩梦。

Lag 监控,也就是 Topic Partition 的消费者滞后监控,是 Queue 类程序需要关注的典型指标。因为一旦消费者跟不上生产者的速度,消息就会积压,数据即时性也就会受很大影响。

《 运维监控系统实战笔记》学习笔记 2月Day1


https://www.xamrdz.com/backend/3f41936105.html

相关文章: