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: 權限不夠’。

  發現正文不再以附件形式顯示。

  查看告警日志:

  

  至此郵件告警配置完成。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM