Apache Kafka UI 是一个免费的开源 Web UI,用于监控和管理 Apache Kafka 集群,可方便地查看 Kafka Brokers、Topics、消息、Consumer 等情况,支持多集群管理、性能监控、访问控制等功能。
特征
-
多集群管理:在一个地方监控和管理所有集群 -
使用指标仪表板进行性能监控:使用轻量级仪表板跟踪关键 Kafka 指标 -
查看 Kafka Brokers:查看主题和分区分配、控制器状态 -
查看 Kafka 主题:查看分区计数、复制状态和自定义配置 -
查看消费者组:查看每个分区的停放偏移量、组合滞后和每个分区滞后 -
浏览消息:使用 JSON、纯文本和 Avro 编码浏览消息 -
动态主题配置:使用动态配置创建和配置新主题 -
自定义序列化/反序列化插件:对数据使用现成的 Serde -
基于角色的访问控制:精确管理访问 UI 的权限 -
数据脱敏:混淆主题消息中的敏感数据
入门
要运行 Apache Kafka 的 UI,可以使用预构建的 Docker 映像或自行构建它(或 jar 文件)。
快速启动(演示运行)
docker run -it -p 8080:8080 -e DYNAMIC_CONFIG_ENABLED=true provectuslabs/kafka-ui
然后访问 http://localhost: 8080
持久安装
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
environment:
DYNAMIC_CONFIG_ENABLED: true
volumes:
- ~/kui/config.yml:/etc/kafkaui/dynamic_config.yaml
设置 git
设置 git 凭据:
git config --global user.name "Mona Lisa"
git config --global user.email "monalisa@louvre.net"
配置向导
动态应用程序配置
默认情况下,kafka-ui 不允许在运行时更改其配置。当应用程序启动时,它会从系统环境、配置文件(application.yaml)和 JVM 参数(由-D)读取配置。一旦配置被读取,它就被视为不可变,即使配置源(例如文件)发生更改也不会刷新。
数据脱敏
主题数据脱敏
可以配置 kafka-ui 来屏蔽消息页面中显示的敏感数据。
-
消除:对于 json 对象 – 删除目标字段,否则 – 返回“null”字符串。
- type: REMOVE
fields: [ "id", "name" ]
...
-
应用示例
{ "id": 1234, "name": { "first": "James" }, "age": 30 }
->
{ "age": 30 }
自定义可插拔 serde 注册
可以实现自己的 serde 并将其注册到 kafka-ui 应用程序中。
-
添加 kafka-ui-serde-api 依赖项(应该可以通过 mavencentral 下载) -
实现 com.provectus.kafka.ui.serde.api.Serde 接口 -
将 serde 打包到 uber jar 中,或者提供包含无依赖项 jar 及其依赖项 jar 的目录
传送门
开源协议:Apache-2.0 license
开源地址:https://github.com/provectus/kafka-ui
项目合集:https://github.com/OpenTechCol/OpenTechCol
-END-
原文始发于微信公众号(开源技术专栏):一款开源的 Kafka 管理平台
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155173.html