使用Zabbix服務端本地郵箱賬號傳送報警郵件及指定報警郵件操作記錄

散盡浮華發表於2017-07-02

 

郵件報警有兩種情況:
1)Zabbix服務端只是單純的傳送報警郵件到指定郵箱,傳送報警郵件的這個郵箱賬號是Zabbix服務端的本地郵箱賬號(例如:root@localhost.localdomain),只能傳送,不能接收外部郵件。
2)使用一個可以在網際網路上正常收發郵件的郵箱賬號(例如:xxx@163.com),通過在Zabbix服務端中設定,使其能夠傳送報警郵件到指定郵箱。
上面第2中使用外部郵箱傳送報警郵件之前已經介紹了:分散式監控系統Zabbix-3.0.3-完整安裝記錄(5)-郵件報警部署。下面說下使用zabbix本地郵箱傳送報警郵件的設定:

1)安裝sendmail或者postfix

# yum install sendmail 
# service sendmail start 
# chkconfig sendmail on 

yum install postfix
service postfix start
chkconfig postfix on

CentOS 5.x     預設已經安裝好sendmail
CentOS 6.x     預設已經安裝好postfix
其中,sendmail和postfix只需要安裝一個即可並開啟服務即可。這裡我選擇的是使用sendmail

2)安裝郵件傳送工具mailx

# yum install mailx 
# mailx -V
--------------------------------------------------------------------------------------------
在centos5版本下yum安裝的mailx版本太舊,尤其在使用外部郵件傳送會有問題。這就需要編譯安裝高版本的xmail
# yum remove mailx        解除安裝系統自帶的舊版mailx

下載mailx:
http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2
tar jxvf mailx-12.4.tar.bz2 
cd mailx-12.4
make 
make install UCBINSTALL=/usr/bin/install 
ln -s /usr/local/bin/mailx /bin/mail 
ln -s /etc/nail.rc /etc/mail.rc 
whereis mailx 
mailx -V 
--------------------------------------------------------------------------------------------

測試傳送郵件,標題zabbix,郵件內容:zabbix test mail,傳送到的郵箱:wangshibo@huanqiu.cn。
# echo "zabbix test mail" |mail -s "zabbix" wangshibo@huanqiu.cn              //注意:sendmail服務必須啟動後才能成功傳送郵件

3)在zabbix監控介面配置郵件報警

設定Zabbix使用者報警郵箱地址

設定Zabbix觸發報警的動作(事件源是觸發器)

預設接收人:故障{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}

上面點選“新的“,配置如下:

最後測試下zabbix的郵件報警。任意關閉一臺被監控主機的zabbix_agent

可以到報表->動作日誌裡去檢視下監控郵件是否傳送成功了。

 再開啟這臺主機的zabbix_agent服務,還會收到故障恢復的郵件。

---------------------------------------------------指定監控項的報警郵件設定---------------------------------------------------------
比如說我只想要上線機器發出報警郵件,非上線機器:比如測試機、研發機只監控,不報警。

做法:專門設定一個上線的機器組,比如up,然後將上線機器放到這個up組內,在新增"動作"時的條件裡選擇這個up組。如下:

注意:上面計算方式裡是"與/或",A and (B or C or ....)and N,這就說明必須滿足A條件/D條件或者B/C/D/....中的一個時就報警

注意:將預設"Report problems to Zabbix administrators"監控報警項“禁用”了,否則,非上線機器的報警郵件也會發出來!禁用了就只會發出你設定的up組內的線上機器的報警郵件。

相關文章