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: 权限不够’。

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

      查看告警日志:

      

      至此邮件告警配置完成。

     

  • 相关阅读:
    LeetCode 326. Power of Three
    LeetCode 324. Wiggle Sort II
    LeetCode 322. Coin Change
    LeetCode 321. Create Maximum Number
    LeetCode 319. Bulb Switcher
    LeetCode 318. Maximum Product of Word Lengths
    LeetCode 310. Minimum Height Trees (DFS)
    个人站点大开发!--起始篇
    LeetCode 313. Super Ugly Number
    LeetCode 309. Best Time to Buy and Sell Stock with Cooldown (DP)
  • 原文地址:https://www.cnblogs.com/qinxu/p/9838778.html
Copyright © 2011-2022 走看看