1.申请阿里云邮件推送
2.配置DNSPod的TXT记录/MX记录/CNAME
3.设置发信地址
4.建立发邮件脚本(python编写)
5.测试脚本是否可用
在zabbix服务端设置警告邮件
1.设置zabbix配置文件,将脚本移动到指定配置文件中指定的目录
2.设置zabbix web UI
3.测试报警
4.1在/root目录下创建文件“mail.py”。
4.2复制如下内容至“mail.py”:
#!/usr/bin/python #coding:utf-8 import smtplib from email.mime.text import MIMEText import sys mail_user = 'aming@ishiming.net' mail_pass = 'xxxxxxxx' 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])
4.3 脚本内须要修改的地方 #mail_user和mail_pass,与发信地址和admin密码一致,SMTP服务地址,端口号也需一致
4.4 修改/root/mail.py的权限:chmod 755 mail.py
python
测试:python mail.py 收件地址 "邮件主题" "邮件内容" 打开收件地址如qq邮箱,查看是否收到测试邮件
查询zabbix_server配置文件: vim /etc/zabbix/zabbix_server.conf 找到: AlertScriptsPath=/usr/lib/zabbix/alertscripts 这一行定义了zabbix告警邮件脚本的路径。 把mail.py文件复制到该目录下 确保mail.py有其余用户的执行权限:chmod 755 mail.py
2.1设置报警媒介
Administration -> Media types -> 右上角(Create Media type)
Name: baojing
Type: Script
Script name: mail.py
Script parameters -> Add {ALERT.SENDTO}/ Add {ALERT.SUBJECT}/Add {ALERT.MESSAGE}
Add
2.2设置接收邮件地址
Administration -> Users -> Admin(或者新建用户)
Media -> Add
Type: baojing
Send to: 邮箱地址,如 aming_test@163.com Add
Update
2.3配置动做
Configuration -> Actions -> Create action
Name: 发邮件
Operations
New
Send to Users -> Admin Send only to -> baojing Conditions -> new -> Add Add
Recovery operations (该配置页面同上) New
Send to Users -> Admin Send only to -> baojing Add Addweb
Configuration -> Hosts -> Triggers 故意调整一个trigger Monitoring -> Problems 查看问题是否出现 是否发送到指定邮箱上 #当问题解决后会发送一个解决邮件给指定邮箱