環境:CentOS 7 + Zabbix 3.4
如果只是監測並不能滿足需求,還需要通過郵件的方式對問題進行報警。接下來進行實戰操作:
一、安裝郵件發送工具 mailx
如果CentOS 有郵件服務,關閉郵件服務:
service sendmailstop #關閉
chkconfig sendmailoff #禁止開機啟動
service postfixstop
chkconfig postfixoff
由於本次 CentOS 7 采用的是basic LSB 安裝,所以直接安裝發送郵件的工具
yum -y install mailx
yum -y install sendmail
二、配置zabbix服務端發送郵件
vi /etc/mail.rc #編輯文件,如果沒有,就手動創建,如下:
set sendcharsets=iso-8859-1,utf-8
set from=xxx@XXX.com
set smtp=smtp.XXX.com:25
set smtp-auth-user=xxx@XXX.com #認證用戶
set smtp-auth-password=xxx #認證密碼
三、測試郵件是否能夠發送
echo"zabbix test " |mail -s "zabbix" xxx@xxx.com #如果郵箱中能收到郵件,表示測試成功。
四、配置Zabbix Web端
1)配置SMTP server的 Media信息
其中有個默認的Email項,無需新建Media type,更改這個項目即可,如下圖:
2)配置用戶的收件郵箱
此次配置“Admin”的郵箱,如果新建了其他用戶,點擊"Create user"配置即可。
點擊“Media”->點擊"Add"
在"Send to" 中,填入有效的IP地址后,點擊"Add"添加。
3)配置觸發條件發郵件
點擊"Configuration"->“Actions”->更改默認的“Report problems to Zabbix administrators”
添加想要監控的內容:點擊“Action”->在“New Condition”中輸入內容后,本次添加: Host = XXXX點擊"Add"按鈕。Condition的條件有很多,可以是主機名,可以是服務,可以是進程等,取決於你要監控哪些內容。
接下來點擊"Operations" 選項卡,添加動作。
在Send to User groups 或 Send to Users 點擊"Add"
在彈出的對話框中,勾選一個要添加的用戶,然后點擊"Select"按鈕
注意下面的界面中,要選擇“Send message” 以便發送郵件。如果有其他腳本需要執行,可選擇"Remote Command"。最后選擇“Update”按鈕。其他選項都是默認即可。
至此,如果觸發了報警,一封郵件就能發送到管理員用戶配置的郵箱里了。
4)排錯
查看zabbix的日志:
tail -f /var/log/zabbix/zabbix_server.log
查linux郵件日志看郵件是否發出:
tail -f /var/log/maillog
執行這兩個日志檢查,通過能找到問題。如果仍有問題,檢查SMTP郵件服務器的設置、用戶及密碼、是否被防火牆判定垃圾郵件等。