5.19-5.21 zabbix邮件告警
阿里云邮件推送服务:
登陆阿里云平台,进入管理控制台,选择产品与服务中的云通信,选择邮件推送服务,选择立即开通,然后在邮件设置中选择发信域名,然后新建域名并点击配置。切换到dnspod平台,找到目标慕名,根据相应的验证项输入TXT记录、MX记录、CNAME等,然后等待几分钟,点击验证。
进入发信地址,然后新建发信地址,定义域名、账号、发信类型(触发)并设置smtp密码。SMTP服务地址:smtpdm.aliyun.com;SMTP服务端口号:25或80或465(SSL加密)。
创建发送邮件的python脚本:
[root@rice01 ~]# vi mail.py #内容
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_user = 'admin@riceyoung.com'
mail_pass = '111111'
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("smtpdm.aliyun.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@rice01 ~]# chmod 755 mail.py
[root@rice01 ~]# ./mail.py 18325827@qq.com "测试邮件" "`cat /etc/my.cnf`"
// 测试脚本是否执行成功:到定义的邮箱里查看是否接收到测试邮件
[root@rice01 ~]# mv mail.py /usr/lib/zabbix/alertscripts
// 将脚本移动到zabbix报警脚本的路径下
设置zabbix Web UI:
进入zabbix监控平台,进入Administration中的Media types,点击Create media type,定义Name、Type(Script)、Script name(mail.py)、Script parameters({ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}),然后点击Add完成设置报警媒介。
进入Administration中的Users,可以选择使用Admin用户,进入其Media,点击Add,定义相关选项及内容,点击Add完成添加,点击Update完成邮件接收地址设置。
进入Configuration中的Actions,点击Create action,在Action选项卡中定义相关内容,然后点击Operations选项卡,点击下方Operations右侧的New,定义Send to User groups、Send to Users、Send only to(baojing),点击Conditions的New,然后点击Add完成添加,然后点击下方的蓝色Add完成添加。
进入Recovery operations选项卡,点击Operations右侧的New,定义Send to User groups、Send to Users,点击Add完成添加,再点下方蓝色的Add完成Web UI的设置。