天天看點

zabbix郵件報警發送至qq郵箱

第一、安裝郵件發送工具mailx

  這裡我選擇的是mailx,是以的關閉其他的郵件發送工具

   service sendmail  start #開啟,因為發送郵件需要開啟25端口

   chkconfig sendmail  off #禁止開機啟動

   service postfix  stop

   chkconfig postfix  off

   執行安裝mailx的指令:yum install mailx

  第二、配置Zabbix服務端外部郵箱 

   打開檔案vi /etc/mail.rc 如果mail.rc檔案沒有,就手動建立 内容如下:

     set sendcharsets=iso-8859-1,utf-8

     set [email protected]

     set smtp=smtp.qq.com

     set [email protected]

     set smtp-auth-password=********

     set smtp-auth=login

     set ssl-verify=ignore

     set nss-config-dir=/etc/pki/nssdb

  第三、測試郵件是否可以發出

   echo"zabbix test mail" |mail -s "zabbix" [email protected]

  #這時候,郵箱[email protected]會收到來自[email protected]的測試郵件

  第四、編寫發送郵件腳本

  進入下面路徑:/usr/local/zabbix/share/zabbix/alertscripts

建立sendmail.sh檔案,内容如下

  #!/bin/bash

to=$1

subject=$2

file="/tmp/mail$RANDOM"

echo $3 > $file

sed -i -e 's/ //g' -e 's/\r/\n/g' $file

date "+%F %T" >> /usr/local/zabbix/share/zabbix/alertscripts/sendmail.log

echo "$to" "$subject" >> /usr/local/zabbix/share/zabbix/alertscripts/sendmail.log

cat "$file" >> /usr/local/zabbix/share/zabbix/alertscripts/sendmail.log

cat "$file" | /bin/mail -s "$subject" "$to"

rm -f $file

   上面的這個三個參數是接收從web頁面中傳遞過來的,$1:收件人郵箱位址;$2:郵件标題;$3:郵件内容

   為什麼我們會在這個路徑下面建立這個腳本呢,這是在我們的zabbix_server.conf檔案中配置的

  AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

   是以你不想将這個腳本放在這個目錄下面,需要修改服務端的配置檔案中的AlertScriptsPath的值

  第四、配置web頁面

  4.1、建立媒體類型

  點選建立媒體類型

  添加以下3個參數,分别對應sendmail.sh腳本需要的3個參數:收件人位址、主題、詳細内容

      {ALERT.SENDTO}

      {ALERT.SUBJECT}

      {ALERT.MESSAGE}

如果在3.0中不添加這三個參數會報錯,因為在3.0以後zabbix允許自定義參數了,是以不會預設傳遞參數,在2.0的時候會預設傳遞三個參數,是以在3.0如果不寫這三個參數會報錯。

  4.2、給使用者添加報警媒介

  在這以Admin使用者為例 管理—》使用者—》點選Admin

zabbix郵件報警發送至qq郵箱

 點選Admin

 4.3、建立動作

  填寫動作選項 

  除了自己填寫一個名稱以外,其餘的都預設就好了。當然也可以修改成中文:參考如下

 預設接收人:故障{TRIGGER.STATUS},伺服器:{HOSTNAME1}發生:{TRIGGER.NAME}故障!

 預設資訊:

 告警主機:{HOSTNAME1}

 告警時間:{EVENT.DATE}{EVENT.TIME}

 告警等級:{TRIGGER.SEVERITY}

 告警資訊: {TRIGGER.NAME}

 告警項目:{TRIGGER.KEY1}

 問題詳情:{ITEM.NAME}:{ITEM.VALUE}

 目前狀态:{TRIGGER.STATUS}:{ITEM.VALUE1}

 事件ID:{EVENT.ID}

 恢複資訊:打鈎

 恢複主旨:恢複{TRIGGER.STATUS},伺服器:{HOSTNAME1}: {TRIGGER.NAME}已恢複!

 恢複資訊:

 已啟用:打鈎

  填寫條件選項

  填寫操作詳細資訊

 解釋:預設的步驟是1-1,也即是從1開始到1結束。一旦故障發生,就是執行sendEmail.sh腳本發生報警郵件給Admin使用者和zabbix administrator組。假如故障持續了1個小時,它也隻發送一次。如果改成1-0,0是表示不限制.無限發送 間隔就是預設持續時間60秒。那麼一個小時,就會發送60封郵件。

  到這我們的郵件報警配置就完成了,這是隻要我們設定的觸發器觸發,就會自動給我發送報警郵件。

 測試郵件報警

 我将zabbix自帶的模闆中的對可用記憶體的監控中的觸發器的臨界值改為大于0,進入模闆清單

 點選觸發器

 點選修改

  儲存以後 我将每一分鐘收到一份報警郵件 内容如下:

本文轉自 linuxpp 51CTO部落格,原文連結:http://blog.51cto.com/1439337369/1979146,如需轉載請自行聯系原作者

繼續閱讀