Kafka三种可视化监控管理工具Monitor/Manager/Eagle

时间:2022-07-22
本文章向大家介绍Kafka三种可视化监控管理工具Monitor/Manager/Eagle,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.Kafka Monitor

下载链接:https://github.com/Morningstar/kafka-offset-monitor/releases/tag/0.4.6
  • 上传jar包KafkaOffsetMonitor-assembly-0.4.6-SNAPSHOT.jar到集群
  • 在/opt/module/下创建kafka-offset-console文件夹
  • 将上传的jar包放入刚创建的目录下
  • 在/opt/module/kafka-offset-console目录下创建启动脚本start_en.sh,内容如下:
#!/bin/bash
# 默认port为8086,由于我的环境8086端口已被占用,所有改为8087
java -Xms512M -Xmx512M -Xss1024K -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -cp KafkaOffsetMonitor-assembly-0.4.6-SNAPSHOT.jar 
com.quantifind.kafka.offsetapp.OffsetGetterWeb 
--offsetStorage kafka 
--kafkaBrokers cm1:9092,cm2:9092,cm3:9092 
--kafkaSecurityProtocol PLAINTEXT 
--zk cm1:2181,cm2:2181,cm3:2181 
--port 8087 
--refresh 10.seconds 
--retain 2.days 
--dbName offsetapp_kafka 1>mobile-logs/stdout.log 2>mobile-logs/stderr.log &
  • 在/opt/module/kafka-offset-console目录下创建mobile-logs文件夹
mkdir /opt/module/kafka-offset-console/mobile-logs
  • 启动KafkaMonitor
./start_en.sh
  • 登录页面cm1:8087端口查看详情

启动一个消费者和一个生产者

2.Kafka Manager

2.1 部署

https://github.com/yahoo/kafka-manager/archive/1.3.3.15.zip

  • 上传压缩包kafka-manager-1.3.3.15.zip到集群
  • 解压kafka-manager-1.3.3.15.zip
$ unzip kafka-manager-1.3.3.15.zip
  • 修改kafka-manager-1.3.3.21/conf/application.conf文件启用Kafka-Manager使用账号登录
# 修改为:
kafka-manager.zkhosts="cm1:2181,cm2:2181,cm3:2181"
basicAuthentication.enabled=true
basicAuthentication.enabled=${?KAFKA_MANAGER_AUTH_ENABLED}
basicAuthentication.username="admin"
basicAuthentication.username=${?KAFKA_MANAGER_USERNAME}
basicAuthentication.password="admin"
basicAuthentication.password=${?KAFKA_MANAGER_PASSWORD}
basicAuthentication.realm="Kafka-Manager"

将登录Kafka-Manager的账号密码设置为admin。

  • 使用如下命令启动Kafka-Manager

修改文件的权限

[root@cm1 bin]$ chmod 777 kafka-manager
# 默认为9000,但是我的集群有端口冲突,改为8090
[root@cm1 kafka-manager-1.3.3.15]$ nohup bin/kafka-manager -Dhttp.port=8090 > nohup.out 2>&1 &

端口8090监听成功。

  • 在浏览器输入http://cm1:8090访问即可

到此为止Kafka-Manager就部署成功了。

  • 登录Kafka-Manager管理界面

点击Cluster菜单,添加一个Kafka集群

根据自己当前Kafka集群的环境进行相应的配置,点击“Save”完成集群添加

点击“Kafka-CDH”连接,进入Kafka集群的详细界面,下图为Kafka的统计信息

Brokers界面,可以看到当前Kafka集群的所有Broker节点及综合指标

点击相应的Broker ID可以看到每个Broker的统计信息及详细指标等

在Topic菜单下,可以创建和查看集群的所有Topic

创建一个Topic

2.2 总结

Kafka-Manager支持Kafka的0.8.x,0.9.x,0.10.x,0.11.x版本

Kafka需要JDK8的环境运行

Kafka-Manager支持管理多个Kafka集群。

可以便捷的查看Kafka集群的状态(Brokers、Topics、副本分布及分区分布情况)

通过界面的方式创建Topic及为Topic重新分配分区等功能。

Kafka-Manager启动默认端口号为9000,可以通过-Dhttp.port来指定端口号

3.Kafka Eagle

参考 https://blog.csdn.net/qq_19524879/article/details/82848797

  • 从git上下载:https://github.com/smartloli/kafka-eagle-bin/archive/v1.4.8.tar.gz(本例选择1.2.9版本)
  • 解压(需要解压两次)
cd /opt/module/
tar -zxf kafka-eagle-bin-1.4.8.tar.gz
cd kafka-eagle-bin-1.4.8
tar -zxf kafka-eagle-web-1.4.8-bin.tar.gz

设置全局变量,设置JDK的全局变量JAVA_HOME和本应用的KE_HOME

export JAVA_HOME=/usr/java/jdk1.8.0_131-cloudera
export KE_HOME=/opt/module/kafka-eagle-bin-1.4.8/kafka-eagle-web-1.4.8
export PATH=$JAVA_HOME/bin:$KE_HOME/bin:$PATH

进入kafka-eagle的conf目录下修改配置文件 system-config.properties ,配置基础配置

cd /opt/module/kafka-eagle-bin-1.4.8/kafka-eagle-web-1.4.8

# 修改为以下内容

#设置kafka集群(可以多个)
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=cm1:2181,cm2:2181,cm3:2181


######################################
# kafka eagle 的端口
######################################
kafka.eagle.webui.port=8048


######################################
# kafka jdbc 地址注意可以自己安装数据mysql也可以自带的
######################################
kafka.eagle.driver=org.sqlite.JDBC
kafka.eagle.url=jdbc:sqlite:/opt/module/kafka-eagle-bin-1.4.8/kafka-eagle-web-1.4.8/db/ke.db
kafka.eagle.username=root
kafka.eagle.password=123456

文件配置完毕后开始启动 ,启动要进入bin目录下

#进入bin目录后会看到 ke.sh 文件先修改文件的权限
chomd 777 ke.sh

ke.sh start
# 停止
ke.sh stop

启动成功后的控制台输出

部署完成结束

  • 下面介绍下他的页面功能

功能界面

使用下 kafkasql查询的功能