我们上一章介绍了中间件:Zookeeper,本章将介绍另外一个中间件:Kafka。目前这2个中间件都是基于JAVA语言的。
我们上一个小节介绍Kafka的监控信息,但是这个监控适合接入到云原生的监控系统,如果没有云原生监控,光使用JVM监控则会更麻烦,而我们今天介绍另外一个监控:Kafka Manager,Kafka Manager也是在云原生流行之前的普遍使用的Kafka监控。
Kafka Manager 是由 Yahoo 开源 的 Kafka 集群管理工具,最初由雅虎团队开发并维护。CMAK(全称 Cluster Manager for Apache Kafka)是 Kafka Manager 的社区维护分支。由于雅虎逐渐停止了对原项目的维护,社区接手后将其重命名为 CMAK,并持续更新和改进。
原本打算使用二进制部署,但是由于这个程序是使用scala编写(早期的Kafka也是scala编写,现在核心部分已经使用JAVA重新,但是还有部分scala编写。),所以部署起来比较麻烦,所以我这里实际Docker来部署。
1.前提条件
一个运行的Kafka的集群,为了更好的查看监控信息,所以这里我们采用的是多节点部署。
2.运行CMAK
这里的ZooKeeper地址是用于存储CMAK元数据,并非读取ZooKeeper里面的Kafka信息。
#具体的信息根据现在情况修改
docker run -d \
-p 9000:9000 \
-e ZK_HOSTS="zookeeper:2181" \
-e KAFKA_MANAGER_AUTH_ENABLED="false" \
cmakio/cmak:3.0.0.5
下面的ZooKeeper就是注册启动成功的信息:
#当然这里已经添加了集群的配置
[zk: localhost:2181(CONNECTED) 63] ls /kafka/kafka-manager
[clusters, configs, deleteClusters]
[zk: localhost:2181(CONNECTED) 64] get /kafka/kafka-manager
172.17.0.2
3.配置Kafaka Manager
默认里面是空的,什么都没有,需要我们手工添加Kafka集群。
3.1添加集群
需要根据给你添加的集群取一个名字,然后还需要输入Kafka的版本(虽然不知道有什么用),然后就是核心ZooKeeper地址,它就通过读取ZK里面的信息获取Kafka的元数据。
3.2查看Kafka集群
添加成功以后,它就会获取Kafka信息,比如集群节点(broker),主题消息(Topic),通过对应的链接点击进去就可以看到。
当然在页面最上面的功能都可以去看看。
下面就是核心Topic的信息,可以看到前面讲解过的信息,都是可以看到的。