Zabbix郵件告警看了不少文檔,寫的那叫一個蛋疼,明明沒有發出去郵件,硬要糊弄觀衆,我也跟着被糊弄。linux
操做系統環境:web
CentOS 5.5 x84_64位shell
Zabbix版本2.2.3bash
Web服務器:LNMP服務器
環境部署,參考其餘靠譜文檔,建議官方文檔,今天咱們聊聊zabbix郵件告警的事。測試
項目即監控項,觸發器至關於給監控項設置閾值,根據表達式觸發觸發器,產生報警。spa
關於操做系統CentOS6.0 如下版本都是經過mail命令調用sendmail的sm-client發送郵件,因此若是關閉sendmail按照不少網上的文檔是發不出郵件的。操作系統
那麼mail命令若是仔細觀察的話其實調用的是mailx來調用第三方非本地smpt服務。code
一. 首先卸載(或中止) senmail升級安裝mailxserver
1) 中止sendmail:
[root@localhost ~]# /etc/init.d/sendmail stop [root@localhost ~]# chkconfig sendmail off [root@localhost ~]#
2) 安裝mailx:
[root@localhost workplace]# ls mailx-12.4 mailx-12.4.tar.bz2 zabbix-2.2.3 zabbix-2.2.3.tar.gz [root@localhost workplace]# [root@localhost workplace]# cd mailx-12.4 [root@localhost mailx-12.4]# make && make install UCBINSTALL=/usr/bin/install
若是碰到錯誤自行解決.
3) 配置mailx:
[root@localhost ~]# cd /usr/local/bin/ [root@localhost bin]# cp mailx /bin/mail cp: overwrite `/bin/mail'? y [root@localhost bin]#
4) 配置第三方smtp服務:
能夠註冊新浪郵箱測試發送給網易郵箱
Mailx的配置文件/etc/nail.rc~
[root@localhost ~]# vi /etc/nail.rc set from=test001@sina.com #你的用戶名 set smtp=smtp://smtp.sina.cn:25 set smtp-auth-user= test001@sina.com #你的用戶名 set smtp-auth-password= test001 #你的密碼
5) 測試發送一份郵件
登錄163查看是否收到郵件。
調用第三方郵件服務器配置完成,mailx的好處是佔用系統資源小,速度快,配置簡潔。
也可使用它鏈接公司內部服務器,這樣作就更好了。
二. Zabbix 配置文件配置。
1) 首先咱們配置zabbix的配置文件,使其示警媒介支持腳本。
修改zabbix_server.conf中的
# AlertScriptsPath=${datadir}/zabbix/alertscripts
爲
AlertScriptsPath=/usr/loca/zabbix/alertscripts
2) 創建示警媒介可執行腳本的存放目錄:
[root@localhost ~]# mkdir /usr/local/zabbix/alertscripts [root@localhost ~]# chmod 755 /usr/local/zabbix/alertscripts [root@localhost ~]# chown -R zabbix:zabbix /usr/local/zabbix/alertscripts
這幾步至關重要!!!
3) 腳本的編寫:
[root@localhost ~]# cat /usr/local/zabbix/alertscripts/sendmail.sh #!/bin/bash echo "$3" | /bin/mail -s "$2" $1 [root@localhost ~]#
很是簡單:
說明一下: $3是郵件內容
$2 郵件標題
$1 發送給誰
三. Zabbix web頁面配置:
1) 示警媒介配置:
注意其中的類型以及腳本名稱
類型選擇腳本,名稱選擇你在alertscripts目錄下創建的腳本文件名稱。
2) 用戶配置
多個收件人,注意以逗號隔開,而後存檔。
注意這個類型選擇你在示警媒介中定義的名稱。
3) 動做配置:
4) 測試一下:
把觸發項的閾值調節一下
郵件效果:
5) 郵件發送成功在web上頁面上如何看到?
6) 若是郵件發送在linux服務商能成功,就是zabbix發送不成功,在那裏看?
在51cto有朋友可能遇到這個問題,怎麼排錯
若是信息發送不成功,一般會顯示在信息欄,好比超時,等等。
在信息欄看到:Timeout while executing a shell script 說明zabbixserver 的timeout設置的太低因此發不出去郵件,默認是3秒,改爲10-30秒的樣子應問題解決!