1.修改zabbix server端的配置文件,启用AlertScriptsPath,使其支持脚本功能

1.编辑zabbix server端的配置文件,并重启服务

# vim /etc/zabbix/zabbix_server.conf

     AlertScriptsPath=/usr/local/zabbix/alertscripts


 # /etc/init.d/zabbix_server restart


2.在服务端添加邮件报警的python脚本,并给脚本执行权限

 邮件报警,并记录日志

# vim /usr/local/zabbix/alertscripts/zabbix_sendmail.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pdb
import smtplib
import string
import time
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
#pdb.set_trace()
#HOST = "mail.gw.com.cn"
def S_Mail():
    HOST = "smtp.exmail.qq.com"                           #邮件服务器
    SUBJECT = sys.argv[2].decode('utf-8').encode('gbk')   #主题
    TO =sys.argv[1]                                       #收件邮箱
    FROM = "admin@qq.cn"
    text = sys.argv[3].decode('utf-8').encode('gbk')      #发件内容
    BODY = string.join((
                    "FROM: %s" % FROM,
                    "To: %s"  % TO,
                    "Subject: %s" %SUBJECT,
                    "",
                    text
                    ),"\r\n")
    server = smtplib.SMTP()
    server.connect(HOST,25)
    #server.starttls()
    server.login("发件邮箱","密码")
    server.sendmail(FROM,[TO],BODY)
    server.quit()
# email log 记录日志
    with open('/data/logs/zabbix/Email.log', 'a') as f:
        date=time.strftime("%y-%m-%d %H:%M:%S")
        str = date + "    " + TO +"    " + SUBJECT + "\r\n" + "\n"
        str1 = str.decode('gbk').encode('utf-8')
#       print("%s" %str1)
        f.write(str1)
if __name__=='__main__':
    S_Mail()


# chmod +x /usr/local/zabbix/alertscripts/zabbix_sendmail.py


3.验证脚本

# ./zabbix_sendmail.py 收件邮箱 主题  测试

wKioL1WngdGTYak7AABuPIL8a6I880.jpg


4.创建报警媒介,类型选择脚本

wKioL1WngyaTO6vdAANJ0zGDcb8757.jpg



5. 创建用户,并实现邮件报警

1)

wKiom1WngeKj4VsTAAP-ZI9VIc4888.jpg

2)选择媒介

wKioL1WoS6ayG9cYAAEnS92ywvA670.jpg


6. 为方便管理,创建群组,将用户添加至群组中

wKiom1WoTcbB1PMAAAOghRZw224559.jpg


7.选择"组态"-->"动作" 创建 “action",实现邮件报警

1)

wKioL1WoTmKz-ogCAAPzBQwscpI775.jpg

2)

wKiom1WoTKXxqHSaAAOLsxfsLf8795.jpg

3)

wKiom1WoTPiSzJsZAARshycLEcU608.jpg


验证结果

通过"审计" -->"Action log" 查看日志

wKioL1WoUXyz3mAnAARppnbkI_E328.jpg

并且已经发送有邮件

故障邮件

wKioL1WoUu7CvZVxAAJ3-zn08_0440.jpg


恢复后发送的邮件

wKioL1WoUn6ilgv_AAJgC0q-aHE538.jpg


并且可以通过日志查看记录

wKiom1WoUfuh3tMtAAGLZtgZ9D0622.jpg