Kafka Console UI 可视化管理平台部署使用指南
【免费下载链接】kafka-console-ui一款快捷易用的轻量级kafka可视化管理平台项目地址: https://gitcode.com/gh_mirrors/ka/kafka-console-ui
Kafka Console UI 是一款轻量级 Kafka 可视化管理平台,把 Topic 管理、消费组监控、消息查询从命令行搬到了中文 Web 页面。它面向每天要维护 Kafka 集群、又不想自己搭重型运维平台的开发和运维同学:装好、启动、配上集群,就能干活。
Kafka 可视化管理平台部署步骤
最省事的方式是用官方安装包,下载解压即可,不需要任何额外依赖。
Windows
- 解压 kafka-console-ui.zip 安装包(取项目 releases 里的最新版本)
- 进入
bin目录,按 JDK 版本双击启动:JDK 1.8 执行start_jdk8.bat,JDK 高于 1.8 执行start.bat;用 PowerShell 的话可以运行start.ps1 - 停止服务:直接关闭启动的命令行窗口
Linux / macOS
unzip kafka-console-ui.zip cd kafka-console-ui sh bin/start.sh # 停止 sh bin/shutdown.sh两个备选方式。环境里已经有 Docker 的话,直接跑社区镜像:
docker run -d -p 7766:7766 wdkang/kafka-console-ui想带上最新特性的话可以从源码打包,需要 maven 3.6+ 和 JDK 8:
git clone https://gitcode.com/gh_mirrors/ka/kafka-console-ui cd kafka-console-ui sh package.sh # Windows 执行 package.bat打包完成会在 target 目录生成 kafka-console-ui.zip 安装包,解压后按上面的方式启动即可。
启动成功的标志:浏览器访问http://127.0.0.1:7766,能看到集群页面就对了;首次启动右上角会提示 No Cluster Info 或"没有集群信息",这属于正常现象,说明服务已起来只是还没配集群。新增集群后,右上角会常驻显示当前使用的集群名。
看到页面后,接下来是日常最常用的四件事怎么做。
Kafka Console UI 日常操作:集群、Topic、消费组与消息
动手前可以先看这张功能全景图,除下面四个场景外,还有客户端限流、运维等模块:
接入第一个 Kafka 集群
入口:顶部导航「运维」菜单 →「集群切换」。
- 弹框里点「新增集群」,给集群起个名字(随便起),填 Kafka broker 地址,多个地址用逗号分隔
- 除地址外还能配请求超时等属性;集群开了 ACL 的,在这里一并填 ACL 属性(只支持 SASL),切到该集群后导航栏会自动出现 ACL 菜单
- 点「提交」保存后,点该行右侧的「切换」把它设为当前集群,页面右上角始终显示当前使用的集群名
- 接入后可到「集群」页面查看 Broker 列表、Broker 配置
坑提示:切换到新集群后刷新一次页面,是确认当前正在操作哪个集群最可靠的办法。
把新 Topic 建出来
入口:顶部导航「Topic」菜单。
- 列表页查看每个 Topic 的分区、副本和配置,创建表单里填 topic 名、分区数、副本数
- 已有 Topic 要扩容量,直接在页面上加分区
- 创建完回到列表核对一下分区副本分布是否符合预期
坑提示:副本数别超过在线 Broker 数,否则副本放不全。
定位某个消费组为什么慢了
入口:「消费组」菜单。
- 列表里查看各消费组的订阅和 lag,先从列表定位异常组
- 进详情页看每个分区的已提交 offset 与最新 offset,再看成员列表,确认成员数和分区数是否匹配
- 要从某个时间点重新消费时,用页面上的重置 offset 入口指定重置点
坑提示:lag 大不一定是消费慢,先看是不是流量突增或成员掉了,确认根因再重置,否则可能丢数据。
按时间查一条消息再转发走
入口:「消息」菜单。
- 按时间范围、按分区 offset 两种查询入口,查出来点进行里看消息体、key、时间戳
- 查询时可以设置过滤条件,缩小范围更快找到目标消息
- 需要把消息发到另一个 topic 的用「转发消息」,错误消息用「删除消息」处理
坑提示:删消息本质是改分区 offset,影响不可逆,动手前再确认一遍 topic 和分区。
这几个场景跑顺之后,如果要把平台开放给更多同事,先做安全配置。
Kafka Console UI 安全权限怎么配
默认状态:配置文件里auth.enable为 false,能访问 7766 端口的人都能直接操作,导航栏也没有「用户」菜单——这是正常现象,不是 bug。
如何开启加固:修改安装包目录下config/application.yml:
auth: enable: true # 设置为 true,需要先登录才能访问 expire-hours: 24 # 登录 token 过期时间,单位小时 # 其余字段省略改完重启服务。系统内置 super-admin、admin 两个默认管理员账号,区别只是 super-admin 能增加删除用户;初始密码见项目 README,登录后先在个人设置里改成你的密码,再按团队角色在「用户」菜单下自行创建角色和用户。
如何验证生效:刷新访问http://127.0.0.1:7766,页面直接跳到登录页;登录成功后导航栏出现「用户」菜单,token 到 24 小时过期后需要重新登录。
遇到问题先看这里
- 现象:启动后页面右上角提示 No Cluster Info 或"没有集群信息"。原因:还没配置任何 Kafka 集群。动作:运维菜单 → 集群切换 → 新增集群,填集群地址后点「切换」。
- 现象:导航栏找不到 ACL 菜单。原因:新增集群时没有填 ACL 属性。动作:集群切换里编辑集群,补上 ACL 配置项(仅支持 SASL),切到该集群后菜单自动出现。
- 现象:源码方式启动后端,浏览器访问没有页面。原因:前后端分离,
src/main/resources下还没有前端静态文件。动作:先执行sh package.sh打包前端,或单独启动ui目录下的前端项目联调。
二次开发与生态衔接
要改功能或加功能,看这三个入口就够:
- 后端业务代码在
src/main/java,Spring Boot 结构,controller 和 service 按模块一一对应 - 与 Kafka 交互的底层在 Scala 目录
src/main/scala,基于 Kafka 3.5.0 的客户端封装 - 前端页面组件在
ui/src/views,用前端 IDE 直接打开 ui 目录即可开发
生态上两句话带过:平台只提供运维管理,不做监控告警,指标和告警需求可对接 Prometheus + Grafana 这类组件;想容器化部署,参考项目自带的 DockerCompose 部署文档即可。
Kafka Console UI 适合天天要管 Kafka 集群、又不想自建重型运维平台的团队:一台机器、一个端口,配上集群就能用。还在习惯"天天 kafka-topics.sh"的话,可以换到浏览器里来试试。
【免费下载链接】kafka-console-ui一款快捷易用的轻量级kafka可视化管理平台项目地址: https://gitcode.com/gh_mirrors/ka/kafka-console-ui
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考