比Kafka Mangaer更優秀的開源監控工具-Kafka Eaglecss
做者:尹正傑html
版權聲明:原創做品,謝絕轉載!不然將追究法律責任。java
在Kafka的監控系統中有不少優秀的開源監控系統。好比Kafka-manager,open-faclcon,zabbix等主流監控工具都可直接監控kafka。Kafka集羣性能監控能夠從消息網絡傳輸,消息傳輸流量,請求次數等指標來衡量集羣性能。這些指標數據能夠經過訪問kafka集羣的JMX接口獲取。node
因爲Kafka Eagle監控系統核心模塊採用java編程語言實現,所以啓動Kafka Eagle 監控系統須要依賴Java運行環境(JDK),建議使用java 7以上版本,推薦使用JDK1.8。關於jdk的安裝我就不廢話了,你們自行安裝一下。mysql
一.kafka Eagle簡介jquery
1>.kafka Eagle監控系統git
kafka Eagle監控系統的目標是作一個部署簡單,開發容易,使用方便的kafka消息監控系統。github
2>.Kafka Eagle最新版本的golang
下載地址:http://download.smartloli.org/web
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]#
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@node101.yinzhengjie.org.cn ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.25-log MySQL Community Server (GPL) Copyright (c) 2000, 2019, 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, 1 row affected (0.00 sec) mysql> mysql> CREATE USER kafka@'172.30.1.10%' IDENTIFIED WITH mysql_native_password BY 'yinzhengjie'; Query OK, 0 rows affected (0.00 sec) mysql> mysql> GRANT ALL PRIVILEGES ON kafka.* TO kafka@'172.30.1.10%'; Query OK, 0 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 1045 (28000): 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 4 Server version: 5.7.25-log MySQL Community Server (GPL) Copyright (c) 2000, 2019, 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 | +--------------------+ 2 rows in set (0.00 sec) mysql> mysql> quit Bye [root@node101.yinzhengjie.org.cn ~]#
[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:2181 kafka.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/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.10.jar inflated: WEB-INF/lib/aspectjweaver-1.8.10.jar inflated: WEB-INF/lib/c3p0-0.9.1.1.jar inflated: WEB-INF/lib/calcite-core-1.6.0.jar inflated: WEB-INF/lib/calcite-linq4j-1.6.0.jar inflated: WEB-INF/lib/commons-beanutils-1.8.3.jar inflated: WEB-INF/lib/commons-codec-1.2.jar inflated: WEB-INF/lib/commons-compiler-3.0.6.jar inflated: WEB-INF/lib/commons-dbcp-1.2.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.2.jar inflated: WEB-INF/lib/commons-pool-1.3.jar inflated: WEB-INF/lib/dom4j-1.6.1.jar inflated: WEB-INF/lib/druid-1.0.31.jar inflated: WEB-INF/lib/ehcache-core-2.5.3.jar inflated: WEB-INF/lib/eigenbase-properties-1.1.5.jar inflated: WEB-INF/lib/fastjson-1.2.7.jar inflated: WEB-INF/lib/gson-2.2.4.jar inflated: WEB-INF/lib/guava-19.0.jar inflated: WEB-INF/lib/jackson-annotations-2.8.0.jar inflated: WEB-INF/lib/jackson-core-2.8.7.jar inflated: WEB-INF/lib/jackson-core-asl-1.9.13.jar inflated: WEB-INF/lib/jackson-databind-2.8.7.jar inflated: WEB-INF/lib/jackson-mapper-asl-1.9.13.jar inflated: WEB-INF/lib/janino-3.0.6.jar inflated: WEB-INF/lib/jline-0.9.94.jar inflated: WEB-INF/lib/jopt-simple-5.0.3.jar inflated: WEB-INF/lib/jsr305-1.3.9.jar inflated: WEB-INF/lib/jstl-1.2.jar inflated: WEB-INF/lib/junit-3.8.1.jar inflated: WEB-INF/lib/kafka-clients-0.10.2.0.jar inflated: WEB-INF/lib/kafka-eagle-api-1.2.0.jar inflated: WEB-INF/lib/kafka-eagle-common-1.2.0.jar inflated: WEB-INF/lib/kafka-eagle-core-1.2.0.jar inflated: WEB-INF/lib/kafka-eagle-plugin-1.2.0.jar inflated: WEB-INF/lib/kafka_2.11-0.10.2.0.jar inflated: WEB-INF/lib/log4j-1.2.17.jar inflated: WEB-INF/lib/lz4-1.3.0.jar inflated: WEB-INF/lib/mail-1.4.7.jar inflated: WEB-INF/lib/metrics-core-2.2.0.jar inflated: WEB-INF/lib/mybatis-3.2.6.jar inflated: WEB-INF/lib/mybatis-spring-1.2.2.jar inflated: WEB-INF/lib/mysql-connector-java-5.1.30.jar inflated: WEB-INF/lib/netty-3.7.0.Final.jar inflated: WEB-INF/lib/pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar inflated: WEB-INF/lib/quartz-2.2.1.jar inflated: WEB-INF/lib/scala-library-2.11.8.jar inflated: WEB-INF/lib/scala-parser-combinators_2.11-1.0.4.jar inflated: WEB-INF/lib/servlet-api-2.5.jar inflated: WEB-INF/lib/shiro-core-1.3.2.jar inflated: WEB-INF/lib/shiro-ehcache-1.3.2.jar inflated: WEB-INF/lib/shiro-spring-1.3.2.jar inflated: WEB-INF/lib/shiro-web-1.3.2.jar inflated: WEB-INF/lib/slf4j-api-1.6.6.jar inflated: WEB-INF/lib/slf4j-log4j12-1.7.5.jar inflated: WEB-INF/lib/snappy-java-1.1.2.6.jar inflated: WEB-INF/lib/spring-aop-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-beans-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-context-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-context-support-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-core-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-expression-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-jdbc-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-oxm-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-test-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-tx-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-web-4.1.6.RELEASE.jar inflated: WEB-INF/lib/spring-webmvc-4.1.6.RELEASE.jar inflated: WEB-INF/lib/sqlite-jdbc-3.20.0.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.8.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/403.jsp inflated: WEB-INF/views/error/404.jsp inflated: WEB-INF/views/error/405.jsp inflated: WEB-INF/views/error/500.jsp inflated: WEB-INF/views/error/503.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[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]#
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功能愈來愈強,好比支持微信,集羣壓力測試等等。