20.23 20.24 20.25 告警系統郵件引擎20.26 運行告警系統
阿新 • • 發佈:2018-04-25
十七周五次課(4月24日)20.23 20.24 20.25 告警系統郵件引擎
把之前zabbix設置好的郵件拷貝到mail目錄下
cd /usr/local/sbin/mon/mail
vim mail.sh 這個腳本的目的是做告警收斂的,就是服務沒有恢復超過一定時間才會告警
log=$1
t_s=
t_s2=
if [ ! -f /tmp/$log ] 如果 沒有這個文件
then
echo $t_s2 > /tmp/$log 創建這個文件
fi
t_s2=
echo $t_s>>/tmp/$log
v=$[$t_s-$t_s2]
echo $v
if [ $v -gt 3600 ]
then
./mail.py $1 $2 $3
echo "0" > /tmp/$log.txt 這個叫計數器
else
if [ ! -f /tmp/$log.txt ] 當這個文件不存在
then
echo "0" > /tmp/$log.txt 就創建這個文件,數值為0
fi
nu=
nu2=$[$nu+1]
echo $nu2>/tmp/$log.txt
if [ $nu2 -gt 10 ]
then
./mail.py $1 "trouble continue 10 min $2" "$3" 10分鐘發郵件告警
echo "0" > /tmp/$log.txt 告警後就重新設置這個文件的值為0,重新計算
fi
fi
20.26 運行告警系統
在生產環境中,執行需寫入crontab
運行
crontab -e
寫入內容,定義到每分鐘,進入目錄再執行腳本
測試就直接運行腳本,但有錯誤,是因為502不存在沒辦法執行,所以不需要監控502
取消監控502,to_mon_502=1更改為to_mon_502=0
要想運行成功,先把寫入日誌一行註釋掉
這裏只執行load.sh
把之前zabbix設置好的郵件拷貝到mail目錄下
cd /usr/local/sbin/mon/mail
vim mail.sh 這個腳本的目的是做告警收斂的,就是服務沒有恢復超過一定時間才會告警
log=$1
t_s=
date +%s
當前的時間戳t_s2=
date -d "2 hours ago" +%s
2個小時以 前的時間戳if [ ! -f /tmp/$log ] 如果 沒有這個文件
then
echo $t_s2 > /tmp/$log 創建這個文件
fi
t_s2=
tail -1 /tmp/$log|awk ‘{print $1}‘
v=$[$t_s-$t_s2]
echo $v
if [ $v -gt 3600 ]
then
./mail.py $1 $2 $3
echo "0" > /tmp/$log.txt 這個叫計數器
else
if [ ! -f /tmp/$log.txt ] 當這個文件不存在
then
echo "0" > /tmp/$log.txt 就創建這個文件,數值為0
fi
nu=
cat /tmp/$log.txt
nu2=$[$nu+1]
echo $nu2>/tmp/$log.txt
if [ $nu2 -gt 10 ]
then
echo "0" > /tmp/$log.txt 告警後就重新設置這個文件的值為0,重新計算
fi
fi
20.26 運行告警系統
在生產環境中,執行需寫入crontab
運行
crontab -e
寫入內容,定義到每分鐘,進入目錄再執行腳本
測試就直接運行腳本,但有錯誤,是因為502不存在沒辦法執行,所以不需要監控502
取消監控502,to_mon_502=1更改為to_mon_502=0
要想運行成功,先把寫入日誌一行註釋掉
這裏只執行load.sh
20.23 20.24 20.25 告警系統郵件引擎20.26 運行告警系統