Kafka 的 Web UI 之 Kafbat UI

摘要

  • 本文介绍 Kafka 的 Web UI 之 Kafbat UI

  • Kafka官网

  • 本文使用的 Kafka 版本为 3.9.1。Kafka 团队宣布 3.9 会是 最后一个还带有被弃用的 ZooKeeper 模式 的主要版本。以后版本(如 4.0)将完全弃用 ZooKeeper。

  • Kafbat UI 官网,Kafbat UI Github,Kafbat UI 文档

Kafbat UI 简介

  • Kafbat UI 是一个免费的开源 Web 用户界面,用于监控和管理 Apache Kafka 集群。

  • Kafbat UI 是一个简单的工具,使您的数据流变得可观察,帮助更快地发现和排除问题,并提供最佳性能。其轻量级的仪表盘使您能够轻松跟踪 Kafka 集群的关键指标: 包括 Brokers、Topics、Partitions、生产和消费情况。

运行 Kafbat UI

Docker 运行

1
2
3
4
5
6
7
docker run -it -p 8080:8080 \
--name kafka-ui \
-e KAFKA_CLUSTERS_0_NAME=kafka_c01 \
-e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=localhost:9092 \
-e TZ=Asia/Shanghai \
-d ghcr.io/kafbat/kafka-ui:latest

Jar 运行

  • Github上下载最新版jar包,要求 jdk 21+

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

cd /Users/hanqf/myservice_dir/kafka_webui

# 配置kafka集群,可以同时配置多个,序号从0开始依次递增
export KAFKA_CLUSTERS_0_NAME=kafka_c01
# =============================================================================================================
# 外网PLAINTEXT访问
# export KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=161.189.227.200:9093,68.79.13.235:9093,43.192.84.195:9093
# =============================================================================================================

# =============================================================================================================
# 外网SASL_PLAINTEXT访问
# export KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=161.189.227.200:9094,68.79.13.235:9094,43.192.84.195:9094
# # SASL_PLAINTEXT认证配置
# export KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL=SASL_PLAINTEXT
# export KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM=PLAIN
# export KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG='org.apache.kafka.common.security.plain.PlainLoginModule required username="alice" password="alice-secret";'
# =============================================================================================================

# =============================================================================================================
# 外网SASL_SSL访问
export KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=161.189.227.200:9095,68.79.13.235:9095,43.192.84.195:9095
export KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL=SASL_SSL
export KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM=PLAIN
export KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG='org.apache.kafka.common.security.plain.PlainLoginModule required username="alice" password="alice-secret";'
# SSL配置
export KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_LOCATION=/Users/hanqf/develop_soft/kafka/kafka3/config/ssl/kafka.truststore.jks
export KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_PASSWORD=123456
# 禁用主机名验证
export KAFKA_CLUSTERS_0_PROPERTIES_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM=''
# ============================================================================================================

# 第二个集群配置示例
# export KAFKA_CLUSTERS_1_NAME=kafka_c02
# export KAFKA_CLUSTERS_1_BOOTSTRAPSERVERS=localhost:9093

# 时区
export TZ=Asia/Shanghai
# 语言
export LANG=zh_CN.UTF-8

# webui访问路径
export SERVER_SERVLET_CONTEXT_PATH=/
# 认证方式,支持NONE(无认证),LOGIN_FORM(登录表单认证)
export AUTH_TYPE=LOGIN_FORM
# 认证用户名密码
export SPRING_SECURITY_USER_NAME=admin
export SPRING_SECURITY_USER_PASSWORD=admin


JAVA_OPTS="-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
# 启动
/Users/hanqf/develop_soft/jdk21/bin/java --add-opens java.rmi/javax.rmi.ssl=ALL-UNNAMED $JAVA_OPTS -jar api-v1.3.0.jar

访问 Kafbat UI