Kafka 可视化操作 消费者监控工具 Kafka UI部署
Kafka UI 启动指南
此指南介绍如何使用 docker 部署Kafka **消费监控工具**
Kafka UI,非Kafka 本身性能监控,轻量化简洁好用,下面是dockers安装,脚本启动Kafka UI容器步骤。
本文对接的Kafka 有用户名密码认证的,如果没有可以删除这些配置
脚本说明
该脚本用于启动Kafka UI Docker容器,并确保在启动之前删除任何现有的同名容器。
- 创建start_kafka_ui.sh,您可以使用以下命令:
#!/bin/bash# 定义容器名称CONTAINER_NAME=\"kafka_ui\"# 检查容器是否存在if [ \"$(sudo docker ps -a -q -f name=$CONTAINER_NAME)\" ]; then echo \"删除现有的Kafka UI容器...\" docker rm -f $CONTAINER_NAMEfi# 启动 Kafka UI 容器docker run -d \\--name=$CONTAINER_NAME \\-p 9094:8080 \\-e DYNAMIC_CONFIG_ENABLED=true \\-v /home/quan/data/kafka_ui/data/dynamic_config.yaml:/etc/kafkaui/dynamic_config.yaml \\-e SERVER_SERVLET_CONTEXT_PATH=/ \\-e AUTH_TYPE=LOGIN_FORM \\--restart always \\-e SPRING_SECURITY_USER_NAME=admin \\-e SPRING_SECURITY_USER_PASSWORD=liuquan\\-e JAVA_OPTS=-Dfile.encoding=UTF-8 \\provectuslabs/kafka-ui:v0.7.2echo \"Kafka UI 已启动并运行在 http://localhost:9094\"
- 创建
dynamic_config.yaml
,文件内容根据实际情况修改:
auth: type: LOGIN_FORMkafka: clusters: - bootstrapServers: 192.168.1.29:9092 name: my_kafka properties: security.protocol: SASL_PLAINTEXT sasl.mechanism: PLAIN sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username=\"admin\" password=\"admin-secret\"; readOnly: falserbac: roles: []webclient: {}
主要步骤
-
定义容器名称:
- 容器名称被定义为
kafka_ui
。
- 容器名称被定义为
-
检查并删除现有容器:
- 使用
docker ps -a -q -f name=$CONTAINER_NAME
命令检查是否存在同名容器。 - 如果存在,则使用
docker rm -f $CONTAINER_NAME
命令删除该容器。
- 使用
-
启动新容器:
- 使用
docker run
命令启动一个新的Kafka UI容器。 - 端口映射:将本地的9094端口映射到容器的8080端口。
- 挂载配置文件:将本地的
dynamic_config.yaml
文件挂载到容器内的/etc/kafkaui/dynamic_config.yaml
。 - 设置环境变量以配置Kafka UI的行为。
- 使用
-
查看容器日志:
- 使用
docker logs -f $CONTAINER_NAME
命令实时查看容器日志。
- 使用
使用方法
-
确保Docker已安装并正在运行。
-
将
start_kafka_ui.sh
脚本放置在合适的目录中。 -
运行以下命令启动Kafka UI:
./start_kafka_ui.sh
-
打开浏览器并访问
http://localhost:9094
查看Kafka UI。
注意事项
- 确保
dynamic_config.yaml
文件路径正确。 - dockers启动命令指定了默认的用户名和密码为
admin
和liuquan
,请根据需要进行更改。 - 如果需要更改端口或其他配置,请编辑脚本中的相应部分。
Kafka UI
这个配置可以在线添加Kafka示例
Kafka 的topic 就能看到了
Kafka ui 也能生产消息
也能看到Kafka 消费者 lag
当然可以在线配置多个Kafka 监控,根据如下情况自己研究