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