开源的 Kafka 管理平台

来源:github.com/provectus/kafka-ui

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

相关推荐
Elastic 中国社区官方博客2 分钟前
使用 Elastic 中的 OpenTelemetry 为 Nginx 实现端到端分布式追踪的实用指南
大数据·运维·分布式·elasticsearch·搜索引擎·信息可视化·全文检索
win x41 分钟前
Redis 分布式锁
数据库·redis·分布式
GitCode官方1 小时前
GLM-Image 上线 AtomGit,国产芯片训练的多模态开源模型开放使用
开源
a努力。5 小时前
字节跳动Java面试被问:一致性哈希的虚拟节点和数据迁移
java·开发语言·分布式·算法·缓存·面试·哈希算法
qq_318121595 小时前
互联网大厂Java面试故事:支付与金融服务微服务架构、消息队列与AI风控全流程解析
java·spring boot·redis·微服务·kafka·支付系统·金融服务
文慧的科技江湖5 小时前
重卡的充电桩一般都是多少千瓦? - 慧知开源充电桩平台
java·开发语言·开源·充电桩开源平台·慧知重卡开源充电桩平台
OctShop大型商城源码6 小时前
免费开源大型多商家多用户商城系统_可商用_无需授权_OctShop
开源·商城系统·积分系统·多用户商城·多商家商城系统
安科瑞小许6 小时前
分布式光伏车棚的智慧化运维:从数据采集到AI赋能
运维·人工智能·分布式·能源·光伏
OpenTiny社区7 小时前
TinyPro v1.4.0 正式发布:支持 Spring Boot、移动端适配、新增卡片列表和高级表单页面
java·前端·spring boot·后端·开源·opentiny
小希smallxi8 小时前
FFmpeg: 免费、开源、跨平台的多媒体处理工具集
ffmpeg·开源