超詳細步驟配置zabbix實現郵件告警

這裏實現的郵件告警方式是使用一個可以在互聯網上正常收發郵件的郵箱賬號(例如:***@163.com),通過在zabbix服務端中設置,實現當發生故障時可以發送告警郵件到指定郵箱
實現步驟:

1、 安裝郵件發送工具mailx
超詳細步驟配置zabbix實現郵件告警
能查到版本信息說明安裝成功
超詳細步驟配置zabbix實現郵件告警
2、 修改配置文件
在/etc/mail.rc文件最後添加以下內容並重啓zabbix-server服務:
超詳細步驟配置zabbix實現郵件告警
Smtp-auth-passwordd的獲取方式見下圖:
超詳細步驟配置zabbix實現郵件告警
3、 修改web端
超詳細步驟配置zabbix實現郵件告警
三個腳本參數分別對應sendmail.sh腳本里面的需要的參數:收件人地址、主題、詳細內容。
超詳細步驟配置zabbix實現郵件告警
配置用戶,以Admin爲例,因爲Admin用戶是在Zabbix administrators這個用戶羣組裏面,所以要保證這個羣組對所有的主機羣組都有管理權限:
超詳細步驟配置zabbix實現郵件告警

超詳細步驟配置zabbix實現郵件告警
超詳細步驟配置zabbix實現郵件告警
配置動作將告警和發郵件的操作關聯起來
超詳細步驟配置zabbix實現郵件告警
修改一下告警內容:
超詳細步驟配置zabbix實現郵件告警
默認標題:
{TRIGGER.STATUS}: {TRIGGER.NAME}
消息內容:

故障:{TRIGGER.STATUS},服務器:{HOSTNAME1}發生:{TRIGGER.NAME}故障!
告警主機:{HOSTNAME1},IP地址:{HOST.CONN}
告警時間:{EVENT.DATE}--{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

告警恢復內容也修改一下:
超詳細步驟配置zabbix實現郵件告警

默認標題:
{TRIGGER.STATUS}: {TRIGGER.NAME}
消息內容:
恢復:{TRIGGER.STATUS},服務器:{TRIGGER.NAME} 已經恢復!   
 告警主機:{HOSTNAME1} ,IP地址:{HOST.CONN}
告警時間:{EVENT.DATE}---{EVENT.TIME}
恢復時間:{EVENT.DATE}---{EVENT.RECOVERY.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

超詳細步驟配置zabbix實現郵件告警
恢復操作設置相同
註釋:步驟1-3:默認是1-1,就是從1開始到1結束,一旦故障發生,就執行sendmail.sh腳本發送告警郵件給你設置的用戶羣組或用戶(我上面只添加了Admin用戶),如果故障持續了一個小時也沒解決,它也只執行一次,如果是1-0,0表示無限次,發送間隔就是步驟持續時間60s,就會發送60封郵件,顯然是不合理的。
Web端配置完畢
4、 編寫sendmail.sh腳本
注意你在zabbix-server的配置文件中設置的告警腳本存放路徑:
超詳細步驟配置zabbix實現郵件告警
我這裏選擇了默認,沒做修改,所以sendmail.sh腳本必須放在此路徑下面
腳本內容如下(記得+X權限):
超詳細步驟配置zabbix實現郵件告警

#!/bin/sh
export.UTF-8
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
touch /tmp/mailtmp.txt
chown zabbix.zabbix /tmp/mailtmp.txt

5、 驗證測試
在zabbix server端停掉zabbix-agent,看能否收到告警郵件
超詳細步驟配置zabbix實現郵件告警
超詳細步驟配置zabbix實現郵件告警
恢復郵件:
超詳細步驟配置zabbix實現郵件告警
zabbix郵件告警已完成
ending.....

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章