记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

1,资料。

2,部署。

当我们把kafka集群部署完成之后,就可以部署Kafka Eagle监控系统了。

github上的releases中事实上还是源码,而源码可能不容易编译成功,因此可以直接通过官网的下载地址下载作者已经提供的编译好的包进行部署。

1,下载包。

  1. $ wget https://codeload.github.com/smartloli/kafka-eagle-bin/tar.gz/v1.3.3

2,解压包。

  1. [root@localhost opt]$ tar xf v1.3.3
  2. l[root@localhost opt]$ ls
  3. kafka-eagle-bin-1.3.3 v1.3.3
  4. [root@localhost opt]$ cd kafka-eagle-bin-1.3.3/
  5. [root@localhost kafka-eagle-bin-1.3.3]$ ls
  6. kafka-eagle-web-1.3.3-bin.tar.gz
  7. [root@localhost kafka-eagle-bin-1.3.3]$ tar xf kafka-eagle-web-1.3.3-bin.tar.gz
  8. l[root@localhost kafka-eagle-bin-1.3.3]$ ls
  9. kafka-eagle-web-1.3.3 kafka-eagle-web-1.3.3-bin.tar.gz
  10. [root@localhost kafka-eagle-bin-1.3.3]$ mv kafka-eagle-web-1.3.3 /opt/kafka-eagle

3,配置环境变量。

  1. cat >> /etc/profile << EOF
  2. export JAVA_HOME=/usr/local/jdk1.8.0_192
  3. export KE_HOME=/opt/kafka-eagle
  4. export PATH=$PATH:$JAVA_HOME/bin:$KE_HOME
  5. EOF
  6. source /etc/profile

4,配置system-config.properties文件。

  1. ######################################
  2. # 配置多个Kafka集群所对应的Zookeeper
  3. ######################################
  4. kafka.eagle.zk.cluster.alias=cluster1
  5. cluster1.zk.list=192.168.106.7:2181,192.168.106.8:2181,192.168.106.9:2181
  6. #cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181
  7. ######################################
  8. # 设置Zookeeper线程数
  9. ######################################
  10. kafka.zk.limit.size=25
  11. ######################################
  12. # 设置Kafka Eagle浏览器访问端口
  13. ######################################
  14. kafka.eagle.webui.port=8048
  15. ######################################
  16. # 如果你的offsets存储在Kafka中,这里就配置
  17. # 属性值为kafka,如果是在Zookeeper中,可以
  18. # 注释该属性。一般情况下,Offsets的也和你消
  19. # 费者API有关系,如果你使用的Kafka版本为0.10.x
  20. # 以后的版本,但是,你的消费API使用的是0.8.2.x
  21. # 时的API,此时消费者依然是在Zookeeper中
  22. ######################################
  23. cluster1.kafka.eagle.offset.storage=kafka
  24. #cluster2.kafka.eagle.offset.storage=zk
  25. ######################################
  26. # 是否启动监控图表,默认是不启动的
  27. ######################################
  28. kafka.eagle.metrics.charts=true
  29. ######################################
  30. # 在使用Kafka SQL查询主题时,如果遇到错误,
  31. # 可以尝试开启这个属性,默认情况下,不开启
  32. ######################################
  33. kafka.eagle.sql.fix.error=true
  34. ######################################
  35. # kafka sql topic records max
  36. ######################################
  37. kafka.eagle.sql.topic.records.max=5000
  38. ######################################
  39. # 邮件服务器设置,用来告警
  40. ######################################
  41. kafka.eagle.mail.enable=false
  42. kafka.eagle.mail.sa=alert_sa@163.com
  43. kafka.eagle.mail.username=alert_sa@163.com
  44. kafka.eagle.mail.password=mqslimczkdqabbbh
  45. kafka.eagle.mail.server.host=smtp.163.com
  46. kafka.eagle.mail.server.port=25
  47. ######################################
  48. # alarm im configure
  49. ######################################
  50. #kafka.eagle.im.dingding.enable=true
  51. #kafka.eagle.im.dingding.url=https://oapi.dingtalk.com/robot/send?access_token=
  52. #kafka.eagle.im.wechat.enable=true
  53. #kafka.eagle.im.wechat.token=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxx&corpsecret=xxx
  54. #kafka.eagle.im.wechat.url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=
  55. #kafka.eagle.im.wechat.touser=
  56. #kafka.eagle.im.wechat.toparty=
  57. #kafka.eagle.im.wechat.totag=
  58. #kafka.eagle.im.wechat.agentid=
  59. ######################################
  60. # 超级管理员删除主题的Token
  61. ######################################
  62. kafka.eagle.topic.token=keadmin
  63. ######################################
  64. # 如果启动Kafka SASL协议,开启该属性
  65. ######################################
  66. cluster1.kafka.eagle.sasl.enable=false
  67. cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
  68. cluster1.kafka.eagle.sasl.mechanism=PLAIN
  69. cluster2.kafka.eagle.sasl.enable=false
  70. cluster2.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
  71. cluster2.kafka.eagle.sasl.mechanism=PLAIN
  72. ######################################
  73. # Kafka Eagle默认存储在Sqlite中,如果要使用
  74. # MySQL可以替换驱动、用户名、密码、连接地址
  75. ######################################
  76. kafka.eagle.driver=org.sqlite.JDBC
  77. kafka.eagle.url=jdbc:sqlite:/opt/kafka-eagle/db/ke.db
  78. kafka.eagle.username=root
  79. kafka.eagle.password=smartloli

5,启动Kafka Eagle。

配置完成后,可以执行Kafka Eagle脚本ke.sh。如果首次执行,需要给该脚本赋予执行权限,命令如下:

  1. chmod +x $KE_HOME/bin/ke.sh

在ke.sh脚本中,支持以下命令:

命令说明
ke.sh start启动Kafka Eagle系统
ke.sh stop停止Kafka Eagle系统
ke.sh restart重启Kafka Eagle系统
ke.sh status查看Kafka Eagle系统运行状态
ke.sh stats统计Kafka Eagle系统占用Linux资源情况
ke.sh find [ClassName]查看Kafka Eagle系统中的类是否存在
  1. [root@localhost kafka-eagle]$./bin/ke.sh start
  2. [2019-07-07 17:21:03] INFO: Starting kafka eagle environment check ...
  3. created: META-INF/
  4. inflated: META-INF/MANIFEST.MF
  5. created: WEB-INF/
  6. 。中间输出省略
  7. created: META-INF/maven/org.smartloli.kafka.eagle/
  8. created: META-INF/maven/org.smartloli.kafka.eagle/kafka-eagle-web/
  9. inflated: META-INF/maven/org.smartloli.kafka.eagle/kafka-eagle-web/pom.xml
  10. inflated: META-INF/maven/org.smartloli.kafka.eagle/kafka-eagle-web/pom.properties
  11. *******************************************************************
  12. * Kafka Eagle system monitor port successful...
  13. *******************************************************************
  14. [2019-07-07 17:21:03] INFO: Status Code[0]
  15. [2019-07-07 17:21:03] INFO: [Job done!]
  16. Welcome to
  17. __ __ ___ ____ __ __ ___ ______ ___ ______ __ ______
  18. / //_/ / | / __/ / //_/ / | / ____/ / | / ____/ / / / ____/
  19. / ,< / /| | / /_ / ,< / /| | / __/ / /| | / / __ / / / __/
  20. / /| | / ___ | / __/ / /| | / ___ | / /___ / ___ |/ /_/ / / /___ / /___
  21. /_/ |_| /_/ |_|/_/ /_/ |_| /_/ |_| /_____/ /_/ |_|\____/ /_____//_____/
  22. Version 1.3.3
  23. *******************************************************************
  24. * Kafka Eagle Service has started success.
  25. * Welcome, Now you can visit 'http://<your_host_or_ip>:port/ke'
  26. * Account:admin ,Password:123456
  27. *******************************************************************
  28. * <Usage> ke.sh [start|status|stop|restart|stats] </Usage>
  29. * <Usage> https://www.kafka-eagle.org/ </Usage>
  30. *******************************************************************

6,访问。

接着就可以通过http://<your_host_or_ip>:port/ke进行访问了。

用户名密码是 Account:admin ,Password:123456

7,监控趋势图。

Kafka系统默认是没有开启JMX端口的,所以Kafka Eagle的监控趋势图默认采用不启用的方式,即kafka.eagle.metrics.charts=false

如果需要查看监控趋势图,需要开启Kafka系统的JMX端口,设置该端口在$KAFKA_HOME/bin/kafka-server-start.sh脚本中,设置内容如下:

  1. if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
  2. export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
  3. export JMX_PORT="9999"
  4. #export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
  5. fi

然后将集群的kafka重启,在重启kafka eagle,就能看到相关的监控了。

3,参考。



转载请标明出处【部署Kafka Eagle监控系统监控kafka集群】。

《www.92cto.com》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论