zoukankan      html  css  js  c++  java
  • zabbix 邮件报警配置

      zabbxi 邮件告警推送有两种方式:

      1.使用zabbix服务端的本地邮箱账号发送,邮件名为:user@hostname.localdomain,user为发送邮件的用户,hostname为zabbix-server的主机名,该邮箱只能发送,不能接收外部邮件;

      2.使用外部邮箱指定为告警发送邮箱

    本文采用第2种方式进行配置

      1.在线安装:yum -y install sendmail 

    systemctl start sendmail.service #启动sendmail
    systemctl enable sendmail.service #设置开机自起
    systemctl stop sendmail.service #停止sendmail

      2.安装邮件发送工具mailx: yum -y install mailx

      3.我是用的是腾讯的企业邮箱,需要在服务器上下载SSL证书:

    mkdir -p /root/.certs/
    echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
    certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
    certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
    certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i qq.crt
    certutil -L -d /root/.certs

      4..配置外部邮箱:编辑   view /etc/mail.rc

    set from=service@****.com#发件箱
    set smtp=smtps://smtp.exmail.qq.com:465 #smtp地址,我用的腾讯企业邮箱 我是用的是阿里云服务器 阿里云把邮件的默认25端口给禁用掉了,可以申请解除,本文用的465端口来发送邮件 set smtp-auth-user=serice@******.com set smtp-auth-password=****** #邮箱授权码
    set smtp-auth=login set nss-config-dir=/etc/pki/nssdb set ssl-verify=ignore #ssl认证方式 set nss-config-dir=/root/.certs #证书所在目录 

      5.测试邮箱发送(查看邮箱是否收到邮件):echo "zabbix test mail" |mail -s "zabbix" server@******.com 

      6..编写邮件发送脚本

        1.修改脚本路径:vim /etc/zabbix/zabbix_server.conf

    AlertScriptsPath=/etc/zabbix/alertscripts

        2.编写脚本mail.sh
          进入zabbix目录:cd /ect/zabbix
          创建alertscripts文件夹并进入文件夹创建mail.sh文件: mkdir alertscripts && cd alertscripts && touch mail.sh
          编辑mail.sh文件:vim mail.sh (将以下粘贴到mial.sh中)

    #!/bin/bash
    echo "$3" | mail -s "$2" $1 //$1:收件人邮箱地址;$2:邮件标题;$3:邮件内容

          为mail.sh授权:chmod 755 mail.sh
      7.web端配置
        1.创建报警媒介类型 (脚本参数分别对应:收件人地址、主题、详细内容)
        

        2.配置用户 选择admin用户

        

      

      3.添加报警媒介

              

    4.创建报警动作 配置-动作-创建动作,新建动作:

      5.新建操作:

         

          

        新建操作就是通过何种方式将消息发送给谁,其它选项默认。

        6.添加恢复操作

                

        7.添加后的动作:

       

       7.测试邮件告警

        新增告警项,在agent端/home文件系统使用dd命令创建文件,将文件系统使用率提升至90%以上以触发告警:

    dd if=/dev/zero of=test bs=1M count=2000 #用dd命令生成一个2000M的test文件,使/home使用率告警。

      触发邮件告警:

      

      发现邮件以附件方式发送,显示不正常,修改邮件发送脚本。

      安装dos2unix转换工具:yum -y install dos2unix

      编辑发送脚本:

     cd /etc/zabbix/alertscripts
     touch mailtmp.txt && chmod 777 mailtmp.txt
     chown -R zabbix:zabbix /etc/zabbix/alertscripts/ more mail.sh
       #!/bin/bash
       FILE=/etc/zabbix/alertscripts/mailtmp.txt
       echo "$3" >$FILE
       dos2unix -k $FILE
      cat $FILE|/bin/mail -s "$2" $1

      注意:dos2unix命令执行的时候会产生临时文件,所以要有写的权限,故应修改alertscripts目录属主,不然测试过程中会报错:‘dos2unix: Failed to open temporary output file: 权限不够’。

      发现正文不再以附件形式显示。

      查看告警日志:

      

      至此邮件告警配置完成。

     

  • 相关阅读:
    JavaScript基础(13_宿主对象DOM)
    JavaScript基础(12_正则表达式)
    JavaScript基础(11_字符串的基本操作)
    JavaScript基础(10_call()方法与apply()方法)
    JavaScript基础(09_数组(Array))
    JavaScript基础(08_垃圾回收)
    c# tolist() 浅析
    技术人员,你的表达能力怎样?
    jquery中的$("#id")与document.getElementById("id")的区别
    MVC Filter验证登录
  • 原文地址:https://www.cnblogs.com/qinxu/p/9838778.html
Copyright © 2011-2022 走看看