[转帖]5、kafka监控工具Kafka-Eagle介绍及使用

kafka,监控,工具,eagle,介绍,使用 · 浏览次数 : 0

小编点评

**内容生成排版** * Welcome, Now you can visit 'http://192.168.10.41:8048' Account:admin ,Password:123456 * <Usage> ke.sh [start|status|stop|restart|stats] </Usage>* * <Usage> https://www.kafka-eagle.org/ </Usage>* * <Usage> </Usage>* * <Usage> </Usage>* * Welcome, Now you can visit 'http://192.168.10.41:8048' Account:admin ,Password:123456 * <Usage> ke.sh [start|status|stop|restart|stats] </Usage>*

正文

https://zhuanlan.zhihu.com/p/628039102

 

 

# Apache Kafka系列文章

1、kafka(2.12-3.0.0)介绍、部署及验证、基准测试

2、java调用kafka api

3、kafka重要概念介紹及示例

4、kafka分区、副本介绍及示例

5、kafka监控工具Kafka-Eagle介绍及使用


本文主要介绍了kafka监控工具Kafka-Eagle的使用。

本文依赖:kafka、zookeeper部署完成。

本分分为三个部分介绍,即Kafka-Eagle介绍、部署和验证。

一、Kafka-Eagle简介

早期,要监控Kafka集群我们可以使用Kafka Monitor以及Kafka Manager,但随着监控的功能要求、性能要求的提高,这些工具已经无法满足。

Kafka Eagle是一款结合了目前大数据Kafka监控工具的特点,重新研发的一块开源免费的Kafka集群优秀的监控工具。它可以非常方便的监控生产环境中的offset、lag变化、partition分布、owner等。

官网地址:

二、安装Kafka-Eagle

1、开启Kafka JMX端口

JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。很多的一些软件都提供了JMX接口,来实现一些管理、监控功能。 - 开启Kafka JMX 在启动Kafka的脚本前,添加:

cd /usr/local/bigdata/kafka_2.12-3.0.0/bin

export JMX_PORT=9988; nohup kafka-server-start.sh /usr/local/bigdata/kafka_2.12-3.0.0/config/server.properties &
  • 修改一键启动脚本,增加export JMX_PORT=9988 ,具体如下:
[alanchan@server1 onekeystart]$ cat kafkaCluster.sh 


#!/bin/sh
case $1 in 
"start"){
for host in server1 server2 server3 
do
  ssh $host "source /etc/profile;export JMX_PORT=9988; nohup ${KAFKA_HOME}/bin/kafka-server-start.sh ${KAFKA_HOME}/config/server.properties > /dev/null 2>&1 &"   
  echo "$host kafka is running..." 
  sleep 1.5s
done  
};;

"stop"){
for host in server1 server2 server3
do
  ssh $host "source /etc/profile; nohup ${KAFKA_HOME}/bin/kafka-server-stop.sh > /dev/null  2>&1 &"   
  echo "$host kafka is stopping..."  
  sleep 1.5s
done
};;
esac

2、安装Kafka-Eagle

1)、 安装JDK,并配置好JAVA_HOME。

2)、解压

将kafka_eagle上传,并解压到 /usr/local/bigdata 目录中

cd /usr/local/tools/
tar -xvzf kafka-eagle-bin-3.0.1.tar.gz -C /usr/local/bigdata
[alanchan@server1 tools]$ tar -xvzf kafka-eagle-bin-3.0.1.tar.gz -C /usr/local/bigdata
kafka-eagle-bin-3.0.1/
kafka-eagle-bin-3.0.1/efak-web-3.0.1-bin.tar.gz

cd /usr/local/bigdata/kafka-eagle-bin-3.0.1
tar -xvzf efak-web-3.0.1-bin.tar.gz

[alanchan@server1 kafka-eagle-bin-3.0.1]$ ll
总用量 87844
drwxr-xr-x 8 alanchan root     4096 1月  16 07:50 efak-web-3.0.1
-rw-r--r-- 1 alanchan root 89947836 9月   6 04:45 efak-web-3.0.1-bin.tar.gz

[alanchan@server1 kafka-eagle-bin-3.0.1]$ cd efak-web-3.0.1
[alanchan@server1 efak-web-3.0.1]$ ll
总用量 24
drwxr-xr-x 2 alanchan root 4096 1月  16 07:50 bin
drwxr-xr-x 2 alanchan root 4096 1月  16 07:50 conf
drwxr-xr-x 2 alanchan root 4096 9月  12 2021 db
drwxr-xr-x 2 alanchan root 4096 1月  16 07:50 font
drwxr-xr-x 9 alanchan root 4096 2月  23 2022 kms
drwxr-xr-x 2 alanchan root 4096 4月   1 2022 logs

3)、配置 kafka_eagle 环境变量。

vim /etc/profile

export KE_HOME=/usr/local/bigdata/kafka-eagle-bin-3.0.1/efak-web-3.0.1
export PATH=$PATH:$KE_HOME/bin

 source /etc/profile

4)、 配置 kafka_eagle

使用vi打开conf目录下的system-config.properties vim conf/system-config.properties

# 修改第4行,配置kafka集群别名
kafka.eagle.zk.cluster.alias=cluster1
# 修改第5行,配置ZK集群地址
efak.zk.cluster.alias=cluster1
cluster1.zk.list=server1:2118,server2:2118,server3:2118
# 注释第6行
#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181

# 开启mys
efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://192.168.10.44:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=root
efak.password=888888

完整配置文件

######################################
# multi zookeeper & kafka cluster list
# Settings prefixed with 'kafka.eagle.' will be deprecated, use 'efak.' instead
######################################
efak.zk.cluster.alias=cluster1
cluster1.zk.list=server1:2118,server2:2118,server3:2118
#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12: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.efak.broker.size=20

######################################
# zk client thread limit
######################################
kafka.zk.limit.size=16

######################################
# EFAK webui port
######################################
efak.webui.port=8048

######################################
# EFAK enable distributed
######################################
efak.distributed.enable=false
efak.cluster.mode.status=master
efak.worknode.master.host=localhost
efak.worknode.port=8085

######################################
# kafka jmx acl and ssl authenticate
######################################
cluster1.efak.jmx.acl=false
cluster1.efak.jmx.user=keadmin
cluster1.efak.jmx.password=keadmin123
cluster1.efak.jmx.ssl=false
cluster1.efak.jmx.truststore.location=/data/ssl/certificates/kafka.truststore
cluster1.efak.jmx.truststore.password=ke123456

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

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

######################################
# kafka metrics, 15 days by default
######################################
efak.metrics.charts=true
efak.metrics.retain=15

######################################
# kafka sql topic records max
######################################
efak.sql.topic.records.max=5000
efak.sql.topic.preview.records.max=10

######################################
# delete kafka topic token
######################################
efak.topic.token=keadmin

######################################
# kafka sasl authenticate
######################################
cluster1.efak.sasl.enable=false
cluster1.efak.sasl.protocol=SASL_PLAINTEXT
cluster1.efak.sasl.mechanism=SCRAM-SHA-256
cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle";
cluster1.efak.sasl.client.id=
cluster1.efak.blacklist.topics=
cluster1.efak.sasl.cgroup.enable=false
cluster1.efak.sasl.cgroup.topics=
cluster2.efak.sasl.enable=false
cluster2.efak.sasl.protocol=SASL_PLAINTEXT
cluster2.efak.sasl.mechanism=PLAIN
cluster2.efak.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle";
cluster2.efak.sasl.client.id=
cluster2.efak.blacklist.topics=
cluster2.efak.sasl.cgroup.enable=false
cluster2.efak.sasl.cgroup.topics=

######################################
# kafka ssl authenticate
######################################
cluster3.efak.ssl.enable=false
cluster3.efak.ssl.protocol=SSL
cluster3.efak.ssl.truststore.location=
cluster3.efak.ssl.truststore.password=
cluster3.efak.ssl.keystore.location=
cluster3.efak.ssl.keystore.password=
cluster3.efak.ssl.key.password=
cluster3.efak.ssl.endpoint.identification.algorithm=https
cluster3.efak.blacklist.topics=
cluster3.efak.ssl.cgroup.enable=false
cluster3.efak.ssl.cgroup.topics=

######################################
# kafka sqlite jdbc driver address
######################################
#efak.driver=org.sqlite.JDBC
#efak.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
#efak.username=root
#efak.password=www.kafka-eagle.org

######################################
# kafka mysql jdbc driver address
######################################
efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://192.168.10.44:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=root
efak.password=888888

5)、启动

[alanchan@server1 bin]$ ke.sh
Usage: ./ke.sh {start|stop|restart|status|stats|find|gc|jdk|version|sdate|cluster}


ke.sh start
[2023-01-16 08:05:35] INFO: Port Progress: [##################################################] | 100%
[2023-01-16 08:05:38] INFO: Config Progress: [##################################################] | 100%
[2023-01-16 08:05:41] INFO: Startup Progress: [##################################################] | 100%
[2023-01-16 08:05:31] INFO: Status Code[0]
[2023-01-16 08:05:31] INFO: [Job done!]
Welcome to
    ______    ______    ___     __ __
   / ____/   / ____/   /   |   / //_/
  / __/     / /_      / /| |  / ,<   
 / /___    / __/     / ___ | / /| |  
/_____/   /_/       /_/  |_|/_/ |_|  
( Eagle For Apache Kafka® )

Version v3.0.1 -- Copyright 2016-2022
*******************************************************************
* EFAK Service has started success.
* Welcome, Now you can visit 'http://192.168.10.41:8048'
* Account:admin ,Password:123456
*******************************************************************
* <Usage> ke.sh [start|status|stop|restart|stats] </Usage>
* <Usage> https://www.kafka-eagle.org/ </Usage>
*******************************************************************
自己创建的用户alanchan,密码123456

三、验证

浏览器中输入地址:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上,完成了kafka监控工具Kafka-Eagle介绍及使用。

与[转帖]5、kafka监控工具Kafka-Eagle介绍及使用相似的内容:

[转帖]5、kafka监控工具Kafka-Eagle介绍及使用

https://zhuanlan.zhihu.com/p/628039102 # Apache Kafka系列文章 1、kafka(2.12-3.0.0)介绍、部署及验证、基准测试 2、java调用kafka api 3、kafka重要概念介紹及示例 4、kafka分区、副本介绍及示例 5、kafk

[转帖]5、docker 访问仓库

很早之前看的文章,进行了简单的排版整理,找不到源地址了,如有侵权,请联系删除。 仓库(Repository)是集中存放镜像的地方。 一个容易混淆的概念是注册服务器(Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以

[转帖]5个相见恨晚的Linux命令

https://www.sohu.com/a/295860653_487482 编者按:说到Linux命令相信大家都不陌生,就连前端现在也要经常在 terminal 敲一些 node,gulp等命令,本文详细介绍了五个相见恨晚,能极大提高工作效率的命令。 tldr(命令手册) 作为一个开发人员,经常

[转帖]5个相见恨晚的Linux命令

https://www.sohu.com/a/295860653_487482 编者按:说到Linux命令相信大家都不陌生,就连前端现在也要经常在 terminal 敲一些 node,gulp等命令,本文详细介绍了五个相见恨晚,能极大提高工作效率的命令。 tldr(命令手册) 作为一个开发人员,经常

[转帖]5分钟学会这种更高效的Redis数据删除方式

https://ost.51cto.com/posts/12513 简述 我们知道,Del命令能删除数据,除此之外,数据在Redis中,还会以哪种方式被删除呢?在Redis内存满一定会返回OOM错误?Key到达过期时间就立即删除?删除大Key会影响性能吗?下面,咱们一起探讨。 同步和异步删除 1.D

[转帖]5.Nginx常遇问题入坑出坑整理

https://cloud.tencent.com/developer/article/2129777?areaSource=105001.10&traceId=zTlrks12HlQGZpAUZE_y4 0x00 Nginx 安装与编译 1.在Ubuntu系统上进行Nginx源码编译安装时指定了–

[转帖]5.2. 使用HINT

¶ 本章节包含以下内容: 概述 HINT的功能 HINT的使用 配置参数 示例 注意 5.2.1. 概述 ¶ KingbaseES使用的是基于成本的优化器。优化器会估计SQL语句的每个可能的执行计划的成本,然后选择成本最低的执行计划来执行。因为优化器不计算数据的某些属性,比如列之间的相关性,优化器有

[转帖]5.3. 调整性能参数

https://help.kingbase.com.cn/v8/perfor/sql-optimization/sql-optimization-13.html SQL性能相关的参数较多,具体见下文。在使用时需注意作用范围,可以考虑通过HINT来指定,尽量缩小影响范围。 成本参数 节点开关参数 多表

[转帖]5. Tikv安装部署

5. Tikv安装部署 5.1. 概述 TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备

[转帖]ESXi5.5升级到ESXi6.7

之前一直以为ESXi升级必须得 一个版本一个版本升级,不能跨版本,做了个实验结果证实从ESXi5.5可以升级到6.7。该实验是虚拟了一台ESXi上面并没有跑虚机,生产环境进行升级时,能将虚机迁移则迁移(就算升级失败大不了重装,不至于丢失数据)。 1、ESXi的介质分为两类,以6.7为例:VMware