您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何使用shell寫告警次數控制及恢復的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
代碼如下:
#!/bin/bash
if [ $succ_ping -gt $((ping_count-1)) ];then
if [ -f ./alarm_file/alarm_$host ];then
rm -rf ./alarm_file/alarm_$host
#發送故障消除短信通知--調用insert_table
messages="$host服務器通迅恢復正常`date "+%Y%m%d %H:%M:%S"`"
echo "$messages" >>./log/ping_err_recover.log
insert_table
else
echo "本次檢測結果---->$host服務器ping檢測正常"
echo "`date "+%Y%m%d %H:%M:%S"`--->$host服務器ping檢測正常,ping次數$ping_count,接收$succ_ping" >>./log/ping_log
fi
else
echo "本次檢測結果---->$host服務器有丟包現象,丟包率為:$loss_ping"
messages="`date "+%Y%m%d %H:%M:%S"`--->$host服務器有丟包現象,丟包率為:$loss_ping"
#對警次數進行處理,超過2次將不告警
#格式host a(告警次數)
#已經出現告警的次數加1
echo "告警服務器為$host"
if [ -f ./alarm_file/alarm_$host ];then
#取出當前的告警次數并加1
a=`awk '{print$2}' ./alarm_file/alarm_$host`
b=$(($a+1))
echo "$host $b" >./alarm_file/alarm_$host
alarm_count=`awk '{print$2}' ./alarm_file/alarm_$host`
if [ $alarm_count -gt $sms_count ];then
echo "超過2次不發送短信"
echo "`date "+%Y%m%d %H:%M:%S"`--->$host服務器有丟包現象,接收$succ_ping,丟包率為:$loss_ping,超過二次不發送。" >>./log/ping_err_log
else
#未超過2次調用insert_table函數發送短信
echo "未超過2次"
echo "`date "+%Y%m%d %H:%M:%S"`--->$host服務器有丟包現象,接收$succ_ping,丟包率為:$loss_ping">>./log/ping_err_log
insert_table
fi
else
#第一次告警
echo "第一次告警"
echo "$host 1" >./alarm_file/alarm_$host
insert_table
echo "`date "+%Y%m%d %H:%M:%S"`--->$host服務器有丟包現象,接收$succ_ping,丟包率為:$loss_ping" >>./log/ping_err_log
fi
fi
done
感謝各位的閱讀!關于“如何使用shell寫告警次數控制及恢復”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。