码迷,mamicode.com
首页 > 其他好文 > 详细

Zabbix邮件告警

时间:2017-09-17 18:52:32      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:zabbix邮件告警

1、Zabbix邮件告警

说明:

Zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。

实现目的:

Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱

 

 

首先在配置文件里修改AlertScriptsPath

[root@cml alertscripts]# vim /usr/local/zabbix/etc/zabbix_server.conf

AlertScriptsPath=/usr/local/zabbix/alertscripts

 

qq邮箱里面生成一个授权码作为给脚本授权帮你发邮件使用

技术分享 

 

编写一个发邮件的Python脚本

[root@cml alertscripts]# cd /usr/local/zabbix/alertscripts/

[root@cml alertscripts]# ls

linkedsee.sh  weixin.py  zabbix_mail.py

[root@cml alertscripts]# cat zabbix_mail.py

#!/usr/bin/python

#coding: utf-8

import smtplib

import sys

from email.mime.text import MIMEText

_user = "406552227@qq.com"    ##填写作为邮件报警发送端

_pwd  = "zpys"       ###填写刚刚邮箱里面生成的授权码

#_to   = "13926109782@163.com"

 

def send_mail(to,subject,contain):

    msg = MIMEText(contain)

    msg["Subject"] = subject

    msg["From"]    = _user

    msg["To"]      = to

 

    try:

        s = smtplib.SMTP_SSL("smtp.qq.com", 465)

 

        s.login(_user, _pwd)

        s.sendmail(_user, to, msg.as_string())

        s.quit()

        with open(‘/tmp/zabbix.log‘, ‘w‘) as f:

            f.write("%s\n%s\n%s\n"%(to,subject,contain))

#        print "Success!"

    except smtplib.SMTPException,e:

        print "Falied,%s"%e

if __name__ == "__main__":

    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

 

[root@cml alertscripts]#

 

zabbix配置  管理-->报警媒介类型-->创建报警媒介类型(类型需要选择脚本,脚本名称与编写的脚本名字一样,下面三个参数代表发送给那个邮件、标题是什么、内容是什么。 )

技术分享 

在用户配置报警媒介 需要填写收件人的邮箱和类型

技术分享技术分享 

然后配置-->动作-->创建动作--操作-->恢复操作

技术分享技术分享技术分享 

技术分享 

触发报警:

技术分享 

解决报警后

技术分享 

成功演示了服务器报警后自动发生邮件给我的邮箱


本文出自 “第一个legehappy51cto博客” 博客,请务必保留此出处http://legehappy.blog.51cto.com/13251607/1966057

Zabbix邮件告警

标签:zabbix邮件告警

原文地址:http://legehappy.blog.51cto.com/13251607/1966057

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!