1、创建邮件告警的脚本,内容如下:

#!/usr/bin/env python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
LOG_FILENAME="/var/log/email_python.log"
mail_host = 'smtp.qq.com'                  #定义smtp服务器
mail_user = '45xxxx6@qq.com'               #发件人邮箱
mail_pass = 'xxxxx'                        #发件人邮箱密码
mail_port = 465                            #smtp服务器的端口号,不同的邮箱服务器端口号不同
def send_mail(to_list,subject,content):
    me="Zabbix Monitor"+"<"+mail_user+">"  #定义发件人显示名称为Zabbix Monitor
    msg=MIMEText(content,_subtype='plain',_charset='gb2312')
    msg['Subject']=subject                 #定义邮件主题
    msg['From']=me                         #发送方
    msg['to']=to_list                      #接收方
    try:
        s=smtplib.SMTP_SSL()               #创建一个smtp对象                     
        s.connect(mail_host,mail_port)     #通过connect方法连接smtp主机
        s.login(mail_user,mail_pass)       #邮箱账户登录认证
        s.sendmail(me,to_list,msg.as_string()) #发送邮件
        s.close()                             #断开smtp连接
        return True
    except Exception,e:
        print str(e)
        return False
if __name__ == "__main__":
    send_mail(sys.argv[1],sys.argv[2],sys.argv[3])


2、脚本文件路径

先确认下zabbix_server.conf文件中定义的告警脚本路径

#AlertScriptsPath=/usr/lib/zabbix/alertscripts
AlertScriptsPath=/etc/zabbix/alertscripts

然后将准备好的python脚本存放到该路径下,并更改脚本文件的权限和属主属组

#chown zabbix:zabbix  mail.py

#chmod +x   mail.py

注意:如果在zabbix_server.conf文件中没有设置Allow root=1,则表示zabbix是以zabbix用户启动而不是root,所以脚本的属主属组都应该设置为zabbix用户。设置为root用户启动的配置如下。

### Option: AllowRoot
#   Allow the server to run as 'root'. If disabled and the server is started by 'root', the server
#   will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
#   0 - do not allow
#   1 - allow
#
# Mandatory: no
# Default:
AllowRoot=1


3、测试脚本文件发送邮件是否成功,这一步很重要

 # cd  /usr/lib/zabbix/alertscripts

 #./mail.py  451345726@qq.com     “subject”   “content”  

如果能收到邮件,表示脚本没有问题。


4、创建Media types

wKiom1dcyS_gPUzxAALbOWF1XqM926.png



5、添加邮件邮件接收用户

wKioL1dcy1LANcQRAAInFaqrzXE877.pngwKioL1dcy4zR_ID-AAJZ4TZPzl0620.png



6、创建Action

Action选项卡中只要填一个Name,其余默认

wKioL1dczB_xkUalAANHh3ECUtk600.png


Conditions选项卡中添加告警条件,将主机组加入进来。

注意添加主机组这里如果你选择了多个主机组,则表示属于这多个组的主机才满足告警条件。

wKioL1dc3Niz2Ie_AAKWRwjqZGo810.png

如果条件选择AND/OR  就可以避免这一问题

wKiom1dc4fiQa56zAAJu8NGJY1Q201.png


创建Operations

wKiom1dc0hPhDbIFAARoMGQZIDY617.png

到这里配置完成了。



如果不使用默认的邮件告警内容,也可以自己定义:

wKioL1en3y6CrLeoAAGrWSpzOvY533.png-wh_50



邮件告警内容

wKiom1dc4kfAAW9nAAJh2r044r0643.png