Kafka监控与管理指南

   日期:2024-12-26    作者:b952926 移动:http://oml01z.riyuangf.com/mobile/quote/46515.html

一 kafka某个offset的监控工具


(1).开源社区有相应的组件进行监控


a.下载 kafka offset监控 (地址链接)
https://pan.baidu.com/s/1sj0YERV  (如果失效,可以上社区搜索)

b. 解压后发现KafkaOffsetMonitor-assembly-0.2.1.jar,即为监控组件


c.编写脚本(可定时启动)


KafkaOffsetMonitor-assembly-0.2.1.jar


vim kafkaOffsetMonitor.sh
#!  /bin/bash

 

java -cp KafkaOffsetMonitor-assembly-0.2.1.jar  

com.quantifind.kafka.offsetapp.OffsetGetterWeb  
–offsetStorage kafka 
–zk zk-server1,zk-server2  
–port 8080  
–refresh 10.seconds       #refresh per 10s


–retain 2.days






(2) 利用kafka命令(每10s监控一次)


vim kafkaOffsetMonitor.sh
 #! /bin/bash

a=0
while true
do

kafka-run-class.sh kafka.tools.GetOffsetShell --topic test --time -1 --broker-list  hadoop:9092,spark:9092
a=$(($a+1))
echo "=========== The ${a}th print kafka offset ==========="
sleep 10s

done


二 .再平衡kafka topic各分区的partition 
均衡topic的partition的leader到各个节点,使每个broker的负载能够均衡承担,增加稳定性,可用性(特别适用于某些broker重新回复到ISR中时,进行topic的各partitions leader的均衡分布


同时,与运行该工具前相比,Leader的分配更均匀
$KAFKA_HOME/bin/kafka-preferred-replica-election.sh  --zookeeper    hadoop:2181,spark:2181/kafka10



三.验证所指定的一个或多个Topic下每个Partition对应的所有Replica是否都同步

此命令也可以监控offset
opt/kafka_2.11-0.10.0.0/bin/kafka-replica-verification.sh  --broker-list  hadoop:9092,spark:9092    --topic-white-list  test








opt/kafka_2.11-0.10.0.0/bin/kafka-replica-verification.sh  --broker-list  hadoop:9092,spark:9092   --topic      test




四 .收集当前topic的某时间段的数据


/home/sznongfu/opt/kafka_2.11-0.10.0.0/bin/kafka-console-consumer.sh  --zookeeper hadoop:2181,spark:2181/kafka10   --topic test   >>/tmp/kafkaRM-7.1.dat &

 

 

五.linux  监控 IO,NIC  ,TOP

1.IOSTAT  -x   时间间隔(s)  次数

 iostat  -x 1 10

 

2.SAR 监控网络流量

#sar -n选项使用6个不同的开关:DEV,EDEV,NFS,NFSD,SOCK,IP,EIP,ICMP,EICMP,TCP,ETCP,UDP,SOCK6,IP6,EIP6,ICMP6,EICMP6和UDP6 ,DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。 

 2.1:sar -n DEV 1 1: 每间隔1秒统计一次,总计统计1次,下面的average是在多次统计后的平均值

            #IFACE 本地网卡接口的名称

            #rxpck/s 每秒钟接受的数据包

            #txpck/s 每秒钟发送的数据库

            #rxKB/S 每秒钟接受的数据包大小,单位为KB

            #txKB/S 每秒钟发送的数据包大小,单位为KB

             #rxcmp/s 每秒钟接受的压缩数据包

             #txcmp/s 每秒钟发送的压缩包

             #rxmcst/s 每秒钟接收的多播数据包    

    2..2:sar -n EDEV  1 1  #统计网络设备通信失败信息:             

             #IFACE 网卡名称
 
            #rxerr/s 每秒钟接收到的损坏的数据包
 
            #txerr/s 每秒钟发送的数据包错误数
 
            #coll/s 当发送数据包时候,每秒钟发生的冲撞(collisions)数,这个是在半双工模式下才有
 
            #rxdrop/s 当由于缓冲区满的时候,网卡设备接收端每秒钟丢掉的网络包的数目
 
            #txdrop/s 当由于缓冲区满的时候,网络设备发送端每秒钟丢掉的网络包的数目
 
            #txcarr/s  当发送数据包的时候,每秒钟载波错误发生的次数
 
            #rxfram   在接收数据包的时候,每秒钟发生的帧对其错误的次数
 
            #rxfifo    在接收数据包的时候,每秒钟缓冲区溢出的错误发生的次数
 
            #txfifo    在发生数据包 的时候,每秒钟缓冲区溢出的错误发生的次数
 

       2.3:sar -n SOCK 1 1  #统计socket连接信息

             #totsck 当前被使用的socket总数


            #tcpsck 当前正在被使用的TCP的socket总数


            #udpsck  当前正在被使用的UDP的socket总数


            #rawsck 当前正在被使用于RAW的skcket总数


            #if-frag  当前的IP分片的数目


            #tcp-tw TCP套接字中处于TIME-WAIT状态的连接数量

 

########如果你使用FULL关键字,相当于上述DEV、EDEV和SOCK三者的综合 

       2.4:sar -n TCP 1 3 #TCP连接的统计

                #active/s 新的主动连接

                #passive/s 新的被动连接

                #iseg/s 接受的段

                #oseg/s 输出的段

        1.10.5:sar -n 使用总结

      1.10.6:常用命令汇总,因版本和平台不同,有部分命令可能没有或显示结果不一致

 


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号