首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka的监控(三)

Kafka的监控(三)

作者头像
无涯WuYa
发布2021-04-20 11:27:01
5730
发布2021-04-20 11:27:01
举报

在实际的应用中,需要时刻的关注Kafka集群的资源信息,查看集群的代理节点的监控状态,主题的分区等信息,以及消费组的其他数据。我们通过Kafka的命令可以模拟它的生产者以及消费者的数据,以及消费者的数据情况,但是无法全面的看到Kafka的整体监控信息。比如Kafka的CPU以及内存的资源消耗情况,和Active Brokers的情况。本文章主要介绍Kafka Eagle监控工具的搭建以及应用。

首先到https://www.kafka-eagle.org/下载最新版本的Kafka Eagle,下载完成后,我们需要进行编译(本地必须已经完整的搭建了Java环境以及Maven的环境)。下载成功后,进入到解压的目录,解压后的目录为:

需要完善pom.xml的文件,文件内容主要为:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.smartloli.kafka.eagle</groupId>
   <artifactId>kafka-eagle</artifactId>
   <packaging>pom</packaging>
   <version>2.0.4</version>
   <name>ke</name>
   <url>https://repo1.maven.org/maven2/</url>

   <properties>
      <project.version>2.0.4</project.version>
      <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>

   <modules>
      <module>kafka-eagle-common</module>
      <module>kafka-eagle-api</module>
      <module>kafka-eagle-web</module>
      <module>kafka-eagle-core</module>
      <module>kafka-eagle-plugin</module>
   </modules>

   <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
            <source>1.8</source>
            <target>1.8</target>
            </configuration>
         </plugin>
      </plugins>
   </build>

</project>

完善pom.xml的文件后,执行./build.sh的命令进行编译,就会显示如下的信息:

编译成功后,在目录kafka-eagle-web/target的目录下

把压缩文件kafka-eagle-web-2.0.4-bin.tar.gz单独的复制到一个目录下,然后进行解压,解压后,在config配置文件里面的system-config.properties的文件内容,具体完善后的内容为:

######################################
# multi zookeeper & kafka cluster list
######################################
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=localhost:2181,47.95.142.233:2181
######################################
# zookeeper enable acl
######################################
cluster1.zk.acl.enable=false
cluster1.zk.acl.schema=digest
cluster1.zk.acl.username=test
cluster1.zk.acl.password=test123

######################################
# broker size online list
######################################
cluster1.kafka.eagle.broker.size=20
######################################
# zk client thread limit
#设置Zookpeer连接池大小
######################################
kafka.zk.limit.size=25
######################################
# kafka eagle webui port
#设置浏览器访问的端口号
######################################
kafka.eagle.webui.port=8048
######################################
# kafka jmx acl and ssl authenticate
######################################
cluster1.kafka.eagle.jmx.acl=false
cluster1.kafka.eagle.jmx.user=keadmin
cluster1.kafka.eagle.jmx.password=keadmin123
cluster1.kafka.eagle.jmx.ssl=false
cluster1.kafka.eagle.jmx.truststore.location=/Users/dengjie/workspace/ssl/certificates/kafka.truststore
cluster1.kafka.eagle.jmx.truststore.password=ke123456

######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka
cluster2.kafka.eagle.offset.storage=zk

######################################
# kafka jmx uri
######################################
cluster1.kafka.eagle.jmx.uri=service:jmx:rmi:///jndi/rmi://%s/jmxrmi

######################################
# kafka metrics, 15 days by default
######################################
kafka.eagle.metrics.charts=true
kafka.eagle.metrics.retain=15
######################################
# kafka sql topic records max
######################################
kafka.eagle.sql.topic.records.max=5000
######################################
# delete kafka topic token
#管理员删除Topic的口令
######################################
kafka.eagle.topic.token=keadmin

######################################
# kafka sasl authenticate
#是否开启Kafka SASL安全认证
######################################
cluster1.kafka.eagle.sasl.enable=false
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=SCRAM-SHA-256
cluster1.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle";
cluster1.kafka.eagle.sasl.client.id=
cluster1.kafka.eagle.blacklist.topics=
cluster1.kafka.eagle.sasl.cgroup.enable=false
cluster1.kafka.eagle.sasl.cgroup.topics=
cluster2.kafka.eagle.sasl.enable=false
cluster2.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster2.kafka.eagle.sasl.mechanism=PLAIN
cluster2.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle";
cluster2.kafka.eagle.sasl.client.id=
cluster2.kafka.eagle.blacklist.topics=
cluster2.kafka.eagle.sasl.cgroup.enable=false
cluster2.kafka.eagle.sasl.cgroup.topics=

######################################
# kafka ssl authenticate
######################################
cluster3.kafka.eagle.ssl.enable=false
cluster3.kafka.eagle.ssl.protocol=SSL
cluster3.kafka.eagle.ssl.truststore.location=
cluster3.kafka.eagle.ssl.truststore.password=
cluster3.kafka.eagle.ssl.keystore.location=
cluster3.kafka.eagle.ssl.keystore.password=
cluster3.kafka.eagle.ssl.key.password=
cluster3.kafka.eagle.blacklist.topics=
cluster3.kafka.eagle.ssl.cgroup.enable=false
cluster3.kafka.eagle.ssl.cgroup.topics=

######################################
# kafka sqlite jdbc driver address
#默认数据存储到sqlite
######################################
# kafka.eagle.driver=org.sqlite.JDBC
# kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
# kafka.eagle.username=root
# kafka.eagle.password=www.kafka-eagle.org
######################################
# kafka mysql jdbc driver address
#数据存储到MySQL
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://localhost:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=root
kafka.eagle.password=123456

这地方我们会把所有的数据存储到MySQL中。然后把Kafka-Eagle添加到Path的环境变量里面,或者直接进入到bin的目录下,执行

ke.sh start

命令就可以启动Kafka-Eagle了,执行后输出的信息如下:

显示如上说明启动Kafka-Eagle成功,然后访问地址,就会显示出如下的信息:

输入账户和密码登录成功,整个主页面就会显示如下:

可以看到显示具体的主题,TOPICS的数量以及名称,和BROKERS以及其他的信息,点击BScreen可以查看完整的面板信息,如下所示:

如上所示,可以看到生产者以及消费者的数据信息。

感谢您的阅读,后续逐步的介绍Kafka中间件的其他技术栈。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档