實現目的:
在Zabbix服務端設置郵件報警,當被監控主機宕機或者達到觸發器預設值時,會自動發送報警郵件到指定郵箱。
具體操作:
以下操作在Zabbix監控服務端進行
備注:Zabbix監控服務端
操作系統:CentOS
主機名:localhost.localdomain
郵件報警有兩種情況:
1、Zabbix服務端只是單純的發送報警郵件到指定郵箱,發送報警郵件的這個郵箱賬號是Zabbix服務端的本地郵箱賬號(例如:root@localhost.localdomain),只能發送,不能接收外部郵件。
(zabbix服務端 → 指定郵箱)
2、使用一個可以在互聯網上正常收發郵件的郵箱賬號(例如:xxx@163.com),通過在Zabbix服務端中設置,使其能夠發送報警郵件到指定郵箱。
(zabbix服務端指定一個發件郵箱:發件郵箱 → 指定郵箱)
第一種:使用Zabbix服務端本地郵箱賬號發送郵件
一、安裝sendmail或者postfix
yum install sendmail #安裝
service sendmail start #啟動
chkconfig sendmail on #設置開機啟動
或者安裝
yum install postfix
service postfix start
chkconfig postfix on
sendmail和postfix只需要安裝一個即可並開啟服務即可。
二、安裝郵件發送工具mailx
yum install mailx #安裝
CentOS 5.x 編譯安裝mailx,直接yum安裝的mailx版本太舊,使用外部郵件發送會有問題。(如果mailx版本太舊)
yum remove mailx #卸載系統自帶的舊版mailx
下載mailx:(如果太舊再編譯安裝新的版本)
mailx -V #查看版本信息
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 #創建mailx到mail的軟連接
ln -s /etc/nail.rc /etc/mail.rc #創建mailx配置文件軟連接
whereis mailx #查看安裝路徑
mailx -V #查看版本信息
echo "zabbix test mail" |mail -s "zabbix" xxx@163.com
#測試發送郵件,標題zabbix,郵件內容:zabbix test mail,發送到的郵箱:xxx@163.com
三、配置Zabbix服務端郵件報警
1、打開Zabbix
管理-示警媒介類型-Email
名稱:Email
類型:電子郵件
SMTP 服務器:zabbix.sa.huanqiu.com
SMTP HELO:zabbix.sa.huanqiu.com
SMTP電郵:zabbix@zabbix.sa.huanqiu.com
已經用:勾選
備注:zabbix.sa.huanqiu.com為Zabbix監控端主機名稱,建議修改,否則使用默認的localhost.localdomain發送郵件會被當做垃圾郵件攔截。
2、設置Zabbix用戶報警郵箱地址
配置-用戶-Admin (Zabbix Administrator)
切換到示警媒介
添加
類型:Email
收件人:xxx@163.com
其他默認即可,也可以根據需要設置
狀態:已啟用
3、設置Zabbix觸發報警的動作
配置-動作-創建動作
四、測試Zabbix報警
關閉Zabbix客戶端服務
service zabbix_agentd stop
查看xxx@163.com郵箱,會收到報警郵件
第二種:使用外部郵箱賬號發送報警郵件設置(目前還沒成功配置)
一、關閉sendmail或者postfix
service sendmail stop #關閉
chkconfig sendmail off #禁止開機啟動
service postfix stop
chkconfig postfix off
備注:
使用外部郵箱賬號時,不需要啟動sendmail或者postfix
如果在sendmail或者postfix啟動的同時使用外部郵箱發送報警郵件,首先會讀取外部郵箱
配置信息。
二、安裝郵件發送工具mailx (如果沒有安裝,或版本太舊)
mailx -V #查看版本信息
yum install mailx #安裝
CentOS 5.x 編譯安裝mailx,直接yum安裝的mailx版本太舊,使用外部郵件發送會有問題。
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 #創建mailx到mail的軟連接
ln -s /etc/nail.rc /etc/mail.rc #創建mailx配置文件軟連接
whereis mailx #查看安裝路徑
三、配置Zabbix服務端外部郵箱
vim /etc/mail.rc #編輯,添加以下信息
set from=xxx@163.com smtp=smtp.163.com
set smtp-auth-user=xxx@163.com smtp-auth-password=123456
set smtp-auth=login
:wq! #保存退出
echo "zabbix test mail" |mail -s "zabbix" yyy@163.com
#測試發送郵件,標題zabbix,郵件內容:zabbix test mail,發送到的郵箱:yyy@163.com
#這時候,郵箱yyy@163.com會收到來自xxx@163.com的測試郵件