kafka 监听mysql de_Kafka强大监控工具Kafka Eagle

本文介绍了如何在生产环境中使用Kafka Eagle作为Kafka的监控工具,包括其特性、与其他工具的对比,以及详细的基础环境配置步骤,如时间同步、安装JDK、配置MySQL、设置防火墙和启动Kafka Eagle等。
摘要由CSDN通过智能技术生成

kafka投入生产使用后,需要借助一些管理(监控)工具。目前这类工具有很多种,具体如下表:监控工具特点备注

Kafka Web Console实现brokers、topic列表等监控,展示生产和消费流量图。存在bug,会与生产者、消费者和zookeeper建立大量的连接,导致网络阻塞。

Kafka Manager实现broker级常见的jmx监控,可以对consumer消费进度进行监控,可以web对多个集群进行管理。编译安装耗时,不能设置访问控制,不能配置告警,非常耗内存。

Kafka Eagle实现broker级常见的jmx监控,可以对consumer消费进度进行监控,可以web对多个集群进行管理。安装简单(二进制包解压即用), 可以配置告警(钉钉、微信、email均可),需要数据库(mysql或sqlite)。

Kafka Offset Monitor如果场景是偏重集群管理,则不要选择该项目已经近2年未维护。

JmxTool结合Influxdb和Grafana使用比较繁琐

我们这里选择Kafka Eagle

基础环境准备:

时区调整,时间校准:

# date -R

# timedatectl set-timezone Asia/Shanghai

# yum -y install ntp

# ntpdate ntp1.aliyun.com

安装wget:

# yum install -y wget

关闭selinux:

# vi /etc/sysconfig/selinux

SELINUX=disabled

重启服务器并验证:

# getenforce

Disabled

设置防火墙

[root@node1 ~]# firewall-cmd --zone=public --add-port=8048/tcp --permanent

success

[root@node1 ~]# firewall-cmd --reload

success

设置句柄数等

1、安装JDK[root@node1 opt]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

[root@node1 opt]# java -version

openjdk version "1.8.0_262"

OpenJDK Runtime Environment (build 1.8.0_262-b10)

OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

[root@node1 opt]# vim /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

[root@node1 opt]# source /etc/profile

2、Mysql安装

备注:eagle默认使用sqlite存储,我们这里改成mysql存储[root@node1 ~]# yum -y install wget lrzsz net-tools

[root@node1 ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

[root@node1 ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

[root@node1 ~]# yum -y install mysql-community-server

[root@node1 ~]# systemctl start  mysqld.service

[root@node1 ~]# systemctl status mysqld.service

[root@node1 ~]# systemctl enable mysqld.service

[root@node1 ~]# netstat -anpt | grep 3306

查询root临时密码

[root@node1 ~]# grep "password" /var/log/mysqld.log

2019-02-14T22:34:02.620689Z 1 [Note] A temporary password is generated for root@localhost: &5E%TRUAzrDL

[root@node1 ~]# mysql -u root -p

#root临时密码是&5E%TRUAzrDL

修改root密码:

mysql> alter user 'root'@'localhost' identified by 'root新密码';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

创建数据库eagle:

mysql> create database eagle character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.01 sec)

mysql> use eagle;

Database changed

创建普通用户zabbix,并授权数据库eagle给eagle用户、并允许远程访问:

mysql> create user 'eagle'@'%' identified by 'Mysql@123';

mysql> grant all privileges on eagle.* TO 'eagle'@'%' identified by 'Mysql@123';

mysql> flush privileges;

卸载yum源

[root@node1 ~]# yum -y remove mysql57-community-release-el7-10.noarch

3、安装Eagle

下载路径:https://codeload.github.com/smartloli/kafka-eagle-bin/tar.gz/v2.0.1[root@node1 opt]# cd /opt

[root@node1 opt]# tar -zxvf kafka-eagle-bin-2.0.1.tar.gz

kafka-eagle-bin-2.0.1/

kafka-eagle-bin-2.0.1/kafka-eagle-web-2.0.1-bin.tar.gz

[root@node1 opt]# mv kafka-eagle-bin-2.0.1 kafka-eagle

[root@node1 opt]# cd kafka-eagle

[root@node1 kafka-eagle]# tar zxvf kafka-eagle-web-2.0.1-bin.tar.gz

[root@node1 kafka-eagle]# mv kafka-eagle-web-2.0.1 kafka-eagle-web

[root@node1 opt]# vi /etc/profile

export KE_HOME=/opt/kafka-eagle/kafka-eagle-web

export PATH=$PATH:$KE_HOME/bin

[root@node1 opt]# source /etc/profile

4、编辑Eagle配置文件[root@node1 ~]# vim /opt/kafka-eagle/kafka-eagle-web/conf/system-config.properties

######################################

# multi zookeeper & kafka cluster list

######################################

kafka.eagle.zk.cluster.alias=cluster1,cluster2

cluster1.zk.list=node1:2181,node2:2181,node3:2181

#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.kafka.eagle.broker.size=20

######################################

# zk client thread limit

######################################

kafka.zk.limit.size=25

######################################

# kafka eagle webui port

######################################

kafka.eagle.webui.port=8048

######################################

# kafka offset storage

######################################

cluster1.kafka.eagle.offset.storage=kafka

cluster2.kafka.eagle.offset.storage=zk

######################################

# 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

kafka.eagle.sql.fix.error=true

######################################

# delete kafka topic token

######################################

kafka.eagle.topic.token=keadmin

######################################

# kafka sasl authenticate

######################################

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.ssl.cgroup.enable=false

cluster3.kafka.eagle.ssl.cgroup.topics=

######################################

# kafka sqlite jdbc driver address

######################################

#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

######################################

kafka.eagle.driver=com.mysql.jdbc.Driver

kafka.eagle.url=jdbc:mysql://node1:3306/eagle

kafka.eagle.username=eagle

kafka.eagle.password=Mysql@123

5、启动Eagle[root@node1 ~]# cd /opt/kafka-eagle/kafka-eagle-web/bin/

[root@node1 bin]# chmod +x ke.sh

[root@node1 bin]# ke.sh start

……

Welcome to

__ __    ___     ____    __ __    ___            ______    ___    ______    __     ______

/ //_/   /   |   / __/   / //_/   /   |          / ____/   /   |  / ____/   / /    / ____/

/ ,

/ /| |   / ___ | / __/   / /| |   / ___ |        / /___    / ___ |/ /_/ /   / /___ / /___

/_/ |_|  /_/  |_|/_/     /_/ |_|  /_/  |_|       /_____/   /_/  |_|\____/   /_____//_____/

Version 2.0.1 -- Copyright 2016-2020

*******************************************************************

* Kafka Eagle Service has started success.

* Welcome, Now you can visit 'http://192.168.146.199:8048'

* Account:admin ,Password:123456

*******************************************************************

*  ke.sh [start|status|stop|restart|stats] 

*  https://www.kafka-eagle.org/ 

*******************************************************************

6、访问Eagle

默认用户名admin,密码123456

f9e9df1aea042bfdf5838a2f68414145.png

ee1c5b0294efb776d8cf5cedbfd73c7a.png

f9e9df1aea042bfdf5838a2f68414145.png

a1414649413f71a17699a1659fb676a9.png

f9e9df1aea042bfdf5838a2f68414145.png

3fb00fcee12d80ed42606a281474f63e.png

f9e9df1aea042bfdf5838a2f68414145.png

56f5d98bf345c41faa0386984d5cd31a.png

f9e9df1aea042bfdf5838a2f68414145.png

cdf4099ee3d4da7c71540fe44d871085.png

f9e9df1aea042bfdf5838a2f68414145.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值