一.开启Kafka监控
开启JMX工具(Orcle提供)
vim kafka-server-start.sh
添加export JMX_PORT=9581
启动kafka
[root@Linux122 bin]# ss -nelp //查看所有网络端口信息
[root@Linux122 bin]# ss -nelp | grep 9581
u_str LISTEN 0 10 @/tmp/dbus-hhAEH1DO 29581 * 0 users:(("gdm",pid=1180,fd=9)) <->
tcp LISTEN 0 50 [::]:9581 [::]:* users:(("java",pid=9592,fd=81)) ino:120451 sk:ffff9826b77dc200 v6only:0 <->
[root@Linux122 bin]#
[root@Linux122 bin]# jps
10192 Jps
1237 -- process information unavailable
9592 Kafka
8794 QuorumPeerMain
以上表明端口启动起来了,开启监控信息,通过这个端口可以获取JMX服务相关数据
我们也可以通过JDK提供的JConsole工具连接到JMX端口
jconsole
我们创建了主题信息后回在相应的下边看到主题分区相关信息
[root@Linux122 bin]# kafka-topics.sh --zookeeper Linux121:2181/myKafka --describe --topic tp_demo_01
Topic:tp_demo_01 PartitionCount:3 ReplicationFactor:3 Configs:
Topic: tp_demo_01 Partition: 0 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2
Topic: tp_demo_01 Partition: 1 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3
Topic: tp_demo_01 Partition: 2 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1
根据我们在上边创建的主题分区情况,可知在我们连接的当前节点上存在3个分区,对应的可能是leader也可能是foller分区
更多指标信息请link查询https://kafka.apache.org/10/documentation.html#monitoring
我们想kafka中发送些消息,下边展示的是每秒流入Kafka中的字节数(可能是计算的每秒流入速率待验证)
流出的字节数为0
每秒过来多少消息
当然这些指标也可以通过Jdk提供的API编写程序获得
二.Kafka Eagle工具使用
下载安装包
https://www.kafka-eagle.org
解压
配置环境变量
##KAFKA Eagle
export KE_HOME=/opt/lagou/servers/kafka-eagle/kafka-eagle-web/target/test/kafka-eagle-web-2.0.1
export PATH=$PATH:$KE_HOME/bin
查看Kafka Eagle状态
[root@Linux122 kafka-eagle-web-2.0.1]# ke.sh status
[2021-12-04 12:40:03] INFO : Kafka Eagle has stopped, [563715] .
You have new mail in /var/spool/mail/root
进入kafka Eagle文件夹配置它
进入conf
vim system-config.properties
[root@Linux122 conf]# cat system-config.properties
######################################
# multi zookeeper & kafka cluster list
######################################
#此处编辑多个集群名(,隔开例如:kafka.eagle.zk.cluster.alias=cluster1,cluster2,cluster3,cluster4)
kafka.eagle.zk.cluster.alias=cluster1
#注意该处的配置需要和kafka中zookeeper配置保持一致
cluster1.zk.list=Linux121:2181,Linux122:2181/myKafka
#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.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.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:/root/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://1
配置Kafka的JMX
在kafka-run-class.sh里边增加配置
JMX_PORT=9581
启动kafka eagle
ke.sh start
以上表明启动成功
按照默认给的网址,用户名,密码进入kafka eagle控制显示界面
具体关于Kafka eagle使用稍后整理专篇介绍.