⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 github.com/provectus/kafka-ui 「provectus」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

Apache Kafka UI 是一个免费的开源 Web UI,用于监控和管理 Apache Kafka 集群,可方便地查看 Kafka Brokers、Topics、消息、Consumer 等情况,支持多集群管理、性能监控、访问控制等功能。

1 特征

  • 多集群管理: 在一个地方监控和管理所有集群
  • 使用指标仪表板进行性能监控: 使用轻量级仪表板跟踪关键 Kafka 指标
  • 查看 Kafka Brokers: 查看主题和分区分配、控制器状态
  • 查看 Kafka 主题: 查看分区计数、复制状态和自定义配置
  • 查看消费者组: 查看每个分区的停放偏移量、组合滞后和每个分区滞后
  • 浏览消息: 使用 JSON、纯文本和 Avro 编码浏览消息
  • 动态主题配置: 使用动态配置创建和配置新主题
  • 自定义序列化/反序列化插件: 对数据使用现成的 Serde
  • 基于角色的访问控制: 精确管理访问 UI 的权限
  • 数据脱敏: 混淆主题消息中的敏感数据

2 入门

要运行 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"

3 配置向导

动态应用程序配置

默认情况下,kafka-ui 不允许在运行时更改其配置。当应用程序启动时,它会从系统环境、配置文件(application.yaml)和 JVM 参数(由-D)读取配置。一旦配置被读取,它就被视为不可变,即使配置源(例如文件)发生更改也不会刷新。

4 数据脱敏

主题数据脱敏

可以配置 kafka-ui 来屏蔽消息页面中显示的敏感数据。

消除:对于 json 对象 - 删除目标字段,否则 - 返回“null”字符串。

- type: REMOVE
fields: [ "id", "name" ]
...

应用示例

{ "id": 1234, "name": { "first": "James" }, "age": 30 }
->
{ "age": 30 }

5 自定义可插拔 serde 注册

可以实现自己的 serde 并将其注册到 kafka-ui 应用程序中。

  • 添加 kafka-ui-serde-api 依赖项(应该可以通过 mavencentral 下载)
  • 实现 com.provectus.kafka.ui.serde.api.Serde 接口
  • 将 serde 打包到 uber jar 中,或者提供包含无依赖项 jar 及其依赖项 jar 的目录

传送门

开源地址:https://github.com/provectus/kafka-ui

文章目录
  1. 1. 1 特征
  2. 2. 2 入门
    1. 2.1. 快速启动(演示运行)
    2. 2.2. 持久安装
    3. 2.3. 设置 git
  3. 3. 3 配置向导
    1. 3.1. 动态应用程序配置
  4. 4. 4 数据脱敏
    1. 4.1. 主题数据脱敏
  5. 5. 5 自定义可插拔 serde 注册
    1. 5.1. 传送门