zabbix邮件报警
指尖二进制 • 1 年前 • 782 次点击 • ZABBIX
[TOC]
1:编写python脚本
编写python脚本实现告警通知
[root@zabbix-server ~]# grep script /etc/zabbix/zabbix_server.conf|grep Alert
AlertScriptsPath=/usr/lib/zabbix/alertscripts
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
# 把send_mail.py脚本直接拷贝到alertscripts目录下
# 修改如下参数
mail_host = 'smtp.qq.com' #smtp服务器
mail_user = '4409749@qq.com' #发出邮件的用户
mail_pass = 'bqrmevgtsdumbjei'#发出邮件的授权码
mail_postfix = 'qq.com' #后缀
[root@zabbix-server alertscripts]# chmod +x send_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 = '4409749@qq.com'
mail_pass = 'bqrmevgtsdumbjei'
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-server alertscripts]# ./send_mail.py 18810779260@163.com hello test
然后验证脚本是否可以正常发送邮件 ./send_mail.py xxx@163.com hello test 三个参数分别是:收件人邮箱、邮件主题、邮件内容
怎么获得qq邮箱smtp授权码?
Qq邮箱—设置—账户—POP3—开启IMAP/SMTP服务
2:开启动作
3:创建报警媒介,定义发件人
管理—报警媒介类型—创建报警媒介类型
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
4:定义收件人
管理—用户—选择要告警的用户—Admin—报警媒介—添加
5:测试
还是测试终端的。打开四个。