脚本监控网络状态&日志归档整理(V2)

    最近为检测***环境网络状态是否稳定,没有使用监控zabbix等监控工具,为方便快捷,使用脚本实现网络监控,并输出日志归档整理,方便后续排查。

    在上次基础上,新增了微信告警,并有收敛效果,只有在初次异常时告警,恢复后发送恢复通知,也可以根据具体需求设置短信与邮件告警。

#!/bin/bash
IP=10.234.100.100
dir="/netdir/"
if [ ! -d ${dir} ];then
    mkdir -p ${dir}
fi
echo 1 > ${dir}ping.lock
while true
do
    Time=`date +%F`
    TIME="${Time} 23:59"
    if [ "${data}" == "${TIME}" ];then
        mkdir ${dir}${Time} && mv ${dir}ping2.log ${dir}${Time}-ping2.log
        mv ${dir}${Time}-ping2.log ${dir}${Time}
    fi
    find ${dir} -mtime +7 -name "*-ping2.log" -exec rm -rf {} \;
    data=`date +%F' '%H:%M`
    data1=`date +%F' '%H:%M:%S`
    echo "------------${data1}---------------">>${dir}ping2.log
    ping -c 10 ${IP} >>${dir}ping2.log
    if [ $? -eq 1 ];then
        STAT=`cat ${dir}ping.lock`
        if [ ${STAT} -eq 1 ];then
            /bin/bash /DATA/oracle/netdir/weixin.sh Username Ping "Ping from PDC(172.16.10.10) ping 公有云(10.234.100.100)中断,请检查深信服***! \n TIME:${data1}"
            echo 0 > ${dir}ping.lock
        else
            continue
        fi
    else
        STAT=`cat ${dir}ping.lock`
        if [ ${STAT} -eq 0 ];then
            /bin/bash /DATA/oracle/netdir/GFweixin.sh xuel GLP "GLP from PDC(172.16.10.10) ping 公有云(10.234.100.100)恢复 \n TIME:${data1}"
            echo 1 > ${dir}ping.lock
        else
            continue
        fi
    fi
done