设置邮件告警

准备:
发送邮箱1个,接收邮箱1个;这里为163邮箱;
发送邮箱:在邮箱中设置,设置——POP3/SMTP/IMAP——客户端授权密码

第一步:创建发邮件的脚本

vim /usr/lib/zabbix/alertscripts/mail.py            //创建脚本,在脚本里定义smtp与发送邮箱与授权码等
#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from  subprocess import *
def sendqqmail(username,password,mailfrom,mailto,subject,content):
    gserver = 'smtp.163.com'
    gport = 25
    try:
        msg = MIMEText(unicode(content).encode('utf-8'))
        msg['from'] = mailfrom
        msg['to'] = mailto
        msg['Reply-To'] = mailfrom
        msg['Subject'] = subject
        smtp = smtplib.SMTP(gserver, gport)
        smtp.set_debuglevel(0)
        smtp.ehlo()
        smtp.login(username,password)
        smtp.sendmail(mailfrom, mailto, msg.as_string())
        smtp.close()
    except Exception,err:
        print "Send mail failed. Error: %s" % err
def main():
    to=sys.argv[1]
    subject=sys.argv[2]
    content=sys.argv[3]
##定义163邮箱的账号和密码,你需要修改成你自己的账号和密码
    sendqqmail('test@163.com','这里是授权码','test@163.com',to,subject,content)
if __name__ == "__main__":
    main()

#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"
chmod 755 /usr/lib/zabbix/alertscripts/mail.py            //给脚本755权限

测试一下

python mail.py test@163.com "测试标题" “测试内容”  //使用mail.py脚本给test@163.com邮件发送'测试标题'“测试内容”的邮件

第二步:创建报警媒介类型

管理——报警媒介类型——创建报警媒介类型——设置名称——类型选‘脚本’,不要选邮件——脚本名称“mail.py”(这里自定义一个)——添加三个参数

zabbix Email报警脚本路径 zabbix设置邮件告警_zabbix Email报警脚本路径

第三步:创建设置用户来发邮件(给用户添加告警媒介)

1.给用户群组读写权限

管理——用户群组——zabbix administration群组——权限——添加所有群组——选择‘读写’——点击‘添加’——更新

zabbix Email报警脚本路径 zabbix设置邮件告警_群组_02

2.创建发邮件的用户test

管理——用户——创建用户——新建用户test,群组选择刚刚设置的zabbix administration群组——密码——语言——添加

zabbix Email报警脚本路径 zabbix设置邮件告警_python_03

3.给用户添加报警媒介

管理——用户——test用户——报警媒介——添加——设置类型——设置收件人——设置时间日期——告警类型——添加——更新

zabbix Email报警脚本路径 zabbix设置邮件告警_zabbix Email报警脚本路径_04

zabbix Email报警脚本路径 zabbix设置邮件告警_zabbix Email报警脚本路径_05

第四步:设置告警的动作(条件)

也就是当什么条件触发时候就会发邮件

动作:

配置——动作——创建动作——设置动作名称——添加触发条件“触发器警示度>=未分类”——添加——添加

zabbix Email报警脚本路径 zabbix设置邮件告警_运维_06

操作:

动作——操作——设置默认信息

HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}

zabbix Email报警脚本路径 zabbix设置邮件告警_开发工具_07

设置接受邮件的用户test——设置发送媒介baojing——设置操作条件‘时间以确定=非确认’(记得点添加)——添加

zabbix Email报警脚本路径 zabbix设置邮件告警_群组_08

恢复操作:

配置——动作——选择动作——恢复操作——默认内容粘贴最上面的代码——‘操作’点击‘新的’

zabbix Email报警脚本路径 zabbix设置邮件告警_运维_09


设置‘发送到用户’为test——仅发送到‘baojing’——‘添加’——更新

zabbix Email报警脚本路径 zabbix设置邮件告警_zabbix Email报警脚本路径_10


转载于:https://blog.51cto.com/shuzonglu/2104209