Controller如何实现可观测性?
在整个集群运行过程中,只能有一个Broker成为Controller。所以要监控Controller的数量以及Controller的变更历史。
可以用Kafka的JMXTool,进行轻量级的监控。
监控效果:
通过JMXTool,还可以拉取Kafka的其他指标进行监控。例如:
under_replicated_partitions有非同步副本监控。
OfflinePartitionsCount分区丢失leader监控。
ZooKeeper_SessionState Broker与Zookeeper断开连接监控。
MessagesInPerSec,进入Broker消费数量监控。
ISR扩缩容率等。
监控可以有很多方式,这样做主要是简单方便,不需要依赖太多监控系统,同时监控程序可以快速部署到海外或者合作伙伴机房。
滴滴的最佳实践(Logi-KafkaManager)
对于Controller的管理和监控,我们内部做了相应的封装,并发布了开源产品didi/LogiKM: 一站式Apache Kafka集群指标监控与运维管控平台(https://github.com/didi/LogiKM),提供完全界面化的Controller监控
有兴趣的同学可以尝试下,用的好别忘了star一下🙏。
国内最大最权威的 Kafka中文社区 ,在这里你可以结交各大互联网Kafka大佬以及近2000+Kafka爱好者,一起实现知识共享,实时掌控最新行业资讯,免费加入中~