欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > Shell控监Kafka积压

Shell控监Kafka积压

2025/5/5 9:13:43 来源:https://blog.csdn.net/docsz/article/details/145204673  浏览:    关键词:Shell控监Kafka积压

1、获取Kafka消息堆积情况

vi check-kafka-lag.sh

#!/bin/bashTOPIC="total_random"
GROUP_ID="etl-dw"
BOOTSTRAP_SERVER="node-01:9092,node-02:9092,node-03:9092"# 检查第一个参数是否为数字
if ! [[ $1 =~ ^[0-9]+$ ]]; thenecho "错误: 传入参数必须是数字" >&2exit 1
fi# 获取LAG信息
LAG_INFO=`sh /data/app/kafka/bin/kafka-consumer-groups.sh --bootstrap-server $BOOTSTRAP_SERVER --group $GROUP_ID --describe | grep $TOPIC | awk -F " " '{print $6}'`# 初始化LAG总和为0
total_lag=0for lag in ${$LAG_INFO[@]};
dototal_lag=$(($total_lag + $lag))
done# 判断消息积压情况,是否重启程序
if [ $total_lag -gt $1 ]; then echo "$(date +"%Y-%m-%d %H:%M:%S") Kafka Topic " $TOPIC " IN GROUP " $GROUP_ID " 消息堆积总量为:" $total_lag " 大于 " $1 ",停止DW模块"sh ./stop-dwkudu.sh# 判断是否执行成功if [ $? -eq 0 ]; then sh ./start-dwkudu.shecho "$(date +"%Y-%m-%d %H:%M:%S") 启动DW模块完成"elseecho "$(date +"%Y-%m-%d %H:%M:%S") 停止DW模块失败"fielseecho "$(date +"%Y-%m-%d %H:%M:%S") Kafka Topic " $TOPIC " IN GROUP " $GROUP_ID " 消息堆积总量为:" $total_lag " 小于 " $1
fi

2、创建定时任务

每隔1小时,执行一次

0 */1 * * * /data/app/etl-dw/shell/check-kafka-lag.sh 100000 >> /data/logs/etl-dw/check-kafka-lag.log 2>&1 &

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词