由于业务端日志采集格式不规范,经常会产生各种异常导致flume停止工作,如果对这些参数格式一一进行校验,影响采集速度,日志数据有一定的容错性。编一个一个脚本,不断监控flume运行状况,遇到异常,自动重启flume。
#!/bin/bash
export FLUME_HOME=/opt/flume
while true
do
pc=`ps -ef | grep kafka-flume-hdfs.conf | grep -v "grep" | wc -l`
current_time=$(date "+%Y-%m-%d %H:%M:%S")
if [[ $pc -lt 1 ]]
then
echo " ${current_time} detected no flume process.... preparing to launch flume agent...... "
nohup ${FLUME_HOME}/bin/flume-ng agent --conf-file ${FLUME_HOME}/conf/kafka-flume-hdfs.conf --name a1 -Dflume.root.logger=INFO,LOGFILE >${FLUME_HOME}/flume.log 2>&1 &
else
echo "${current_time} detected flume process number is : $pc "
fi
sleep 30m
done
以守护线程的方式启动脚本
nohup check_flume.sh &
该脚本旨在解决日志采集工具Flume因日志格式异常而停止工作的问题。通过监控Flume进程状态,当检测到无Flume进程时,脚本将自动重启Flume,确保日志采集的连续性。此方案减少了手动干预,提升了系统的稳定性。
340

被折叠的 条评论
为什么被折叠?



