zabbix+邮件报警脚本
zabbix原生的报警媒介类型中,邮件报警是我们常用的方式。
1、web界面新增报警媒介类型

2、关于脚本
脚本如下
[root@zabbix alertscripts]# pwd
/usr/lib/zabbix/alertscripts
[root@zabbix alertscripts]# cat mail_qq.py
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_user = '111111111@qq.com'
mail_pass = 'xxxxxxxxxxx'
def send_mail(to_list,subject,content):
me = "zabbix 监控告警平台"+"<"+mail_user+">"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
try:
s = smtplib.SMTP_SSL("smtp.qq.com", 465)
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]# cat mail_163.py
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_user = '1232323232@163.com'
mail_pass = 'xxxxxxxxxx'
def send_mail(to_list,subject,content):
me = "zabbix 监控告警平台"+"<"+mail_user+">"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
try:
s = smtplib.SMTP("smtp.163.com", 25)
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]# chmod +x mail_qq.py
3、测试
命令行测试脚本能否成功执行
[root@zabbix alertscripts]# ./mail_qq.py xxx@163.com "测试" 'test'
测试参数为三个,分别为收件人邮箱地址,邮件标题,邮件内容
测试的时候如果出现错误提示缺少smtplib,解决方法为使用pip进行安装:pip install smtplib
测试完成了就可以通过zabbix进行触发报警了

浙公网安备 33010602011771号