zabbix 3.0 监控邮件报警

1、在监控服务器的/usr/local/zabbix/bin创建发送邮件脚本

 vim send.py
#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
#!/usr/bmport 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 = "mail.xxxx.com"                           #邮件服务器 
    SUBJECT = sys.argv[2].decode('utf-8').encode('gbk')   #主题 
    TO =sys.argv[1]                                       #收件邮箱 
    FROM = "send address"
    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,发送邮件的端口)
    #server.starttls() 
    server.login("send address","password")
    server.sendmail(FROM,[TO],BODY)
    server.quit()
# email log 记录日志 
    with open('/tmp/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()

2、给发送邮件脚本授权

    chown -R zabbix.zabbix /usr/local/zabbix/bin/send.py

    chmod a+x /usr/local/zabbix/bin/send.py


3、修改/usr/local/zabbix/etc/zabbix_server.conf

    AlertScriptsPath = /usr/local/zabbix/bin

4、重启zabbix服务器。

pkill zabbix

/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

5、利用编写的脚本发送邮件做测试。

./send.py "test@qq.com" "thisis test python send mail" "test test"

wKioL1g2VQOgaYzVAACCdkbDjdk804.png-wh_50

6、配置zabbix的界面。

(1)、创建Media types

注意:此处要传参进去,是三个,对于脚本中的参数(1,2,3)

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

wKiom1g2VnfxOOCLAACPKrlSJvY240.png-wh_50


(2)、配置接收报警邮件的用户并授权

wKioL1g2WfOiiautAAEYRdkfGbc026.png-wh_50

wKiom1g2WrOBmFFLAAChSvlss5o529.png-wh_50

(3)、新创建报警的动作action

wKioL1g2XBjBho-eAAC0hUjgevc308.png-wh_50

wKioL1g2XAXDD3WeAADpucD4t9o570.png-wh_50


(4)、查看报警媒介和报警动作是否匹配成功。

wKioL1g2XJzTFlPhAACie58puOU743.png-wh_50


7、关闭本机的zabbix_agentd可以看邮件是否报警成功,报警成功,则OK。


8、补充内容(触发动作条件)

  默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

 告警时间:{EVENT.DATE}{EVENT.TIME}

 告警等级:{TRIGGER.SEVERITY}

 告警信息:{TRIGGER.NAME}

 告警项目:{TRIGGER.KEY1}

 问题详情:{ITEM.NAME}:{ITEM.VALUE}

 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

 事件ID:{EVENT.ID}

 恢复信息:打钩

 恢复主旨:恢复{TRIGGER.STATUS},服务器:{HOSTNAME1}:{TRIGGER.NAME}已恢复!

 恢复信息:

 告警主机:{HOSTNAME1}

 告警时间:{EVENT.DATE}{EVENT.TIME}

 告警等级:{TRIGGER.SEVERITY}

 告警信息:{TRIGGER.NAME}

 告警项目:{TRIGGER.KEY1}

 问题详情:{ITEM.NAME}:{ITEM.VALUE}

 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

 事件ID:{EVENT.ID}

 已启用:打钩