zabbix3 設置郵件報警(五)


Zabbix郵件報警配置

一、安裝sendmail或者postfix(安裝一種即可)

yum install sendmail                 #安裝
service sendmail start              #啟動
chkconfig sendmail on                #設置開機啟動
或者
yum install postfix
service postfix start
chkconfig postfix on

二、安裝郵件發送工具mailx

yum install mailx         #安裝    

三、設置發送郵件的email,用於郵件發送

cat /etc/mail.rc  //內容如下

set from=xxx@sina.cn
set smtp=smtp.sina.com
set smtp-auth-user=xxx@sina.cn
set smtp-auth-password=xxxxxxx
set smtp-auth=login

發送測試郵件

echo "zabbix test ..." |mail -s "zabbix" xxx@qq.com

四.zabbix服務器端編寫郵件發送腳本.

mkdir /etc/zabbix/alertscripts 

vim /etc/zabbix/zabbix_server.conf                  //修改alert scripts為以下路徑
AlertScriptsPath=/etc/zabbix/alertscripts

/etc/init.d/zabbix_server restart            //重新啟動zabbix服務端

#vim /etc/zabbix/alertscripts/sendmail.sh            //編寫郵件發送腳本

messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

增加可執行權限

chown zabbix.zabbix /etc/zabbix/alertscripts/sendmail.sh
chmod +x /etc/zabbix/alertscripts/sendmail.sh

給日志賦予權限:

chown zabbix.zabbix /tmp/sendmail.log
測試:
      su - zabbix
       /etc/zabbix/alertscripts/sendmail.sh xxxx@juzifenqi.com " 測試郵件標題" "測試郵件內容"

看是否可以由zabbix用戶執行調用.

測試發送腳本

/etc/zabbix/alertscripts/sendmail.sh xxx@qq.com "測試郵件標題" "測試郵件內容"

 上述操作均在zabbix service端操作.

五.zabbix后台配置,登錄zabbix 控制台http://IP地址/zabbix.

1.> Administration|Media types | Create media type ,進入告警方式配置界面,創建sendmail.sh告警方式.

Name這里可以隨便自己定義,Type選擇scripts;Script name則輸入linux下編寫的腳本名稱,即sendmail.sh,在Script parameters處點擊Add分別添加
{ALERT.SENDTO},

{ALERT.SUBJECT},

{ALERT.MESSAGE} 3個參數,分別對應sendEmail.sh腳本需要的3個參數:收件人地址、主題、詳細內容然后點擊Add添加完成.

點擊Administration | Users,進入用戶配置界面,點擊Admin用戶,在”Media”選項卡中配置用戶接收告警的郵箱地址。點擊”Add”,在彈出的窗口中輸入用戶郵箱,見下圖:

配置完成后如下圖:

點擊User groups,點擊zabbix administrator組后面的調用模式,點擊一下,就啟用了,如下圖:

點擊 Zabbix administrators 組名稱 點Permissions->Add 選擇所有 點擊select進行更新。

2.>設置Zabbix觸發報警的動作。

Configuration-->Action 點擊右上方的Create action創建action (也可以修改已有的Actions),具體如下:

Name    名字自己隨便定義(如Server-Sendmail)

Default subject   故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
#Default subject定義收到郵件頭的信息.
Default message      #定義郵件的內容信息

告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

Recovery message    打鈎  #服務恢復后的信息

Recovery subject  恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!

Recovery message

告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

如圖:

 點擊 Configuration | Actions | Operations  如圖:

修改以下內容(實際情況,大家根據自己需求填寫,這里僅僅為了展示)

Default operation step duration 為60秒
Steps 為3,表示觸發3次動作
Send to User groups 選擇Zabbix administrators
Send to Users 選擇 Admin (Zabbix Administrator)
Send only to 選擇 sendmail.sh

點擊Add

 

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

至此zabbix郵件報警基本配置完成!

測試時,停止zabbix_agent看能否收到郵件信息!如收到信息格式個信息內容基本如下;

 

查看Reports | Action log 查看日志信息和發送狀態.

 

參考文檔:

http://www.cnblogs.com/rysinal/p/5834421.html

http://www.cnblogs.com/fujinzhou/p/5687384.html

http://www.cnblogs.com/wjoyxt/p/5368690.html

 


免責聲明!

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



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