zoukankan      html  css  js  c++  java
  • zabbix_监控_邮件预警

     
    一、解决的问题:当触发器满足条件被触发时,发邮件进行通知

     
    二、软件及方案
    1. 使用外部邮箱发送邮件
    2. 使用mailx发送邮件,版本为12.4
    3. zabbix版本为2.2.2
    4. zabbix中使用执行脚本方式发送邮件
    5. 流程参考http://www.jb51.net/article/56973.htm中的(第二种:使用外部邮箱账号发送报警邮件设置
     
    三、实现步骤
    1. 安装zabbix服务端客户端

    2. 关闭sendmail和postfix(可选项,发邮件成功的环境有此配置,但不确认是否是必须项,原因是使用外部邮箱可能需要关闭)

      service sendmail stop #关闭

      chkconfig sendmail off #禁止开机启动

      service postfix stop

      chkconfig postfix off

    3.  安装mailx(直接使用yum安装,版本位12.4)
      yum install mailx
    4. 编辑mail.rc
      a) 打开文件:
      vi /etc/mail.rc
      b)文件最后添加内容:(添加一定要用vi动手加,不要用记事本粘贴,否则会在每行后自动加字符)
      set from=xx@xx.com(发送邮箱)
      set smtp=mail.xx.com(邮箱的smtp服务地址,不同邮件服务商地址不同,比如163为smtp.163.com,需要开通smtp服务)
      set smtp-auth-user=xx(用户名,不包含@xx.com)
      set smtp-auth-password=pwd(用户密码)
      set smtp-auth=login
      c) 测试邮件能否发送(一定要保证邮件发送成功后再走后续的步骤,不能成功的原因一般是服务器判定为垃圾邮件,发送邮件未开通smtp服务等)
      echo "zabbix test mail" |mail -s "zabbix" yyy@163.com
      标题:zabbix、内容:zabbix test mail、收件方:yyy@163.com

    5. 添加Zabbix服务器邮件发送脚本

      cd /usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录

      vi sendmail.sh #编辑,添加以下代码

      #!/bin/sh

      echo "$3" | mail -s "$2" $1

      :wq! #保存退出
      #设置脚本所有者为zabbix用户

      chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

      #设置脚本执行权限

      chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

    6. 设置Media types
      Administration-->Media types-->Create media type(j脚本名称参见3.5)
       
    7. 设置报警邮件接收的用户和邮箱
      Administration-->Users-->Create User
      a)、设置邮件(Media)
       
       b) 权限全部设置到Read-Write(如果不这样设置,可能无法发邮件)
       

    8. 创建Item

    9. 创建触发器(这里的触发器为当客户端的xftp进程被关闭则触发)

    10. 创建Actions并关联触发器
      a) Configuration-->Actions-->Create action
      b) 设置action

      c) Conditions

      d)Operations
       
    11.  
     
    四、可能遇到的问题
    1. 最好使用公司邮箱,163等邮箱很可能被认为是垃圾邮箱,被163禁止使用
    2. 邮箱必须打开smtp,注意(同一个邮箱,不同账号,也可能有的开了,有的没开,踩过坑了)
    3. 如果邮箱可以通过foxmail发送,一般就是开通了smtp
    4. zabbix的actions表存储了所有的actions数据
    5. zabbix的alerts表存储了所有被触发的action,包含成功和失败的,可以查看失败原因
    6. 可先用echo "zabbix test mail" |mail -s "zabbix" yyy@163.com测试linux能否发邮件,如果可以,后续基本问题不大
    7. /etc/mail.rc的内容一定要用vim编辑,不要用记事本+复制粘贴,不然会自动添加字符
     
    五、参考资料



  • 相关阅读:
    Docker网络管理
    Docker数据管理
    Docker仓库管理
    Docker容器管理
    Docker安装及基本使用方法
    Docker简介
    Ansible安装配置Nginx
    Ansible安装配置及使用
    puppet安装配置及使用
    TCP三次握手、四次挥手与TcpDump抓包分析
  • 原文地址:https://www.cnblogs.com/gossip/p/5651282.html
Copyright © 2011-2022 走看看