Background
目前网络上已经有几款比较流行的Kafka性能监控工具,功能大同小异,只是实现的方式存在比较大的差异,监控工具罗列如下:
- Kafka Web Conslole
- Kafka Manager
- KafkaOffsetMonitor
以上三款工具出现的时间比较早,用户数也比较多,想要了解的同学可以在Github上进行搜索。既然已经存在这些开源工具,为什么还要重复造轮子,这是个必答的问题,我们的理由如下:
- 这些开源工具在测试和生产过程中会遇见各种问题,并不像介绍中的这么简单;
- 我们的大数据基础环境使用的是华为的FusionInsight商业化产品,登录集群需要做Kerberos认证,本质上即在
new zookeeper connection
的时候需要带上相应的用户证书文件User.keytab
,因为我们使用了ZkClient
第三方库,所以最终的方法是修改ZkClient
源码,在ZkConnection
创建过程中带上相应的安全认证文件;
由此AnotherKafkaMonitor应运而生,前台风格继承了KafkaOffsetMonitor,后台使用SpringMVC进行开发。