1. 程式人生 > >腳本監控網絡狀態,輸出日誌並歸檔(V2)

腳本監控網絡狀態,輸出日誌並歸檔(V2)

shell 監控 告警

腳本監控網絡狀態&日誌歸檔整理(V2)

最近為檢測VPN環境網絡狀態是否穩定,沒有使用監控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)中斷,請檢查深信服VPN! \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


本文出自 “KaliArch” 博客,請務必保留此出處http://kaliarch.blog.51cto.com/8966921/1930096

腳本監控網絡狀態,輸出日誌並歸檔(V2)