«

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:测试

还是测试终端的。打开四个。

还没收到回复