zabbix 配置郵件報警
一、安裝郵件傳送工具mailx
這裡我選擇的是mailx,所以得關閉其他的郵件傳送工具
service sendmailstop #關閉
chkconfig sendmailoff #禁止開機啟動
service postfixstop
chkconfig postfixoff
yum install mailx
二、配置Zabbix服務端外部郵箱
vi /etc/mail.rc
[email protected] smtp=smtp.163.com
set [email protected]=123456
set smtp-auth=login
:wq! #儲存退出
echo"zabbix test mail" |mail -s "zabbix" [email protected]
#測試傳送郵件,標題zabbix,郵件內容:zabbixtest mail,傳送到的郵箱:[email protected]
#這時候,郵箱[email protected]會收到來自[email protected]的測試郵件
三、配置Zabbix服務端郵件報警
1、進入zabbix管理頁面
點選管理->報警媒介型別 點選最右邊的建立媒體型別
名稱:Sendmail
型別:指令碼
指令碼名稱:sendmail.sh
新增以下3個引數,分別對應sendmail.sh指令碼需要的3個引數:收件人地址、主題、詳細內容
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
解釋:很多人安裝zabbix3.0之後,寫的指令碼一直髮信不成功,手動執行時可以的。那是因為zabbix3.0之後,可以自定義引數了。所以不寫引數,它是不會傳引數的。在2.x版本不存在這個問題,預設會傳3個引數。
2、點選Admin使用者
點選新增
選擇Sendmail指令碼,輸入收件人的郵箱地址
3、點選使用者群組,點選zabbixadministrator後面的呼叫模式,點選一下,就啟用了
點許可權->新增,選擇所有
4、點選配置->動作 點選建立動作
名稱:Action-Email
預設接收人:故障{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}已恢復!
恢復資訊:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE}{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警資訊: {TRIGGER.NAME}
告警專案:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已啟用:打鉤
點選操作
修改持續時間為60秒
新的
操作型別:送出資訊
送到使用者:新增
預設資訊:打鉤
選擇使用者:Admin
選擇
僅送到:Sendmail
存檔
解釋:預設的步驟是1-1,也即是從1開始到1結束。一旦故障發生,就是執行sendEmail.sh指令碼發生報警郵件給Admin使用者和zabbix administrator組。
假如故障持續了1個小時,它也只發送一次。如果改成1-0,0是表示不限制.無限傳送
間隔就是預設持續時間60秒。那麼一個小時,就會發送60封郵件。
5、新增Zabbix服務端郵件傳送指令碼
cd/usr/local/zabbix/share/zabbix/alertscripts #進入指令碼存放目錄
vi sendmail.sh #編輯,新增以下程式碼
#!/bin/sh
#export.UTF-8
echo"$3" | sed s/'\r'//g | mail -s "$2" $1
:wq! #儲存退出
chownzabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#設定指令碼所有者為zabbix使用者
chmod +x/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#設定指令碼執行許可權
四、測試Zabbix報警
關閉Zabbix客戶端服務
servicezabbix_agentd stop
檢視[email protected]郵箱,會收到報警郵件
再開啟Zabbix客戶端服務
servicezabbix_agentd start
檢視[email protected]郵箱,會收到恢復郵件
使用外部郵箱賬號傳送報警郵件設定完成。
至此,Zabbix郵件報警設定完成。