告警系統監控項目
第一個load.sh是必需要有的,由於在主腳本中已經定義了任何一臺機器都要監控系統負載
[root@hf-01 mon]# cd shares/
[root@hf-01 shares]# pwd
/usr/local/sbin/mon/shares
[root@hf-01 shares]# vim load.sh
#! /bin/bash
##Writen by aming##
load=`uptime |awk -F 'average:' '{print $2}'|cut -d',' -f1|sed 's/ //g' |cut -d. -f1`
#計算系統負載
if [ $load -gt 10 ] && [ $send -eq "1" ]
then
echo "$addr `date +%T` load is $load" >../log/load.tmp
#這條命令的目的是爲了發送日誌
/bin/bash ../mail/mail.sh aming_test@163.com "$addr\_load:$load" `cat ../log/load.tmp`
fi
echo "`date +%T` load is $load"
502.sh內容(502確定須要一個日誌),502涉及到一個訪問日誌,訪問日誌又設計到一個時間
- 由於腳本監控主腳本是的是1分鐘執行一次,因此502監控,看的確定1分鐘之前訪問日誌的時間,信息
[root@hf-01 shares]# vim 502.sh
#! /bin/bash
d=`date -d "-1 min" +%H:%M`
c_502=`grep :$d: $log |grep ' 502 '|wc -l`
#截取一分鐘之前的時間
if [ $c_502 -gt 10 ] && [ $send == 1 ]; then
echo "$addr $d 502 count is $c_502">../log/502.tmp
/bin/bash ../mail/mail.sh $addr\_502 $c_502 ../log/502.tmp
#mail就是定義發送給誰,發送的主題,發送的內容
fi
echo "`date +%T` 502 $c_502"
disk.sh內容(磁盤使用率)
[root@hf-01 shares]# vim disk.sh
#! /bin/bash
##Writen by aming##
rm -f ../log/disk.tmp
for r in `df -h |awk -F '[ %]+' '{print $5}'|grep -v Use`
#[ %]+ 以 多個,空格 或者 % 做爲分隔符,+號表示一個或多個;由於系統默認是英文,因此grep -v Use 過濾掉的就是 已用
do
if [ $r -gt 90 ] && [ $send -eq "1" ]
then
echo "$addr `date +%T` disk useage is $r" >>../log/disk.tmp
fi
done
if [ -f ../log/disk.tmp ]
then
df -h >> ../log/disk.tmp
/bin/bash ../mail/mail.sh $addr\_disk $r ../log/disk.tmp
echo "`date +%T` disk useage is nook"
else
echo "`date +%T` disk useage is ok"
fi
[root@hf-01 shares]# echo "12:aa#123bb:22#ww" |awk -F '[:#]' '{print $3}'
123bb
[root@hf-01 shares]# echo "12:aa#123bb:22#ww" |awk -F '[:#]' '{print NF}'
5
[root@hf-01 shares]# echo "12:aa#123bb:22##ww" |awk -F '[:#]' '{print NF}'
6
[root@hf-01 shares]# echo "12:aa#123bb:22##ww" |awk -F '[:#]+' '{print NF}'
5
[root@hf-01 shares]#