比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
--2018-11-14 15:21:20--  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|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/smartloli/kafka-eagle-bin/tar.gz/v1.2.0 [following]
--2018-11-14 15:21:21--  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|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: ‘v1.2.0.tar.gz’[                                                                                                               <=>                        ] 57,443,692  1.73MB/s   in 31s    2018-11-14 15:21:53 (1.79 MB/s) - ‘v1.2.0.tar.gz’ saved [57443692][root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# ll
total 56100
-rw-r--r--. 1 root root 57443692 Nov 14 15:32 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 56100
-rw-r--r--. 1 root root 57443692 Nov 14 15:32 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 56100
drwxrwxr-x. 2 root root       46 Jan 23  2018 kafka-eagle-bin-1.2.0
-rw-r--r--. 1 root root 57443692 Nov 14 15:32 v1.2.0.tar.gz
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# tar -zxf kafka-eagle-bin-1.2.0/kafka-eagle-web-1.2.0-bin.tar.gz -C /soft/
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# ln -s /soft/kafka-eagle-web-1.2.0/ /soft/kafka-eagle
[root@node105 kafka-eagle]#
[root@node105 kafka-eagle]# ll /soft/
total 0
lrwxrwxrwx. 1 root root  19 Oct 26 20:10 jdk -> /soft/jdk1.8.0_131/
drwxr-xr-x. 8 root root 255 Oct 26 13:20 jdk1.8.0_131
drwxr-xr-x. 7 root root 101 Oct 26 13:20 kafka
lrwxrwxrwx. 1 root root  28 Nov 14 15:41 kafka-eagle -> /soft/kafka-eagle-web-1.2.0/
drwxr-xr-x. 8 root root  75 Nov 14 15:39 kafka-eagle-web-1.2.0
drwxr-xr-x. 7 root root 126 Oct 26 13:20 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@node105 kafka-eagle]# cat /soft/kafka-eagle/conf/system-config.properties
######################################
# 多集群模式配置,包含多个kafka和zookeeper。
######################################
#kafka.eagle.zk.cluster.alias=cluster1,cluster2
#cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181
#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181kafka.eagle.zk.cluster.alias=yinzhengjie-kafka
yinzhengjie-kafka.zk.list=10.1.2.102:2181,10.1.2.103:2181,10.1.2.104:2181
######################################
# zookeeper客户端连接数限制
######################################
kafka.zk.limit.size=25######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048######################################
# 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@163.com
kafka.eagle.mail.password=mqslimczkdqabbbg
kafka.eagle.mail.server.host=smtp.163.com
kafka.eagle.mail.server.port=25######################################
# 管理员删除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/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=root
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.MFcreated: 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.ttfinflated: media/css/fonts/fontawesome-webfont.woffinflated: media/css/fonts/glyphicons-halflings-regular.ttfinflated: media/css/fonts/glyphicons-halflings-regular.woffinflated: media/css/fonts/glyphicons-halflings-regular.woff2inflated: media/css/img/glyphicons-halflings.pnginflated: media/css/plugins/datatimepicker/daterangepicker.cssinflated: media/css/plugins/select2/select2.min.cssinflated: media/css/public/account/hfc.ttfinflated: media/css/public/account/hfd.ttfinflated: media/css/public/account/main.cssinflated: media/css/public/bootstrap-tokenfield.cssinflated: media/css/public/bootstrap-treeview.min.cssinflated: media/css/public/bootstrap.min.cssinflated: media/css/public/codemirror.cssinflated: media/css/public/dataTables.bootstrap.min.cssinflated: media/css/public/font-awesome.min.cssinflated: media/css/public/images/ui-bg_glass_75_e6e6e6_1x400.pnginflated: media/css/public/images/ui-bg_glass_75_ffffff_1x400.pnginflated: media/css/public/images/ui-bg_highlight-soft_75_cccccc_1x100.pnginflated: media/css/public/images/ui-icons_222222_256x240.pnginflated: media/css/public/images/ui-icons_454545_256x240.pnginflated: media/css/public/images/ui-icons_888888_256x240.pnginflated: media/css/public/jquery.terminal.min.cssinflated: media/css/public/magicsuggest.cssinflated: media/css/public/morris.cssinflated: media/css/public/sb-admin.cssinflated: media/css/public/show-hint.cssinflated: media/css/public/tokenfield-typeahead.cssinflated: media/img/favicon.icoinflated: media/img/ke_login.pnginflated: media/js/main/account/signin.jsinflated: media/js/main/alarm/add.jsinflated: media/js/main/alarm/modify.jsinflated: media/js/main/cluster/cluster.jsinflated: media/js/main/cluster/multicluster.jsinflated: media/js/main/cluster/zkcli.jsinflated: media/js/main/consumer/consumers.jsinflated: media/js/main/consumer/offset.consumer.jsinflated: media/js/main/consumer/offset.realtime.jsinflated: media/js/main/error/error.jsinflated: media/js/main/index.jsinflated: media/js/main/metrics/brokers.jsinflated: media/js/main/metrics/trend.jsinflated: media/js/main/system/notice.jsinflated: media/js/main/system/resource.jsinflated: media/js/main/system/role.jsinflated: media/js/main/system/user.jsinflated: media/js/main/topic/create.jsinflated: media/js/main/topic/list.jsinflated: media/js/main/topic/mock.jsinflated: media/js/main/topic/msg.jsinflated: media/js/main/topic/topic.meta.jsinflated: media/js/plugins/codemirror/codemirror.jsinflated: media/js/plugins/codemirror/show-hint.jsinflated: media/js/plugins/codemirror/sql-hint.jsinflated: media/js/plugins/codemirror/sql.jsinflated: media/js/plugins/d3/d3.jsinflated: media/js/plugins/d3/d3.layout.jsinflated: media/js/plugins/datatables/dataTables.bootstrap.min.jsinflated: media/js/plugins/datatables/jquery.dataTables.min.jsinflated: media/js/plugins/datatimepicker/daterangepicker.jsinflated: media/js/plugins/datatimepicker/moment.min.jsinflated: media/js/plugins/magicsuggest/magicsuggest.jsinflated: media/js/plugins/select2/select2.min.jsinflated: media/js/plugins/select2/select2.min.js.bakinflated: media/js/plugins/terminal/jquery.terminal.min.jsinflated: media/js/plugins/tokenfield/bootstrap-tokenfield.jsinflated: media/js/public/bootstrap-treeview.min.jsinflated: media/js/public/bootstrap.min.jsinflated: media/js/public/jquery.jsinflated: media/js/public/morris.min.jsinflated: media/js/public/navbar.jsinflated: media/js/public/raphael.min.jsinflated: WEB-INF/classes/mbean-quartz.xmlinflated: WEB-INF/classes/offsets-quartz.xmlinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/AccountController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/AlarmController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/BaseController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/ClusterController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/ConsumersController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/DashboardController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/ErrorPageController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/MetricsController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/OffsetController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/ResourcesController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/RoleController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/StartupListener$ContextSchema.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/StartupListener$RunTask.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/StartupListener.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/TopicController.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/MBeanDao.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/MBeanDao.xmlinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/ResourcesDao.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/ResourcesDao.xmlinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/RoleDao.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/RoleDao.xmlinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/UserDao.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/UserDao.xmlinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/pojo/Role.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/pojo/RoleResource.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/pojo/Signiner.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/pojo/UserRole.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/quartz/MBeanQuartz.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/quartz/OffsetsQuartz.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/AccountService.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/AlarmService.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/ClusterService.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/ConsumerService.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/DashboardService.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/AccountServiceImpl.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/AlarmServiceImpl.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/ClusterServiceImpl.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/ConsumerServiceImpl.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/DashboardServiceImpl.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/MetricsServiceImpl.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/OffsetServiceImpl.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/ResourceServiceImpl.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/RoleServiceImpl.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/TopicServiceImpl.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/MetricsService.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/OffsetService.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/ResourceService.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/RoleService.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/TopicService.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/filter/SSOFilter.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/filter/SSORealm.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/pojo/Resources.classinflated: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/pojo/SSOAuthenticationToken.classinflated: WEB-INF/classes/shiro-ehcache.xmlinflated: WEB-INF/classes/spring-mvc.xmlinflated: WEB-INF/classes/spring-mybatis.xmlinflated: WEB-INF/classes/spring-shiro.xmlinflated: WEB-INF/lib/activation-1.1.jarinflated: WEB-INF/lib/aopalliance-1.0.jarinflated: WEB-INF/lib/aspectjrt-1.8.10.jarinflated: WEB-INF/lib/aspectjweaver-1.8.10.jarinflated: WEB-INF/lib/c3p0-0.9.1.1.jarinflated: WEB-INF/lib/calcite-core-1.6.0.jarinflated: WEB-INF/lib/calcite-linq4j-1.6.0.jarinflated: WEB-INF/lib/commons-beanutils-1.8.3.jarinflated: WEB-INF/lib/commons-codec-1.2.jarinflated: WEB-INF/lib/commons-compiler-3.0.6.jarinflated: WEB-INF/lib/commons-dbcp-1.2.2.jarinflated: WEB-INF/lib/commons-httpclient-3.0.jarinflated: WEB-INF/lib/commons-io-2.4.jarinflated: WEB-INF/lib/commons-lang-2.6.jarinflated: WEB-INF/lib/commons-lang3-3.5.jarinflated: WEB-INF/lib/commons-logging-1.1.2.jarinflated: WEB-INF/lib/commons-pool-1.3.jarinflated: WEB-INF/lib/dom4j-1.6.1.jarinflated: WEB-INF/lib/druid-1.0.31.jarinflated: WEB-INF/lib/ehcache-core-2.5.3.jarinflated: WEB-INF/lib/eigenbase-properties-1.1.5.jarinflated: WEB-INF/lib/fastjson-1.2.7.jarinflated: WEB-INF/lib/gson-2.2.4.jarinflated: WEB-INF/lib/guava-19.0.jarinflated: WEB-INF/lib/jackson-annotations-2.8.0.jarinflated: WEB-INF/lib/jackson-core-2.8.7.jarinflated: WEB-INF/lib/jackson-core-asl-1.9.13.jarinflated: WEB-INF/lib/jackson-databind-2.8.7.jarinflated: WEB-INF/lib/jackson-mapper-asl-1.9.13.jarinflated: WEB-INF/lib/janino-3.0.6.jarinflated: WEB-INF/lib/jline-0.9.94.jarinflated: WEB-INF/lib/jopt-simple-5.0.3.jarinflated: WEB-INF/lib/jsr305-1.3.9.jarinflated: WEB-INF/lib/jstl-1.2.jarinflated: WEB-INF/lib/junit-3.8.1.jarinflated: WEB-INF/lib/kafka-clients-0.10.2.0.jarinflated: WEB-INF/lib/kafka-eagle-api-1.2.0.jarinflated: WEB-INF/lib/kafka-eagle-common-1.2.0.jarinflated: WEB-INF/lib/kafka-eagle-core-1.2.0.jarinflated: WEB-INF/lib/kafka-eagle-plugin-1.2.0.jarinflated: WEB-INF/lib/kafka_2.11-0.10.2.0.jarinflated: WEB-INF/lib/log4j-1.2.17.jarinflated: WEB-INF/lib/lz4-1.3.0.jarinflated: WEB-INF/lib/mail-1.4.7.jarinflated: WEB-INF/lib/metrics-core-2.2.0.jarinflated: WEB-INF/lib/mybatis-3.2.6.jarinflated: WEB-INF/lib/mybatis-spring-1.2.2.jarinflated: WEB-INF/lib/mysql-connector-java-5.1.30.jarinflated: WEB-INF/lib/netty-3.7.0.Final.jarinflated: WEB-INF/lib/pentaho-aggdesigner-algorithm-5.1.5-jhyde.jarinflated: WEB-INF/lib/quartz-2.2.1.jarinflated: WEB-INF/lib/scala-library-2.11.8.jarinflated: WEB-INF/lib/scala-parser-combinators_2.11-1.0.4.jarinflated: WEB-INF/lib/servlet-api-2.5.jarinflated: WEB-INF/lib/shiro-core-1.3.2.jarinflated: WEB-INF/lib/shiro-ehcache-1.3.2.jarinflated: WEB-INF/lib/shiro-spring-1.3.2.jarinflated: WEB-INF/lib/shiro-web-1.3.2.jarinflated: WEB-INF/lib/slf4j-api-1.6.6.jarinflated: WEB-INF/lib/slf4j-log4j12-1.7.5.jarinflated: WEB-INF/lib/snappy-java-1.1.2.6.jarinflated: WEB-INF/lib/spring-aop-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-beans-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-context-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-context-support-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-core-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-expression-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-jdbc-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-oxm-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-test-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-tx-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-web-4.1.6.RELEASE.jarinflated: WEB-INF/lib/spring-webmvc-4.1.6.RELEASE.jarinflated: WEB-INF/lib/sqlite-jdbc-3.20.0.jarinflated: WEB-INF/lib/xml-apis-1.0.b2.jarinflated: WEB-INF/lib/zkclient-0.9.jarinflated: WEB-INF/lib/zookeeper-3.4.8.jarinflated: WEB-INF/views/account/signin.jspinflated: WEB-INF/views/alarm/add.jspinflated: WEB-INF/views/alarm/add_failed.jspinflated: WEB-INF/views/alarm/add_success.jspinflated: WEB-INF/views/alarm/modify.jspinflated: WEB-INF/views/cluster/cluster.jspinflated: WEB-INF/views/cluster/multicluster.jspinflated: WEB-INF/views/cluster/zkcli.jspinflated: WEB-INF/views/consumers/consumers.jspinflated: WEB-INF/views/consumers/offset_consumers.jspinflated: WEB-INF/views/consumers/offset_realtime.jspinflated: WEB-INF/views/error/403.jspinflated: WEB-INF/views/error/404.jspinflated: WEB-INF/views/error/405.jspinflated: WEB-INF/views/error/500.jspinflated: WEB-INF/views/error/503.jspinflated: WEB-INF/views/main/index.jspinflated: WEB-INF/views/metrics/brokers.jspinflated: WEB-INF/views/metrics/trend.jspinflated: WEB-INF/views/public/css.jspinflated: WEB-INF/views/public/kindeditor.jspinflated: WEB-INF/views/public/navbar.jspinflated: WEB-INF/views/public/script.jspinflated: WEB-INF/views/public/tagcss.jspinflated: WEB-INF/views/public/tcss.jspinflated: WEB-INF/views/public/tscript.jspinflated: WEB-INF/views/system/notice.jspinflated: WEB-INF/views/system/resource.jspinflated: WEB-INF/views/system/role.jspinflated: WEB-INF/views/system/user.jspinflated: WEB-INF/views/topic/add_failed.jspinflated: WEB-INF/views/topic/add_success.jspinflated: WEB-INF/views/topic/create.jspinflated: WEB-INF/views/topic/list.jspinflated: WEB-INF/views/topic/mock.jspinflated: WEB-INF/views/topic/msg.jspinflated: WEB-INF/views/topic/topic_meta.jspinflated: WEB-INF/web.xmlcreated: 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.xmlinflated: META-INF/maven/org.smartloli.kafka.eagle/kafka-eagle-web/pom.properties
*******************************************************************
* Kafka Eagle system monitor port successful... *
*******************************************************************
Status Code[0]
[Job done!]
Welcome to__ __    ___     ____    __ __    ___            ______    ___    ______    __     ______/ //_/   /   |   / __/   / //_/   /   |          / ____/   /   |  / ____/   / /    / ____// ,<     / /| |  / /_    / ,<     / /| |         / __/     / /| | / / __    / /    / __/   / /| |   / ___ | / __/   / /| |   / ___ |        / /___    / ___ |/ /_/ /   / /___ / /___
/_/ |_|  /_/  |_|/_/     /_/ |_|  /_/  |_|       /_____/   /_/  |_|\____/   /_____//_____/
                                                                                             Version 1.2.0
*******************************************************************
* Kafka Eagle Service has started success! *
* Welcome, Now you can visit 'http://<your_host_or_ip>:port/ke' *
* Account:admin ,Password:123456                          *
*******************************************************************
* <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) 64-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 8048
tcp6       0      0 :::8048                 :::*                    LISTEN      5184/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功能越来越强,比如支持微信,集群压力测试等等。

转载于:https://www.cnblogs.com/yinzhengjie/p/9957389.html

比Kafka Mangaer更优秀的开源监控工具-Kafka Eagle相关推荐

  1. Github、Gitee优秀的开源项目

    收集 Github.Gitee优秀的开源项目,并进行归类整理.项目地址 目录 编程语言项目 SprinBoot 项目 源码分析项目 前后端分离项目 Vue2 项目 Vue3 项目 微服务项目 Api ...

  2. Bootstrap——优秀的开源前端框架

    声明: 本文已经首发于InfoQ中文站,版权所有,原文为<优秀的开源前端框架Bootstrap发布2.0.1版>,如需转载,请务必附带本声明,谢谢. Bootstrap是著名的社交网站.微 ...

  3. docker 查看日志_8个优秀Docker容器监控工具,收藏了

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

  4. LinkedIn 详细介绍了他们开源的 Kafka Monitor

    在2016年4月份举行的Kafka峰会上,LinkedIn在Apache 2.0许可协议下开源了Kafka Monitor,并于近日详细介绍了该监控工具的架构以及他们最初的构建动机.在年初的时候,Li ...

  5. 如何在GitHub上发现优秀的开源项目

    如何在GitHub上发现优秀的开源项目 如果作为一名程序员,你连GitHub都没有听过或者用过的话,那真是太遗憾了.GitHub的使用可是程序员在职业生涯中的一项必备技能啊,最近在网上搜了一下,发现有 ...

  6. 使用这些思路与技巧,我读懂了多个优秀的开源项目

    好的,让我们开始出发吧!在进入正题之前,我们先来个读源码前的 灵魂四连问 热热身. 一.灵魂四连问 1.1 为什么要读源代码 1.2 如何选择项目 1.3 如何阅读源码 1.4 有实际的案例么 既然前 ...

  7. 2020 年 GitHub 上那些优秀 Android 开源库,这里是 Top10! | 原力计划

    作者 | 依然饭特稀西 责编 | 郭芮 出品 | CSDN博客 每过一段时间呀,我都会给大家带来一些从Github上收集的一些开源库,有的是炫酷动效,有的则是实用的工具和类库.2020年有哪些优秀的开 ...

  8. 同样是程序员,为什么别人比你更优秀?

    作者 | 倪升武 责编 | 胡巍巍 随着互联网时代的飞速发展,越来越多的人投身于软件开发行业,大家都称他们为程序员,或者码农. 这些程序员的水平也是参差不齐的,有些人从比较好的学校毕业,水平却一般般: ...

  9. 7款优秀的开源数据挖掘工具

    7款优秀的开源数据挖掘工具   IDMer说道:本文只对几种流行的开源数据挖掘平台进行了检视,比如Weka和R等.如果您想找寻更多的开源数据挖掘软件,可以到KDnuggets和Open Directo ...

  10. android dialog动画_2020年GitHub 上那些优秀Android开源库,这里是Top10!

    前言 每过一段时间呀,我都会给大家带来一些从Github上收集的一些开源库,有的是炫酷动效,有的则是实用的工具和类库.以前没看过或者没有收藏的同学,建议先收藏,以下是链接: [Android珍藏]推荐 ...

最新文章

  1. linux VFS 虚拟文件系统 简介 super_block inode dentry file
  2. 苹果iphone手机上input的button按钮颜色显示有问题,安卓却没问题
  3. MySQL的limit用法和分页查询的性能分析及优化
  4. mysql知识结构图_MySql知识结构说明
  5. 简单的C语言程序合集
  6. NS2仿真分析无线网络的攻击防御(2)
  7. Junit4集成到Maven工程
  8. 自动化测试--实现一套完全解耦的测试框架(三)
  9. python 求 gamma 分布_python如何生成各种随机分布图
  10. ACE6.3.3在Linux(CentOS7.0)下的安装和使用
  11. linux的tar命令详情;linux多个文件压缩打包到一个压缩文件
  12. 图书管理系统—可行性分析报告
  13. 「电商干货」分销爆单的6个步骤
  14. mysql的ace什么概念_ACE(03):努力了,总会有收获
  15. Asp.Net Web Api 部署------在云服务器IIS上部署Web Api程序
  16. ProcessOn在线画流程图介绍
  17. 编码实现字符串类CNString实现运算符重载
  18. ISIS基础知识及配置命令
  19. 英文写作——情态动词的用法
  20. 【jQuery 基础】$ (document) .ready和$(window).load

热门文章

  1. windows关闭休眠
  2. 一己之力,不过举鼎,奈何撼天;一世芳华,不余百年,怎易如愿?
  3. HTB-Unified
  4. 2022年R1快开门式压力容器操作最新解析及R1快开门式压力容器操作新版试题
  5. 入股不亏的文案编辑工具
  6. 关于Bundle Adjustment的直观理解
  7. 坚果云 不在计算机显示图标,在Ubuntu18.04系统顶栏不显示坚果云图标的解决办法...
  8. 【数字图像处理】Hough变换C语言实现
  9. 预防数据泄露——音乐播放器Spotify强制用户重置密码
  10. 网络文件夹共享服务器,五个最佳网络文件共享服务