zabbix3.2邮件报警配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wszll_Alex/article/details/77247696

1.编辑zabbix_server.conf文件

编辑zabbix_server.conf文件,修改AlertScriptsPath参数,该参数用于指定外部脚本的绝对路径。

vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts

2.上传python脚本

上传python脚本send_mail.py至此路径(/usr/lib/zabbix/alertscripts)下,脚本内容如下:


#!/bin/env python
#coding:utf-8
'''
发送txt文本邮件
'''
import smtplib  
from email.mime.text import MIMEText  
from sys import argv

mailto_list=[] 
mail_host="smtp.163.com:25"  #设置服务器
mail_user="gxxxxx@163.com"     #发件用户名(换成自己的)
mail_pass="ZHAxxxxxx"   #口令(换成自己的) 
#mail_postfix="163.com"  #发件箱的后缀
debug_level=0       #是否开启debug

def send_mail(to_list,sub,content):  
    me=mail_user
    msg = MIMEText(content,_subtype='plain',_charset='utf-8')  
    msg['Subject'] = sub  
    msg['From'] = me  
    msg['To'] = ";".join(to_list)  
    try:  
        server = smtplib.SMTP()  
        server.set_debuglevel(debug_level)    
        server.connect(mail_host)  
        server.login(mail_user,mail_pass)  
        server.sendmail(me, to_list, msg.as_string())  
        server.close()  
        return True  
    except Exception, e:  
        print str(e)  
        return False  
if __name__ == '__main__':
    try:
        mailto_list=argv[1].split(';')
        sub=argv[2]
        content=argv[3]
    except:
        print "python send_mail.py 'user1@xx.com;user2@xx.com' sub content"
        exit()

    if send_mail(mailto_list,sub,content):  
        print "发送成功"  
    else:  
        print "发送失败"

脚本上传之后,修改权限:

chmod +x send_mail.py

3.zabbix web端——创建媒体类型

管理——>报警媒介类型——>创建媒体类型
这里写图片描述
这里写图片描述

4.zabbix web端——用户指定媒介

这里写图片描述
这里写图片描述

5.zabbix web端——创建动作

这里写图片描述
这里写图片描述
这里写图片描述
告警消息模板

接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主机:{HOST.NAME}
主机地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}
这里写图片描述

恢复消息模板
接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}
恢复主机:{HOST.NAME}
主机地址:{HOST.IP}
恢复时间:{EVENT.DATE} {EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}

6.邮件测试

利用本机添加的日志监控进行测试,在日志中输入yyy则报警,输入111则问题解决。
这里写图片描述
这里写图片描述

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页