告警系统邮件引擎、运行告警系统
7月18日任务
20.23/20.24/20.25 告警系统邮件引擎
20.26 运行告警系统
20.23/20.24/20.25 告警系统邮件引擎
1、如果要使用邮件引擎功能,需要调用mail.py文件,所以需要把之前的mail.py copy一份到 /usr/local/sbin/mon/mail/ 目录下。
[root@jimmylinux-001 shares]# cp /usr/lib/zabbix/alertscripts/mail.py ../mail/mail.py
[root@jimmylinux-001 shares]# cd ..
[root@jimmylinux-001 mon]# cd mail/
[root@jimmylinux-001 mail]# ls
mail.py
mail.py里面需要关注的是 gserver 发邮件的域名,如果使用163的就定义成 gserver = 'smtp.163.com'
2、创建核心文件mail.sh
[root@jimmylinux-001 mail]# vi mail.sh
log=$1
t_s=`date +%s`
t_s2=`date -d "2 hours ago" +%s`
if [ ! -f /tmp/$log ]
then
echo $t_s2 > /tmp/$log
fi
t_s2=`tail -1 /tmp/$log|awk '{print $1}'`
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
fi
nu=`cat /tmp/$log.txt`
nu2=$[$nu+1]
echo $nu2>/tmp/$log.txt
if [ $nu2 -gt 10 ]
then
./mail.py $1 "trouble continue 10 min $2" "$3"
echo "0" > /tmp/$log.txt
fi
fi
20.26 运行告警系统
想要执行告警系统,那么肯定是每分钟一次写入到crontab。
[root@jimmylinux-001 mail]# crontab -e
* * * * * cd /usr/local/sbin/mon/bin; bash main.sh