zabbix3.4使用qq邮箱发送邮件告警
- 2017-06-08 16:34:21
- 运维
- 29
- shevechco
zabbix使用QQ邮箱发送告警邮件,zabbix的部署可以查看这个笔记:https://sulao.cn/post/278
下面我们就来配置下邮件告警方法的方法
首先我们需要去管理->报警媒介类型,点击右上角的创建媒体类型
名称随便写,我用的是Mail,脚本名称,我是用python写的mail.py报警脚本
mail.py报警脚本放置/usr/local/zabbix/share/zabbix/alertscripts目录下,脚本是python3的脚本,内容如下
01.#!/usr/bin/python302.#coding:utf-803.import smtplib04.import sys05.from email.mime.text import MIMEText06.from email.utils import formataddr07. 08.#发件人邮箱和密码09.sender_mail = '你的QQ邮箱'10.sender_pass = '你的QQ邮箱授权码,不是密码'11.#收件人邮箱12.receiver = sys.argv[1]13.#邮件正文14.msg = sys.argv[3]15.#这个是邮件正文,有html格式文本,plain文本格式文档16.message = MIMEText(msg, 'html', 'utf-8')17.#邮件标题18.message['Subject'] = sys.argv[2]19.try:20. send_mail = smtplib.SMTP_SSL("smtp.qq.com", 465)21. #登录QQ邮箱22. send_mail.login(sender_mail, sender_pass)23. send_mail.sendmail(sender_mail, receiver, message.as_string())24. send_mail.quit()25.except Exception as e:26. with open("send.log", "a+") as f:27. f.write("邮件发送失败 , {}\n".format(e))
添加三个脚本参数
01.{ALERT.SENDTO}02.{ALERT.SUBJECT}03.{ALERT.MESSAGE}
其他的不用填写点击更新,如下图
然后去用户管理,点击你要编辑的用户,我直接用的Admin,切换到报警媒介,类型设置刚创建的Mail,填写此用户接收的邮箱,其他基本不用修改,如下图
配置好后如下图
然后我们去配置->动作,右上角创建动作
任意创建一个名称,然后选择群组
切换到操作标签卡
默认操作步骤持续时间填写60s
默认标题填写
01.{TRIGGER.STATUS}: {TRIGGER.NAME}
消息内容填写
01.告警主机:{HOST.NAME}02.告警 IP:{HOST.IP}03.告警时间:{EVENT.DATE}-{EVENT.TIME}04.告警等级:{TRIGGER.SEVERITY}05.告警信息:{TRIGGER.NAME}:{ITEM.VALUE}06.事件 ID:{EVENT.ID}
如下入
然后下面的操作细节如下图
然后切换到恢复操作的标签,主要配置如下图
默认标题
01.{TRIGGER.STATUS}: {TRIGGER.NAME}
消息内容
01.恢复主机:{HOST.NAME}02.恢复 IP:{HOST.IP}03.恢复时间:{EVENT.DATE}-{EVENT.TIME}04.恢复等级:{TRIGGER.SEVERITY}05.恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}06.恢复 ID:{EVENT.ID}
操作细节同操作标签卡内一样
上述操作都OK了后,我们就测试把一个监控主机的zabbix-agent停掉,然后几分钟后收到邮件
看到已经收到告警邮件,然后我们再恢复停掉的zabbix-agent,然后几分钟后再次收到恢复的邮件
这样就实现了zabbix自定义告警媒体使用邮件告警了,由于mailx不太好用,使用python脚本来实现来说非常方便
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.sulao.cn/post/394