设为首页 加入收藏

TOP

kafka 监控工具
2019-01-05 02:24:23 】 浏览:66
Tags:kafka 监控 工具

一 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 使用总结

-n DEV : 网络接口统计信息。
-n EDEV : 网络接口错误。
-n IP : IP数据报统计信息。
-n EIP : IP错误统计信息。
-n TCP : TCP统计信息。
-n ETCP : TCP错误统计信息。
-n SOCK : 套接字使用。n DEV : 网络接口统计信息。
-n EDEV : 网络接口错误。
-n IP : IP数据报统计信息。
-n EIP : IP错误统计信息。
-n TCP : TCP统计信息。
-n ETCP : TCP错误统计信息。
-n SOCK : 套接字使用。

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

默认监控: sar 5 5     //  CPU和IOWAIT统计状态 
(1) sar -b 5 5        // IO传送速率
(2) sar -B 5 5        // 页交换速率
(3) sar -c 5 5        // 进程创建的速率
(4) sar -d 5 5        // 块设备的活跃信息
(5) sar -n DEV 5 5    // 网路设备的状态信息
(6) sar -n SOCK 5 5   // SOCK的使用情况
(7) sar -n ALL 5 5    // 所有的网络状态信息
(8) sar -P ALL 5 5    // 每颗CPU的使用状态信息和IOWAIT统计状态 
(9) sar -q 5 5        // 队列的长度(等待运行的进程数)和负载的状态
(10) sar -r 5 5       // 内存和swap空间使用情况
(11) sar -R 5 5       // 内存的统计信息(内存页的分配和释放、系统每秒作为BUFFER使用内存页、每秒被cache到的内存页)
(12) sar -u 5 5       // CPU的使用情况和IOWAIT信息(同默认监控)
(13) sar -v 5 5       // inode, file and other kernel tablesd的状态信息
(14) sar -w 5 5       // 每秒上下文交换的数目
(15) sar -W 5 5       // SWAP交换的统计信息(监控状态同iostat 的si so)
(16) sar -x 2906 5 5  // sar 5 5     //  CPU和IOWAIT统计状态 
(1) sar -b 5 5        // IO传送速率
(2) sar -B 5 5        // 页交换速率
(3) sar -c 5 5        // 进程创建的速率
(4) sar -d 5 5        // 块设备的活跃信息
(5) sar -n DEV 5 5    // 网路设备的状态信息
(6) sar -n SOCK 5 5   // SOCK的使用情况
(7) sar -n ALL 5 5    // 所有的网络状态信息
(8) sar -P ALL 5 5    // 每颗CPU的使用状态信息和IOWAIT统计状态 
(9) sar -q 5 5        // 队列的长度(等待运行的进程数)和负载的状态
(10) sar -r 5 5       // 内存和swap空间使用情况
(11) sar -R 5 5       // 内存的统计信息(内存页的分配和释放、系统每秒作为BUFFER使用内存页、每秒被cache到的内存页)
(12) sar -u 5 5       // CPU的使用情况和IOWAIT信息(同默认监控)
(13) sar -v 5 5       // inode, file and other kernel tablesd的状态信息
(14) sar -w 5 5       // 每秒上下文交换的数目
(15) sar -W 5 5       // SWAP交换的统计信息(监控状态同iostat 的si so)
(16) sar -x 2906 5 5  //
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇kafka分区原理图 下一篇kafka参数整理

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目