zabbix自定义邮件告警

通过python实现自定义脚本报警过程总结:

第一步:在管理--报警媒介类型里面新添加一项“邮件报警”,如下所示:

第二步:我们只是给脚本起了一个名字,其实还没写呢?写到什么地方呢?zabbix的配置文件里面有定义,如下所示:

//将python写的程序放到这个目录里面,注意,名字要和上述一致。
[root@zabbix ~]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/lib/zabbix/alertscripts

[root@zabbix alertscripts]# pwd
/usr/lib/zabbix/alertscripts
[root@zabbix alertscripts]# cat sent_mail.py

#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.qq.com'  
mail_user = '[email protected]'
mail_pass = 'tb**sdxtzobcfh' mail_postfix = 'qq.com' def send_mail(to_list,subject,content): me = "zabbix 监控告警平台"+"<"+mail_user+"@"+mail_postfix+">" msg = MIMEText(content, 'plain', 'utf-8') msg['Subject'] = subject msg['From'] = me msg['to'] = to_list try: s = smtplib.SMTP() s.connect(mail_host) s.login(mail_user,mail_pass) s.sendmail(me,to_list,msg.as_string()) s.close() return True except Exception,e: print str(e) return False if __name__ == "__main__": send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

//测试一下,别忘记加执行权限
[root@zabbix alertscripts]# ./sent_mail.py [email protected] test test

这个python写的脚本,名字里面里面最好不要带mail这样的关键字,不然老是提示错误,下次再用的的时候把QQ号改一下,然后把mail_pass改一下,mail_pass里面不是QQ邮箱的密码,而是授权码,这一点要注意。

第三步:到用户---报警媒介里面就可以了。

 这样其实就可以了,如果还是不行的话,看看配置--动作,一定要处在打开状态哟!

猜你喜欢

转载自www.cnblogs.com/yizhangheka/p/12120746.html