版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hdyrz/article/details/83385045
kafka的监控好像有些开源项目支持,但是本人有点懒,不想下包搭建,kafka各种命令也比较齐全,所以写了个脚本,持续监控某topic每10s 新增的数据量偏移,以及LAG的变化:
#!/bin/bash
echo '每10s:TOPIC: xx'
echo 'TIME OLD NEW INCRESE LAGAll'
oldoffsetAll=0
while(true)do
kafka-consumer-groups.sh --bootstrap-server $BROKER --describe --new-consumer --group XXConsumerGroupName | grep 'consumer-' > a.txt
eval $(awk '{awkArray_logoffset[$3]=$5;awkArray_lag[$3]=$6}END{for (ia in awkArray_logoffset) print "NEW_LOG_END_OFFSET["ia"]="awkArray_logoffset[ia];for (ib in awkArray_lag) print "NEW_LAG["ib"]="awkArray_lag[ib]}' a.txt)
offsetAll=0
for offset in ${NEW_LOG_END_OFFSET[@]}
do
offsetAll=$((${offsetAll}+${offset}))
done
lagAll=0
for lag in ${NEW_LAG[@]}
do
lagAll=$((${lagAll}+${lag}))
done
echo `date '+%H:%M:%S'` ${oldoffsetAll} ${offsetAll} $((${offsetAll}-${oldoffsetAll})) ${lagAll}
oldoffsetAll=${offsetAll}
sleep 10
done