比Kafka Mangaer更优秀的开源监控工具-Kafka Eagle

                                           作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

  在Kafka的监控系统中有很多优秀的开源监控系统。比如Kafka-manager,open-faclcon,zabbix等主流监控工具均可直接监控kafka。Kafka集群性能监控可以从消息网络传输,消息传输流量,请求次数等指标来衡量集群性能。这些指标数据可以通过访问kafka集群的JMX接口获取。

  由于Kafka Eagle监控系统核心模块采用java编程语言实现,因此启动Kafka Eagle 监控系统需要依赖Java运行环境(JDK),建议使用java 7以上版本,推荐使用JDK1.8。关于jdk的安装我就不废话了,大家自行安装一下。

一.kafka Eagle简介

1>.kafka Eagle监控系统

  kafka Eagle监控系统的目标是做一个部署简单,开发容易,使用方便的kafka消息监控系统。

2>.Kafka Eagle最新版本的

  下载地址:http://download.smartloli.org/

3>.Kafka Eagle 源代码

  下载地址:https://github.com/smartloli/kafka-eagle

4>.Kafka Eagle 各个版本

  下载地址:https://ke.smartloli.org/5.ChangeLog/1.ChangeLog.html

二.安装Kafka Eagle

1>.使用wget工具下载kafka Eagle 软件安装包

[root@node105 ~]#
[root@node105 ~]# mkdir -pv /yinzhengjie/kafka-eagle && cd /yinzhengjie/kafka-eagle
mkdir: created directory ‘/yinzhengjie/kafka-eagle’
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# wget https://github.com/smartloli/kafka-eagle-bin/archive/v1.2.0.tar.gz
---- ::-- https://github.com/smartloli/kafka-eagle-bin/archive/v1.2.0.tar.gz
Resolving github.com (github.com)... 52.74.223.119, 13.250.177.223, 13.229.188.59
Connecting to github.com (github.com)|52.74.223.119|:... connected.
HTTP request sent, awaiting response... Found
Location: https://codeload.github.com/smartloli/kafka-eagle-bin/tar.gz/v1.2.0 [following]
---- ::-- https://codeload.github.com/smartloli/kafka-eagle-bin/tar.gz/v1.2.0
Resolving codeload.github.com (codeload.github.com)... 13.250.162.133, 54.251.140.56, 13.229.189.0
Connecting to codeload.github.com (codeload.github.com)|13.250.162.133|:... connected.
HTTP request sent, awaiting response... OK
Length: unspecified [application/x-gzip]
Saving to: ‘v1.2.0.tar.gz’ [ <=> ] ,, .73MB/s in 31s -- :: (1.79 MB/s) - ‘v1.2.0.tar.gz’ saved [] [root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# ll
total
-rw-r--r--. root root Nov : v1.2.0.tar.gz
[root@node105 kafka-eagle]#

[root@node105 kafka-eagle]# wget https://github.com/smartloli/kafka-eagle-bin/archive/v1.2.0.tar.gz

2>.解压安装包并创建软连接

[root@node105 kafka-eagle]# ll
total
-rw-r--r--. root root Nov : v1.2.0.tar.gz
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# tar -zxf v1.2.0.tar.gz
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# ll
total
drwxrwxr-x. root root Jan kafka-eagle-bin-1.2.
-rw-r--r--. root root Nov : v1.2.0.tar.gz
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# tar -zxf kafka-eagle-bin-1.2./kafka-eagle-web-1.2.-bin.tar.gz -C /soft/
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# ln -s /soft/kafka-eagle-web-1.2./ /soft/kafka-eagle
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# ll /soft/
total
lrwxrwxrwx. root root Oct : jdk -> /soft/jdk1..0_131/
drwxr-xr-x. root root Oct : jdk1..0_131
drwxr-xr-x. root root Oct : kafka
lrwxrwxrwx. root root Nov : kafka-eagle -> /soft/kafka-eagle-web-1.2./
drwxr-xr-x. root root Nov : kafka-eagle-web-1.2.
drwxr-xr-x. root root Oct : kafka-manager
[root@node105 kafka-eagle]#

3>.为Kafka Eagle配置环境变量(“/etc/profile”)

[root@node105 kafka-eagle]# tail /etc/profile
export GOROOT=/usr/lib/golang
export GOPATH=/home/yinzhengjie/golang #ADD open-falcon path by yinzhengjie
export FALCON_HOME=/yinzhengjie/open-falcon/workspace
export WORKSPACE=/open-falcon #ADD kafka-Eagle path by yinzhengjie
export KE_HOME=/soft/kafka-eagle
export PATH=$PATH:$KE_HOME/bin
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# chmod +x /soft/kafka-eagle/bin/ -R   #这个目录下有2个脚本,当你启动服务时,会多处一个ke.pid的文件,用于存放进程pid的,这一步必须得做,没有权限的话,你没法启动服务哟!
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# source /etc/profile
[root@node105 kafka-eagle]#

4>.编辑配置文件(/soft/kafka-eagle/conf/system-config.properties)

[root@node101.yinzhengjie.org.cn ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7.-log MySQL Community Server (GPL) Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
mysql> CREATE DATABASE kafka DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Query OK, row affected (0.00 sec) mysql>
mysql> CREATE USER kafka@'172.30.1.10%' IDENTIFIED WITH mysql_native_password BY 'yinzhengjie';
Query OK, rows affected (0.00 sec) mysql>
mysql> GRANT ALL PRIVILEGES ON kafka.* TO kafka@'172.30.1.10%';
Query OK, rows affected (0.00 sec) mysql>
mysql>
mysql> quit
Bye
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# mysql -ukafka -pyinzhengjie
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR (): Access denied for user 'kafka'@'localhost' (using password: YES)
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# mysql -ukafka -pyinzhengjie -h node101.yinzhengjie.org.cn
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7.-log MySQL Community Server (GPL) Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| kafka |
+--------------------+
rows in set (0.00 sec) mysql>
mysql> quit
Bye
[root@node101.yinzhengjie.org.cn ~]#

[root@node101.yinzhengjie.org.cn ~]# mysql -uroot -p        #对用户进行授权操作

[root@node105 kafka-eagle]# cat /soft/kafka-eagle/conf/system-config.properties
######################################
# 多集群模式配置,包含多个kafka和zookeeper。
######################################
#kafka.eagle.zk.cluster.alias=cluster1,cluster2
#cluster1.zk.list=tdn1:,tdn2:,tdn3:
#cluster2.zk.list=xdn10:,xdn11:,xdn12: kafka.eagle.zk.cluster.alias=yinzhengjie-kafka
yinzhengjie-kafka.zk.list=10.1.2.102:,10.1.2.103:,10.1.2.104:
######################################
# zookeeper客户端连接数限制
######################################
kafka.zk.limit.size= ######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port= ######################################
# kafka 消费信息存储位置,用来兼容kafka低版本
######################################
kafka.eagle.offset.storage=kafka ######################################
# kafka eagle 设置告警邮件服务器
######################################
kafka.eagle.mail.enable=true
kafka.eagle.mail.sa=alert_sa
kafka.eagle.mail.username=alert_sa@.com
kafka.eagle.mail.password=mqslimczkdqabbbg
kafka.eagle.mail.server.host=smtp..com
kafka.eagle.mail.server.port= ######################################
# 管理员删除kafka中topic的口令
######################################
kafka.eagle.topic.token=keadmin ######################################
# kafka 集群是否开启了认证模式
######################################
kafka.eagle.sasl.enable=false
kafka.eagle.sasl.protocol=SASL_PLAINTEXT
kafka.eagle.sasl.mechanism=PLAIN
kafka.eagle.sasl.client=/hadoop/kafka-eagle/conf/kafka_client_jaas.conf ######################################
# kafka eagle 存储监控数据的数据库地址
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://127.0.0.1:3306/kafka?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=kafka
kafka.eagle.password=yinzhengjie [root@node105 kafka-eagle]#

5>.启动Kafka监控系统(此处需要对ke.sh这个脚本进行修改, )

[root@node105 kafka-eagle]# ke.sh start
Starting : KE Service Check ...
created: META-INF/
inflated: META-INF/MANIFEST.MF
created: media/
created: media/css/
created: media/css/fonts/
created: media/css/img/
created: media/css/plugins/
created: media/css/plugins/datatimepicker/
created: media/css/plugins/select2/
created: media/css/public/
created: media/css/public/account/
created: media/css/public/images/
created: media/img/
created: media/js/
created: media/js/main/
created: media/js/main/account/
created: media/js/main/alarm/
created: media/js/main/cluster/
created: media/js/main/consumer/
created: media/js/main/error/
created: media/js/main/metrics/
created: media/js/main/system/
created: media/js/main/topic/
created: media/js/plugins/
created: media/js/plugins/codemirror/
created: media/js/plugins/d3/
created: media/js/plugins/datatables/
created: media/js/plugins/datatimepicker/
created: media/js/plugins/magicsuggest/
created: media/js/plugins/select2/
created: media/js/plugins/terminal/
created: media/js/plugins/tokenfield/
created: media/js/public/
created: WEB-INF/
created: WEB-INF/classes/
created: WEB-INF/classes/org/
created: WEB-INF/classes/org/smartloli/
created: WEB-INF/classes/org/smartloli/kafka/
created: WEB-INF/classes/org/smartloli/kafka/eagle/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/pojo/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/quartz/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/filter/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/pojo/
created: WEB-INF/lib/
created: WEB-INF/views/
created: WEB-INF/views/account/
created: WEB-INF/views/alarm/
created: WEB-INF/views/cluster/
created: WEB-INF/views/consumers/
created: WEB-INF/views/error/
created: WEB-INF/views/main/
created: WEB-INF/views/metrics/
created: WEB-INF/views/public/
created: WEB-INF/views/system/
created: WEB-INF/views/topic/
inflated: media/css/fonts/fontawesome-webfont.ttf
inflated: media/css/fonts/fontawesome-webfont.woff
inflated: media/css/fonts/glyphicons-halflings-regular.ttf
inflated: media/css/fonts/glyphicons-halflings-regular.woff
inflated: media/css/fonts/glyphicons-halflings-regular.woff2
inflated: media/css/img/glyphicons-halflings.png
inflated: media/css/plugins/datatimepicker/daterangepicker.css
inflated: media/css/plugins/select2/select2.min.css
inflated: media/css/public/account/hfc.ttf
inflated: media/css/public/account/hfd.ttf
inflated: media/css/public/account/main.css
inflated: media/css/public/bootstrap-tokenfield.css
inflated: media/css/public/bootstrap-treeview.min.css
inflated: media/css/public/bootstrap.min.css
inflated: media/css/public/codemirror.css
inflated: media/css/public/dataTables.bootstrap.min.css
inflated: media/css/public/font-awesome.min.css
inflated: media/css/public/images/ui-bg_glass_75_e6e6e6_1x400.png
inflated: media/css/public/images/ui-bg_glass_75_ffffff_1x400.png
inflated: media/css/public/images/ui-bg_highlight-soft_75_cccccc_1x100.png
inflated: media/css/public/images/ui-icons_222222_256x240.png
inflated: media/css/public/images/ui-icons_454545_256x240.png
inflated: media/css/public/images/ui-icons_888888_256x240.png
inflated: media/css/public/jquery.terminal.min.css
inflated: media/css/public/magicsuggest.css
inflated: media/css/public/morris.css
inflated: media/css/public/sb-admin.css
inflated: media/css/public/show-hint.css
inflated: media/css/public/tokenfield-typeahead.css
inflated: media/img/favicon.ico
inflated: media/img/ke_login.png
inflated: media/js/main/account/signin.js
inflated: media/js/main/alarm/add.js
inflated: media/js/main/alarm/modify.js
inflated: media/js/main/cluster/cluster.js
inflated: media/js/main/cluster/multicluster.js
inflated: media/js/main/cluster/zkcli.js
inflated: media/js/main/consumer/consumers.js
inflated: media/js/main/consumer/offset.consumer.js
inflated: media/js/main/consumer/offset.realtime.js
inflated: media/js/main/error/error.js
inflated: media/js/main/index.js
inflated: media/js/main/metrics/brokers.js
inflated: media/js/main/metrics/trend.js
inflated: media/js/main/system/notice.js
inflated: media/js/main/system/resource.js
inflated: media/js/main/system/role.js
inflated: media/js/main/system/user.js
inflated: media/js/main/topic/create.js
inflated: media/js/main/topic/list.js
inflated: media/js/main/topic/mock.js
inflated: media/js/main/topic/msg.js
inflated: media/js/main/topic/topic.meta.js
inflated: media/js/plugins/codemirror/codemirror.js
inflated: media/js/plugins/codemirror/show-hint.js
inflated: media/js/plugins/codemirror/sql-hint.js
inflated: media/js/plugins/codemirror/sql.js
inflated: media/js/plugins/d3/d3.js
inflated: media/js/plugins/d3/d3.layout.js
inflated: media/js/plugins/datatables/dataTables.bootstrap.min.js
inflated: media/js/plugins/datatables/jquery.dataTables.min.js
inflated: media/js/plugins/datatimepicker/daterangepicker.js
inflated: media/js/plugins/datatimepicker/moment.min.js
inflated: media/js/plugins/magicsuggest/magicsuggest.js
inflated: media/js/plugins/select2/select2.min.js
inflated: media/js/plugins/select2/select2.min.js.bak
inflated: media/js/plugins/terminal/jquery.terminal.min.js
inflated: media/js/plugins/tokenfield/bootstrap-tokenfield.js
inflated: media/js/public/bootstrap-treeview.min.js
inflated: media/js/public/bootstrap.min.js
inflated: media/js/public/jquery.js
inflated: media/js/public/morris.min.js
inflated: media/js/public/navbar.js
inflated: media/js/public/raphael.min.js
inflated: WEB-INF/classes/mbean-quartz.xml
inflated: WEB-INF/classes/offsets-quartz.xml
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/AccountController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/AlarmController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/BaseController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/ClusterController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/ConsumersController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/DashboardController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/ErrorPageController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/MetricsController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/OffsetController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/ResourcesController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/RoleController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/StartupListener$ContextSchema.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/StartupListener$RunTask.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/StartupListener.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/TopicController.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/MBeanDao.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/MBeanDao.xml
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/ResourcesDao.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/ResourcesDao.xml
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/RoleDao.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/RoleDao.xml
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/UserDao.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/UserDao.xml
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/pojo/Role.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/pojo/RoleResource.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/pojo/Signiner.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/pojo/UserRole.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/quartz/MBeanQuartz.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/quartz/OffsetsQuartz.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/AccountService.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/AlarmService.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/ClusterService.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/ConsumerService.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/DashboardService.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/AccountServiceImpl.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/AlarmServiceImpl.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/ClusterServiceImpl.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/ConsumerServiceImpl.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/DashboardServiceImpl.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/MetricsServiceImpl.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/OffsetServiceImpl.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/ResourceServiceImpl.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/RoleServiceImpl.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/TopicServiceImpl.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/MetricsService.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/OffsetService.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/ResourceService.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/RoleService.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/TopicService.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/filter/SSOFilter.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/filter/SSORealm.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/pojo/Resources.class
inflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/pojo/SSOAuthenticationToken.class
inflated: WEB-INF/classes/shiro-ehcache.xml
inflated: WEB-INF/classes/spring-mvc.xml
inflated: WEB-INF/classes/spring-mybatis.xml
inflated: WEB-INF/classes/spring-shiro.xml
inflated: WEB-INF/lib/activation-1.1.jar
inflated: WEB-INF/lib/aopalliance-1.0.jar
inflated: WEB-INF/lib/aspectjrt-1.8..jar
inflated: WEB-INF/lib/aspectjweaver-1.8..jar
inflated: WEB-INF/lib/c3p0-0.9.1.1.jar
inflated: WEB-INF/lib/calcite-core-1.6..jar
inflated: WEB-INF/lib/calcite-linq4j-1.6..jar
inflated: WEB-INF/lib/commons-beanutils-1.8..jar
inflated: WEB-INF/lib/commons-codec-1.2.jar
inflated: WEB-INF/lib/commons-compiler-3.0..jar
inflated: WEB-INF/lib/commons-dbcp-1.2..jar
inflated: WEB-INF/lib/commons-httpclient-3.0.jar
inflated: WEB-INF/lib/commons-io-2.4.jar
inflated: WEB-INF/lib/commons-lang-2.6.jar
inflated: WEB-INF/lib/commons-lang3-3.5.jar
inflated: WEB-INF/lib/commons-logging-1.1..jar
inflated: WEB-INF/lib/commons-pool-1.3.jar
inflated: WEB-INF/lib/dom4j-1.6..jar
inflated: WEB-INF/lib/druid-1.0..jar
inflated: WEB-INF/lib/ehcache-core-2.5..jar
inflated: WEB-INF/lib/eigenbase-properties-1.1..jar
inflated: WEB-INF/lib/fastjson-1.2..jar
inflated: WEB-INF/lib/gson-2.2..jar
inflated: WEB-INF/lib/guava-19.0.jar
inflated: WEB-INF/lib/jackson-annotations-2.8..jar
inflated: WEB-INF/lib/jackson-core-2.8..jar
inflated: WEB-INF/lib/jackson-core-asl-1.9..jar
inflated: WEB-INF/lib/jackson-databind-2.8..jar
inflated: WEB-INF/lib/jackson-mapper-asl-1.9..jar
inflated: WEB-INF/lib/janino-3.0..jar
inflated: WEB-INF/lib/jline-0.9..jar
inflated: WEB-INF/lib/jopt-simple-5.0..jar
inflated: WEB-INF/lib/jsr305-1.3..jar
inflated: WEB-INF/lib/jstl-1.2.jar
inflated: WEB-INF/lib/junit-3.8..jar
inflated: WEB-INF/lib/kafka-clients-0.10.2.0.jar
inflated: WEB-INF/lib/kafka-eagle-api-1.2..jar
inflated: WEB-INF/lib/kafka-eagle-common-1.2..jar
inflated: WEB-INF/lib/kafka-eagle-core-1.2..jar
inflated: WEB-INF/lib/kafka-eagle-plugin-1.2..jar
inflated: WEB-INF/lib/kafka_2.-0.10.2.0.jar
inflated: WEB-INF/lib/log4j-1.2..jar
inflated: WEB-INF/lib/lz4-1.3..jar
inflated: WEB-INF/lib/mail-1.4..jar
inflated: WEB-INF/lib/metrics-core-2.2..jar
inflated: WEB-INF/lib/mybatis-3.2..jar
inflated: WEB-INF/lib/mybatis-spring-1.2..jar
inflated: WEB-INF/lib/mysql-connector-java-5.1..jar
inflated: WEB-INF/lib/netty-3.7..Final.jar
inflated: WEB-INF/lib/pentaho-aggdesigner-algorithm-5.1.-jhyde.jar
inflated: WEB-INF/lib/quartz-2.2..jar
inflated: WEB-INF/lib/scala-library-2.11..jar
inflated: WEB-INF/lib/scala-parser-combinators_2.-1.0..jar
inflated: WEB-INF/lib/servlet-api-2.5.jar
inflated: WEB-INF/lib/shiro-core-1.3..jar
inflated: WEB-INF/lib/shiro-ehcache-1.3..jar
inflated: WEB-INF/lib/shiro-spring-1.3..jar
inflated: WEB-INF/lib/shiro-web-1.3..jar
inflated: WEB-INF/lib/slf4j-api-1.6..jar
inflated: WEB-INF/lib/slf4j-log4j12-1.7..jar
inflated: WEB-INF/lib/snappy-java-1.1.2.6.jar
inflated: WEB-INF/lib/spring-aop-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-beans-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-context-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-context-support-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-core-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-expression-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-jdbc-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-oxm-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-test-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-tx-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-web-4.1..RELEASE.jar
inflated: WEB-INF/lib/spring-webmvc-4.1..RELEASE.jar
inflated: WEB-INF/lib/sqlite-jdbc-3.20..jar
inflated: WEB-INF/lib/xml-apis-1.0.b2.jar
inflated: WEB-INF/lib/zkclient-0.9.jar
inflated: WEB-INF/lib/zookeeper-3.4..jar
inflated: WEB-INF/views/account/signin.jsp
inflated: WEB-INF/views/alarm/add.jsp
inflated: WEB-INF/views/alarm/add_failed.jsp
inflated: WEB-INF/views/alarm/add_success.jsp
inflated: WEB-INF/views/alarm/modify.jsp
inflated: WEB-INF/views/cluster/cluster.jsp
inflated: WEB-INF/views/cluster/multicluster.jsp
inflated: WEB-INF/views/cluster/zkcli.jsp
inflated: WEB-INF/views/consumers/consumers.jsp
inflated: WEB-INF/views/consumers/offset_consumers.jsp
inflated: WEB-INF/views/consumers/offset_realtime.jsp
inflated: WEB-INF/views/error/.jsp
inflated: WEB-INF/views/error/.jsp
inflated: WEB-INF/views/error/.jsp
inflated: WEB-INF/views/error/.jsp
inflated: WEB-INF/views/error/.jsp
inflated: WEB-INF/views/main/index.jsp
inflated: WEB-INF/views/metrics/brokers.jsp
inflated: WEB-INF/views/metrics/trend.jsp
inflated: WEB-INF/views/public/css.jsp
inflated: WEB-INF/views/public/kindeditor.jsp
inflated: WEB-INF/views/public/navbar.jsp
inflated: WEB-INF/views/public/script.jsp
inflated: WEB-INF/views/public/tagcss.jsp
inflated: WEB-INF/views/public/tcss.jsp
inflated: WEB-INF/views/public/tscript.jsp
inflated: WEB-INF/views/system/notice.jsp
inflated: WEB-INF/views/system/resource.jsp
inflated: WEB-INF/views/system/role.jsp
inflated: WEB-INF/views/system/user.jsp
inflated: WEB-INF/views/topic/add_failed.jsp
inflated: WEB-INF/views/topic/add_success.jsp
inflated: WEB-INF/views/topic/create.jsp
inflated: WEB-INF/views/topic/list.jsp
inflated: WEB-INF/views/topic/mock.jsp
inflated: WEB-INF/views/topic/msg.jsp
inflated: WEB-INF/views/topic/topic_meta.jsp
inflated: WEB-INF/web.xml
created: META-INF/maven/
created: META-INF/maven/org.smartloli.kafka.eagle/
created: META-INF/maven/org.smartloli.kafka.eagle/kafka-eagle-web/
inflated: META-INF/maven/org.smartloli.kafka.eagle/kafka-eagle-web/pom.xml
inflated: META-INF/maven/org.smartloli.kafka.eagle/kafka-eagle-web/pom.properties
*******************************************************************
* Kafka Eagle system monitor port successful... *
*******************************************************************
Status Code[]
[Job done!]
Welcome to
__ __ ___ ____ __ __ ___ ______ ___ ______ __ ______
/ //_/ / | / __/ / //_/ / | / ____/ / | / ____/ / / / ____/
/ ,< / /| | / /_ / ,< / /| | / __/ / /| | / / __ / / / __/
/ /| | / ___ | / __/ / /| | / ___ | / /___ / ___ |/ /_/ / / /___ / /___
/_/ |_| /_/ |_|/_/ /_/ |_| /_/ |_| /_____/ /_/ |_|\____/ /_____//_____/ Version 1.2.
*******************************************************************
* Kafka Eagle Service has started success! *
* Welcome, Now you can visit 'http://<your_host_or_ip>:port/ke' *
* Account:admin ,Password: *
*******************************************************************
* <Usage> ke.sh [start|status|stop|restart|stats] </Usage> *
* <Usage> http://ke.smartloli.org/ </Usage> *
*******************************************************************
[root@node105 kafka-eagle]#

[root@node105 kafka-eagle]# ke.sh start        #启动Kafka Eagle系统

6>.启动成功的标志

7>.遇到的一系列坑

  启动时报错如下:

[root@node105 kafka-eagle]# ke.sh start
Starting : KE Service Check ...
Error: The JAVA_HOME environment variable is not defined correctly.
Error: This environment variable is needed to run this program.
[root@node105 kafka-eagle]#

  查看启动脚本(vi /soft/kafka-eagle/bin/ke.sh )

发现我的java环境已经配置好啦~可以直接查看相应的环境变量~

[root@node105 kafka-eagle]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) -Bit Server VM (build 25.131-b11, mixed mode)
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# echo $JAVA_HOME
/soft/jdk
[root@node105 kafka-eagle]#

  解决方案如下:

8>.查看端口是否存在

[root@node105 kafka-eagle]# hostname
node105.yinzhengjie.org.cn
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# netstat -untalp | grep
tcp6 ::: :::* LISTEN /java
[root@node105 kafka-eagle]#

9>.访问kafka eagle的webUI服务(用户名:admin,密码:123456)

http://node105.yinzhengjie.org.cn:8048/ke/

10>.登陆成功的界面如下

三.Kafka Eagle快速入门

  都已经部署成功了,剩下给大家介绍界面的功能感觉是多余的,不过大家也别嫌我啰嗦,部署成功了,大家点点鼠标也就知道咋回事了~其实和Kafka manager差不多多少~只不过功能要比kafka manager更多一点而已啦!

1>.创建topic

2>.查看topic

3>.kafka SQL查询界面(我没咋用过哈~有时间可以研究研究~)

4>.发送消息到指定的topic

  别忘了启动一个消费者进行测试,查看是否能拿到数据,很显然,我是拿到数据啦:

5>.查看所有消费者的情况

6>.查看正在监控的集群

7>.监控多个kafka集群

8>.zookeeper客户端操作命令

9>.性能指标监控(broker总的流量监控)

10>.通过JMX获取数据,监控Kafka客户端,生产端,消息数量,请求数量,处理时间和其他数据,以可视化性能。

11>.kafka系统管理

12>.关于kafka Eagle脚本的命令

  详情请参考官网:https://ke.smartloli.org/3.Manuals/6.Shell.html。说句实话,我一般不咋夸人,这家公司官网的图解做的很好,在这里,我本人希望Kafka Eagle功能越来越强,比如支持微信,集群压力测试等等。

比Kafka Mangaer更优秀的开源监控工具-Kafka Eagle的更多相关文章

  1. kafka为什么这么优秀!

    kafka为什么这么优秀! 阿飞的博客 匠心零度 今天 1.动机2.持久化3.效率4.生产者4.1负载均衡4.2异步发送5.消费者Push vs. Pull消费者位置离线数据加载 1.动机 kafka ...

  2. Web 项目可能会用到的20款优秀的开源工具

    开源的应用程序和它们的源代码可以免费获得,因为版权是属于任何进行过修改或者提交代码的人.大多数提供开源软件的公司都可以建立行业标准,因此可以获得有利的竞争优势. 很多的开源应用程序和工具都有很强的替代 ...

  3. 6 个优秀的开源 OCR 光学字符识别工具

    转自:http://sigvc.org/bbs/thread-870-1-1.html 纸张在许多地方已日益失宠,无纸化办公谈论40多年,办公环境正限制纸山的生成.而过去几年,无纸化办公的概念发生了显 ...

  4. GitHub 优秀Android 开源项目

    阅读目录 1.Xabber客户端 2.oschina客户端 3.手机安全管家 4.星座连萌 5.玲闹铃 6.魔乐盒 7.PWP日历 8.Apollo音乐播放器 9.夏普名片识别 10.高仿人人网 11 ...

  5. Github发现优秀的开源项目

    先上个大logo,哈哈. github上有非常多的资源,我们可以在github上搜索到非常多的开源项目.那么如何使用github查找资源? 罗列出一下几种方式. 1.Explore 登录GitHub, ...

  6. [转帖]8个优秀Docker容器监控工具,收藏了

    8个优秀Docker容器监控工具,收藏了 Docker是目前使用最广泛的容器之一,但它并不总是像物理硬件一样可见.而使用docker容器监控工具有助于消除这种透明度的缺失.以下介绍8种优秀Docker ...

  7. 能让你成为更优秀程序员的10个C语言资源

    能让你成为更优秀程序员的10个C语言资源 本文由 伯乐在线 - archychu 翻译自 mycplus.欢迎加入 技术翻译小组.转载请参见文章末尾处的要求. 一些人觉得编程无聊,一些人觉得它很好玩. ...

  8. 快速开发android,离不开这10个优秀的开源项目

    作为一名菜鸡Android,时常瞻仰大佬们的开源项目是非常必要的.这里我为大家收集整理了10个优秀的开源项目,方便我们日常开发中学习! 作者:ListenToCode博客:https://www.ji ...

  9. 程序员的快速开发框架:Github上 10 大优秀的开源后台控制面板

    程序员的快速开发框架:Github上 10 大优秀的开源后台控制面板 Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者 ...

随机推荐

  1. 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2da42acc\ab2935

    未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2da42acc\ab293 ...

  2. linq之左连接 + group by

    var list = from item in (from s in _sysBll.GetList(s => s.ParamID == "TraSchType" & ...

  3. java读取excel获取数据写入到另外一个excel

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  4. 微信小程序——使用vue构建小程序【外传】

    文档 http://mpvue.com/mpvue/ 根据文档构建完成的页面如下 更多的,还要继续看下文档~

  5. 洛谷P1916 小书童——蚂蚁大战

    题目背景 小A在你的帮助下,开始“刷题”,他在小书童里发现了一款叫“蚂蚁大战”(又称蛋糕保卫战)的游戏.(你懂得) 题目描述 游戏中会出现n只蚂蚁,分别有a1,a2……an的血量,它们要吃你的蛋糕.当 ...

  6. MT【278】二次齐次化

    对于$c>0$,当非零实数$a,b$满足$4a^2-2ab+4b^2-c=0,$且使$|2a+b|$最大时,$\dfrac{3}{a}-\dfrac{4}{b}+\dfrac{5}{c}$的最小 ...

  7. 【CF865D】Buy Low Sell High(贪心)

    [CF865D]Buy Low Sell High(贪心) 题面 洛谷 CF 题解 首先有一个\(O(n^2)\)的\(dp\)很显然,设\(f[i][j]\)表示前\(i\)天手中还有\(j\)股股 ...

  8. 【LOJ#6073】距离(主席树)

    [LOJ#6073]距离(主席树) 题面 LOJ 题解 两点间的距离是\(dep[x]+dep[y]-2dep[LCA]\). 那么题目要求的东西拆开维护,唯一不好做的就是\(2dep[LCA]\). ...

  9. LaTeX教程与下载

    LaTeX教程与下载如下: 其实,下载好CTEX 的步骤只有三步.第一步下载好CTEX ,第二步下载编辑器Texstudio ,第三步安装配置TexStudio 详细步骤: 第一步:下载CTEX La ...

  10. 外围功能电路控制 LET′S TRY“嵌入式编程”: 4 of 6

    外围功能电路控制 LET′S TRY“嵌入式编程”: 4 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的单片机的基础知识. 在<单片机入门(1)-(3)>中,我们一起学习了单片 ...