kafka自身并没有集成监控管理系统,因此对kafka的监控管理比较不便,好在有大量的第三方监控管理系统来使用,常见的有:
-
Kafka Eagle
-
KafkaOffsetMonitor
-
Kafka Manager(雅虎开源的Kafka集群管理器)
-
Kafka Web Console
-
还有JMX接口自开发监控管理系统
Kafka-Eagle安装
安装包下载地址:http://download.kafka-eagle.org/
官方文档地址:Preface - Kafka Eagle
-
上传,解压
-
配置环境变量:JAVA_HOME 和KE_HOME
vi /etc/profile
-- 之前配过了就不用再配了
export JAVA_HOME=/opt/apps/jdk1.8.3_9u19
export PATH=$PATH:$JAVA_HOME/bin
export KE_HOME=/opt/apps/efak-web-2.1.0
export PATH=$PATH:$KE_HOME/bin
3. 配置KafkaEagle
cd ${KE_HOME}/conf
vi system-config.properties
修改如下内容:
######################################
# multi zookeeper & kafka cluster list
# Settings prefixed with 'kafka.eagle.' will be deprecated, use 'efak.' instead
######################################
efak.zk.cluster.alias=cluster1
cluster1.zk.list=linux01:2181,linux02:2181,linux03:2181
######################################
# broker size online list
######################################
cluster1.efak.broker.size=3
######################################
# kafka sqlite jdbc driver address
######################################
efak.driver=org.sqlite.JDBC
efak.url=jdbc:sqlite:/opt/data/kafka-eagle/db/ke.db
efak.username=root
efak.password=www.kafka-eagle.org
######################################
# kafka mysql jdbc driver address
######################################
#efak.driver=com.mysql.cj.jdbc.Driver
#efak.url=jdbc:mysql://linux01:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
#efak.username=root
#efak.password=123456
如上,数据库选择的是sqlite,需要手动创建所配置的db文件存放目录:/opt/data/kafka-eagle/db/
如果使用MySQL 提前在mysql中创建指定的数据库
mysql> CREATE DATABASE IF NOT EXISTS ke DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
4. 配置kafka服务端的JMX端口【选配】
在kafka的启动脚本: kafka-server-start.sh 中添加如下命令:
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export JMX_PORT="9999"
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi
这个加在文件的最后面
改完后,将文件同步给所有节点
然后重启kafka集群
5. 配置KE_HOME 环境变量
#EFAK
export KE_HOME=/opt/apps/efak-web-3.0.1
export PATH=$PATH:$KE_HOME/bin
6. 启动KafkaEagle
cd ${KE_HOME}/bin
chmod +x ke.sh
./ke.sh start
7. 访问web界面
linux01:8048
账号密码:Account:admin ,Password:123456