zabbix郵件告警

                                                             

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有朋友可能遇到這個問題,怎麼排錯

  1. 首先檢查權限,給zabbix腳本目錄可執行權限,以及用戶,並使用zabbix用戶看可否發出郵件,若是是755的權限,基本是不用zabbix用戶就能發出來郵件。
  2. 接着就是同zabbix web自帶的審計

 

 

 

若是信息發送不成功,一般會顯示在信息欄,好比超時,等等。

 

在信息欄看到:Timeout while executing a shell script 說明zabbixserver timeout設置的太低因此發不出去郵件,默認是3秒,改爲10-30秒的樣子應問題解決!

相關文章
相關標籤/搜索