天天看点

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

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

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

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

1.1 官网下载

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

直接点击下载

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

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

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

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

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

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

访问

http://localhost:8048

账号:admin

密码:123456

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

如果登录不进去,则可能是你没有配置好 数据库等配置,默认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 并且初始化了一些表结构

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

登录进去

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

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 展示在下面

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)
5.1.2 KSQL

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

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)
5.1.3 Mock 模拟 发送消息
kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

5.2 Consumers

Consumers 里展示了 所有的消费者
kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

可以看到 Producer 的 指标

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

可以看到 Consumer 的 指标

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

5.3 BScreen 大屏

大屏展示了 一些相信的信息 包括近七天的生产者数据量和 消费者数据量 等等数据
kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

5.4  Metrics  监控指标

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

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

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

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

如下 监控指标数据 就有了

kafka搭建_Kafka 监控平台搭建(KafkaEagle)Kafka 监控平台搭建(Kafka-Eagle)

5.5 AlarmConsumer 发送报警邮件

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

总结

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

继续阅读