kafka监控工具众多,使用过 yahoo的Kafka Manager, 滴滴的kafka manager, kafka eagle, 也造过kafka offset monitor, 甚至有结合kibana与prometheus做的kafka消费监控面板。最近又接触了这个go写的界面清爽的kowl,详见github。
官方支持docker,参考Dockerfile整理一下本地开发环境搭建过程:
1. 后端构建
安装依赖 go mod download
构建 cd backend && go build -o ./bin/kowl ./cmd/api,生成名为kowl二进制可执行文件
2. 前端
安装依赖 npm install
构建 注释package.json中的build script中的ssl option,npm run build
3. 运行
目录结构

其中,kowl.yaml为doc中的config拷贝,调整相关配置
启动 ./kowl -config.filepath ./kowl.yaml
{"level":"info","ts":"2022-02-16T16:08:24.297+0800","msg":"started Kowl","version":"","git_sha":"dev","built":""}
{"level":"info","ts":"2022-02-16T16:08:24.299+0800","msg":"connecting to Kafka seed brokers, trying to fetch cluster metadata"}
{"level":"info","ts":"2022-02-16T16:08:24.376+0800","msg":"successfully connected to kafka cluster","advertised_broker_count":1,"topic_count":1,"controller_id":226,"kafka_version":"v2.4"}
{"level":"info","ts":"2022-02-16T16:08:24.376+0800","msg":"creating Kafka connect HTTP clients and testing connectivity to all clusters"}
{"level":"info","ts":"2022-02-16T16:08:24.376+0800","msg":"tested Kafka connect cluster connectivity","successful_clusters":0,"failed_clusters":0}
{"level":"info","ts":"2022-02-16T16:08:24.376+0800","msg":"successfully create Kafka connect service"}
{"level":"info","ts":"2022-02-16T16:08:24.491+0800","msg":"Server listening on address","address":"[::]:8080","port":8080}
打开链接8080端口即可 页面清爽简单,做基本的数据查询,和管理。开源版本无权限管理,需谨慎部署到生产环境,因为匿名访问可进行管理操作,例如删除topic, consumer group等。



4. 总结
优点:
1、符合用户使用习惯,层次清晰简单易用,列表页展示各resource,详情页展示明细,明细如下:
cluster:整体的信息,数据量等
topic:查看最近的消息,所有的group,及各group中consumer的状态,数据量大小,topic配置信息
group:查看一个group所有消费topic及管理,group有状态,根据kafka定义的状态,看得出来,开发的人熟悉kafka工作机制及源码
2、带管理功能:acl 以及 partitino assignment
3、支持其他:kafka connect, kafka schema,与confluent platform相关的组件
缺点:
1、无认证及权限控制,需自己加session认证控制
建议 仅管理员使用,否定制化开发,做扩展
No Comments
Leave a comment Cancel