kafka搭建_Kafka 监控平台搭建(KafkaEagle)

Kafka 监控平台搭建(Kafka-Eagle)

本篇主要讲解 Kafka-eagle 监控平台的搭建 ,包括如何下载 安装 以及一些配置参数等的讲解 ,我个人觉得Kafka-Eagle监控平台 挺好的  一起来看看吧。

1.下载kafka-Eagle和配置环境变量

1.1 官网下载

首先当然是下载 Kafka-Eagle 了  Kafka-Eagle 官网

直接点击下载

da4934b152babdbafc784d5510d37062.png

下载后将其解压并且 修改目录名称为 kafka-eagle

28bfcafec0c99d2d23c02736d04859e7.png

1.2 配置环境变量

我的是Mac 如下配置 需要有JDK1.8 以上的 支持

vi ~/.bash_profileexport JAVA_HOME=/usr/local/jdk8export KE_HOME=/data/soft/new/kafka-eagleexport PATH=$PATH:$JAVA_HOME/bin:$KE_HOME/bin

2. 配置 kafka-eagle 的  system-config.properties

config / system-config.properties  有关详细的配置

####################################### multi zookeeper & kafka cluster list######################################//配置多个Kafka集群所对应的Zookeeperkafka.eagle.zk.cluster.alias=cluster1cluster1.zk.list=192.168.25.6:2181  #cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181####################################### zookeeper enable acl######################################cluster1.zk.acl.enable=falsecluster1.zk.acl.schema=digestcluster1.zk.acl.username=testcluster1.zk.acl.password=test123####################################### broker size online list######################################cluster1.kafka.eagle.broker.size=20####################################### zk client thread limit######################################//设置Kafka Eagle浏览器访问端口kafka.zk.limit.size=25####################################### kafka eagle webui port######################################//设置Kafka Eagle浏览器访问端口kafka.eagle.webui.port=8048####################################### kafka offset storage######################################//如果你的offsets存储在Kafka中,这里就配置//属性值为kafka,如果是在Zookeeper中,可以//注释该属性。一般情况下,Offsets的也和你消//费者API有关系,如果你使用的Kafka版本为0.10.x//以后的版本,但是,你的消费API使用的是0.8.2.x//时的API,此时消费者依然是在Zookeeper中//我的kafka 是高版本 就配置 kafka了cluster1.kafka.eagle.offset.storage=kafka#cluster2.kafka.eagle.offset.storage=zk####################################### kafka metrics, 15 days by default######################################//重点:需要配置成 true 来 是否启动监控图表,目前这个版本默认是启动的kafka.eagle.metrics.charts=truekafka.eagle.metrics.retain=15####################################### kafka sql topic records max######################################kafka.eagle.sql.topic.records.max=5000kafka.eagle.sql.fix.error=true####################################### delete kafka topic token######################################kafka.eagle.topic.token=keadmin####################################### kafka sasl authenticate######################################cluster1.kafka.eagle.sasl.enable=falsecluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXTcluster1.kafka.eagle.sasl.mechanism=SCRAM-SHA-256cluster1.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=falsecluster1.kafka.eagle.sasl.cgroup.topics=//我把 cluster2的都给注释了# 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=falsecluster3.kafka.eagle.ssl.protocol=SSLcluster3.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.ssl.cgroup.enable=falsecluster3.kafka.eagle.ssl.cgroup.topics=####################################### kafka sqlite jdbc driver address######################################//把sqlite 的给注释了 使用下面的 mysql# 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地址 数据库名称为 ke 数据库不用你创建,它会自己创建并且初始化表,但是数据库的账号密码要配置正确kafka.eagle.driver=com.mysql.jdbc.Driverkafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNullkafka.eagle.username=rootkafka.eagle.password=root

3. 启动Kafka-Eagle

需要先把Kafka 环境启动起来

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

chmod +x 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系统中的类是否存在

启动命令 :./ke.sh start

启动如果成功则 可以出现下面的打印

e527623987e075afcbc0521cd9e00f4a.png

访问 http://localhost:8048  

账号:admin

密码:123456

da9b767dde7aa21100ffe2a16ad9523a.png

如果登录不进去,则可能是你没有配置好 数据库等配置,默认Kafka-eagle 使用的sqlit ,我这里配置成 mysql

kafka.eagle.driver=com.mysql.jdbc.Driverkafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNullkafka.eagle.username=rootkafka.eagle.password=root

配置正确后就能看到 数据库会自动创建一个 ke 并且初始化了一些表结构

17eed7039caa6fd5d6831bd507f55e93.png

登录进去

15eb56dd34de8a20a9bd6906791924b2.png

4.集成SpringBoot 模拟发送一些消息

结合SpringBoot 集成Kafka 那一篇创建的 项目 提供一个 接口,该接口模拟发送很多的数据到Kafka 来看看 监控平台

    @GetMapping("testSend")    public void testSend() {        for (int i = 0; i < 100000; i++) {            String msg = "Test-" + UUID.randomUUID().toString();            try {                Thread.sleep(10);            } catch (InterruptedException e) {                e.printStackTrace();            }            kafkaSender.send(msg);        }    }

5. 相关功能介绍

5.1 Topics

Topics 菜单下面有 Create (创建) List  (展示Topic) KSQL(编写像sql一样的查询语句)

5.1.1 List

可以看到我有2个Topic 展示在下面

4d17885733734713d7f1c9867346b921.png

5.1.2 KSQL

可以像写Sql 一样 去查询某个 Topic

7e1917f743787c55edbe63e688d167fe.png

5.1.3 Mock 模拟 发送消息

d88374935150625be913d1fce0959a04.png

5.2 Consumers

Consumers 里展示了 所有的消费者

f92f22584f4926bef4b807e81595b6a6.png

可以看到 Producer 的 指标

b5d9101fd3c6e7744145d3b99a55116c.png

可以看到 Consumer 的 指标

4f0b636e286ae0f9102f38afa166f38f.png

5.3 BScreen 大屏

大屏展示了 一些相信的信息 包括近七天的生产者数据量和 消费者数据量 等等数据

1dabb25a88f60d1ca3abd7ddc5fe5b97.png

5.4  Metrics  监控指标

监控指标菜单 默认是无法 获取到数据的,需要将 Kafka的 JMX 功能开启,开启后 Kafka-Eagle 才能通过这个JMX来获取到 一些指标数据

5.4.1 Kafka 开JMX 功能

只需要把 kafka-server-start.sh 脚本文件第一行 添加 export JMX_PORT=9988

端口随意,要能使用的 ,重启Kafka

24ebb4be7fefcff4b90175c81fe960d4.png

如下 监控指标数据 就有了

3c31f800dfd0b9fbc27a71ae77757f5a.png

5.5 AlarmConsumer 发送报警邮件

可以通过该菜单来配置 发送一些报警 信息 ,我这里就不展开了

总结

本篇主要讲解 Kafka-eagle 监控平台的搭建 ,包括如何下载 安装 以及一些配置参数等的讲解 ,还介绍了一些基本菜单的功能,以及让 Metrics 生效 需要 Kafka 开启JMX 等等 介绍 ,快来尝试尝试吧 !

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值