8675645 发表于 2017-9-18 09:45:49

Zabbix邮件告警

1、Zabbix邮件告警说明:Zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。实现目的:在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱 首先在配置文件里修改AlertScriptsPath# vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/alertscripts

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



编写一个发邮件的Python脚本
# cd /usr/local/zabbix/alertscripts/
# ls
linkedsee.shweixin.pyzabbix_mail.py
# 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, sys.argv, sys.argv)

#

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


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


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




触发报警:


解决报警后


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


页: [1]
查看完整版本: Zabbix邮件告警