1. 程式人生 > >nagios能正常啟動的情況下,發不出郵件

nagios能正常啟動的情況下,發不出郵件

一. 檢查sendmail或其他郵件服務能否正常發郵件(如果sendmail發郵件異常慢,則看我“網路服務的一篇文章http://blog.csdn.net/miltonzhong/article/details/10951347”)

二. 確定nagios配置檔案正確

查sendmail 的日誌/var/log/maillog,只發現我手動傳送郵件的記錄,而沒有其他傳送記錄---只有下面這麼一條記錄:

Jul 27 14:27:48 nagios sm-mta[37141]: m6RERkYR037139: to=<>, ctladdr=<> (1003/1003), delay=00:00:02, xdelay=00:00:01, mailer=esmtp, pri=30623, relay=163mx02.mxmail.netease.com. [220.181.12.66], dsn=2.0.0, stat=Sent (Mail OK queued as mx16,QsCowLDbPSxWFYxIb6TzGw==.27600S2 1217140055)
看來nagios並沒有呼叫sendmail傳送郵件。 差點忘了,nagios自己也有日誌記錄呢!趕快開啟看一眼,發現裡面有不少Warning,抽一個出來,其內容如下:
[1217166816] HOST NOTIFICATION: sery;mail-server;DOWN;host-notify-by-email;CRITICAL - Plugin timed out after 10 seconds [1217166816] Warning: Attempting to execute the command "/usr/bin/printf "%b" "***** Nagios 2.9 *****\n\nNotification Type: PROBLEM\nHost: mail-server\nState: DOWN\nAddress: 211.155.115.66\nInfo: CRITICAL - Plugin timed out after 10 seconds\n\nDate/Time: Sun Jul 27 13:53:36 UTC 2008\n" | /bin/mail -s "Host DOWN alert for mail-server!"
[email protected]
" resulted in a return code of 127.  Make sure the script or binary you are trying to execute actually exists...
其他的行也更這個類似;最有用的資訊我用紅色標記,其大意是不能執行上面的2進位制或可執行檔案。在這個條目中,只有2個執行檔案—printf及mail。我把它按原樣單獨拿出來執行,操作過程如下: (1)/usr/bin/printf  “"%b" "***** Nagios 2.9 *****\n”  輸出 ***** Nagios 2.9 *****
這是正常的結果。
(2)/bin/mail -s "Host DOWN alert for mail-server!" [email protected] 輸出su: /bin/mail: No such file or directory沒找到路徑或目錄。前面還手動發了郵件的,明明有mail這個客戶端程式呀!可能這個路徑不對,是linux的mail路徑。查一下freebsd的mail路徑,執行find / -name 得到mail在freebsd的路徑為/usr/bin/mail 到這裡,我們知道了為啥不能發郵件的根本原因,接下來,我把nagios的配置檔案commands.cfg的host-notify-by-email、service-notify-by-email的”/bin/mail”替換為“/usr/bin/mail”。其完整形式為: # 'host-notify-by-email' command definition define command{ command_name    host-notify-by-email command_line    /usr/bin/printf "%b" "***** Nagios 2.9 *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "Host $HOSTSTATE$ alert for $HOSTNAME$!" $CONTACTEMAIL$ } # 'notify-by-email' command definition define command{ command_name    service-notify-by-email command_line    /usr/bin/printf "%b" "***** Nagios 2.9 *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ } 修改完配置檔案commands.cfg後重啟 Nagios,再檢視nagios日誌,不再有“Make sure the script or binary you are trying to execute actually exists...”報錯,並且有傳送報警郵件的記錄了: [[email protected] /usr/local/nagios/var]# tail -f nagios.log [1217170467] SERVICE ALERT: mail-server;check_tcp 995;CRITICAL;SOFT;1;CRITICAL - Socket timeout after 10 seconds [1217170534] Auto-save of retention data completed successfully. [1217170577] HOST ALERT: mail-server;DOWN;SOFT;1;CRITICAL - Plugin timed out after 10 seconds [1217170587] HOST ALERT: mail-server;DOWN;SOFT;2;CRITICAL - Plugin timed out after 10 seconds [1217170597] HOST ALERT: mail-server;DOWN;SOFT;3;CRITICAL - Plugin timed out after 10 seconds [1217170607] HOST ALERT: mail-server;DOWN;SOFT;4;CRITICAL - Plugin timed out after 10 seconds [1217170607] HOST ALERT: mail-server;UP;SOFT;5;PING OK - Packet loss = 0%, RTA = 111.63 ms [1217170607] SERVICE ALERT: mail-server;check_tcp 995;CRITICAL;SOFT;2;CRITICAL - Socket timeout after 10 seconds [1217170687] SERVICE ALERT: mail-server;check_tcp 995;OK;SOFT;3;TCP OK - 3.137 second response time on port 995 [1217171057] SERVICE NOTIFICATION: sery;fav-0;check_tcp 443;CRITICAL;service-notify-by-email;CRITICAL - Socket timeout after 10 seconds 收郵件,迫不及待,哈哈,我的163郵箱收到久違的報警資訊了。再回去瞧一眼郵件日誌/var/log/malllog,也記錄了這個傳送情況。
當然還有其他的聯絡人的配置等 (nagios的配置檔案都是相互關聯的,多注意即可)
以下也許是最重要的一點,因為我用以下方法解決過問題,內網搭建的nagios伺服器最終也能及時發郵件了

   最近在外網新搭了一套nagios系統,開始幾天系統出了問題nagios還能發郵件通知,可最近出了問題老收不到郵件,手工在伺服器上發郵件又可以,後來一查sendmail的日誌和nagios的日誌,發現sendmail的郵件只有郵件資訊,沒有進郵件佇列.nagios那邊的日誌又報下面的警告:

[1292174436] Warning: Contact 'wahaha' service notification command '/usr/bin/printf "%b" "***** Nagios *****/n/nNotification Type: PROBLEM/n/nService: /boot/nHost: hostname/nAddress: 192.168.3.11/nState: CRITICAL/n/nDate/Time: Mon Dec 13 01:20:05 CST 2010/n/nAdditional Info:/n/nDISK CRITICAL - free space: /boot
8 MB (8% inode=99%):" | /bin/mail -s "** PROBLEM Service Alert: hostname//boot is CRITICAL **" [email protected]' timed out after 30 seconds

從上面的日誌看,應該是傳送超時了,也就是說設定的通知時間還不夠能讓sendmail發出郵件的時間,到這就好辦了.通過修改nagios的配置檔案nagios.cfg,將notification_timeout=30改為notification_timeout=120後重起nagios.發現已經能收到報警郵件了,到此問題解決!


相關推薦

nagios正常啟動情況郵件

一. 檢查sendmail或其他郵件服務能否正常發郵件(如果sendmail發郵件異常慢,則看我“網路服務的一篇文章http://blog.csdn.net/miltonzhong/article/details/10951347”) 二. 確定nagios配置檔案正確

MySQL如何在重啟的情況修改動態修改的引數

文章目錄 如何在不重啟的情況下,修改生效不能動態修改的引數 一、簡介 二、如何解決 如何在不重啟的情況下,修改生效不能動態修改的引數 一、簡介 問題來源於DBA內部,主從複製中提供了引數slave_skip_

使用ajaxupload外掛放在modal彈框的情況關閉彈框會繼續保留隱藏的input檔案框的解決辦法

使用ajaxupload外掛放在彈出框的情況下,關閉彈出框會繼續保留隱藏的input檔案框的解決辦法 思路是在modal框關閉時隱藏該input檔案框 $('#myModal').on('hide.b

MySQL因非正常關機的情況導致無法正常啟動的臨時解決辦法

步驟1、進入MySQL安裝目錄,找到配置檔案my.ini(linux下為my.cnf),把該檔案進行備份。 步驟2、用文字編輯器開啟my.ini(linux下為my.cnf),找到[mysqld]節,如果該節下有innodb_force_recovery,則將值改成1並啟用

解決自己電腦上的win10與ubuntu16.04的環境ubuntu正常關機重啟的情況

恭喜大家都給電腦裝上了windows和ubuntu。 自己的電腦遇上了ubuntu系統下無法正常關機和重啟的問題,會停留在幾個點的關機介面。幾番摸索,在網上找到了答案。 終端輸入 #gedit /etc/init.d/alsa-utils 在#mute_and_zero

linux( Ubuntu15.04) 和 win7 雙系統情況正常關閉win7 無法啟動無法修復提示版本相容

前一天正常關機 0.開了一次linux。 1.啟動win7試了多次,都不行正常啟動window。 2.嘗試到linux下查引導發現也沒有什麼問題,況且到修復介面說明引導過來了,否則可能都到不了這個

在高並、高負載的情況如何給表添加字段並設置DEFAULT值?

約束 nbc to_char 0.11 dex uri 5.7 product 64bit 在高並發、高負載的情況下,如何給表添加字段並設置DEFAULT值?在Oracle 12c之前,當Oracle表數據量上億時,對表執行“ALTER TABLE XXX ADD COLU

運行Maven項目時出現invalid LOC header (bad signature)錯誤Tomcat正常啟動

argument 不能 sig 嚴重 對話 toc cau ebr tom 作為Maven小白,今天這問題困擾了我好久,經過多次在網上查詢,終於找到了原因。明明一個小問題卻耗費很多時間,著實不應該,所以必須記錄一下。 報錯信息如下: 對話框: 控制臺:

手動增加lib到m2目錄maven自動download情況

hanruikaideMacBook-Pro:Downloads hanruikai$ mvn install:install-file -DgroupId=net.sf.proguard  -DartifactId=proguard-base  -Dversion=5.3.

Linux glibc庫被刪除 導致系統大部分命令都使用系統正常啟動

因為升級glibc不成功,將老版本的glibc刪除,導致系統大部分命令都不能使用,系統不能正常啟動。 解決辦法如下: 系統:CentOS release 6.5 (Final) 核心:2.6.32-431.el6.x86_64 插入系統盤選擇系統救援模式 預設會將原作業系統掛在到/mnt/sysim

孫其功陪你學之--虛擬機器突然掉電或者宕機後虛擬機器正常啟動

 本人運氣不佳,電腦執行中被斷電,導致虛擬機器無法開啟,但之前寫的程式無法找到。運用以下方法,恢復了之前的文件!深有體會啊,文件備份的重要啊 虛擬機器突然掉電或者宕機後,虛擬機器不能正常啟動的情況。虛

Tomcat設定正常情況無法啟動的原因及解決辦法

在eclipse中Tomcat設定正常,所以配置也沒有問題,但是有時我們遇到這樣的情況,Tomcat啟動超時。 這種情況是由於在工作管理員中有兩個javaw.exe 。 開啟工作管理員把這兩個Javaw.exe進行關掉,這是eclipse也會自

xampp整合套件的安裝mysql無法正常啟動的解決win10操作

xampp整合套件的安裝,mysql無法正常啟動的解決 下載xampp 7.0.13,自行百度,或者直接在csdn中搜索,本人已經上傳。 安裝時推薦放到D盤,不建議放到系統盤中,因為早期的xampp版本,可能預設安裝在program files下,這樣在wind

Oracle11.2.0.1.0節點1叢集正常啟動報CRS-4535CRS-4530

2014-07-18 17:17:58.018: [GIPCXCPT][2517008128]gipcmodGipcPassInitializeNetwork: failed to find any interfaces in clsinet, ret gipcretFail (1) 2014-07-18 1

awesome桌面環境MATLAB正常顯示

This document discusses the error that occurs when attempting to run applications such as Maple and MatLab (which use java to genera

Kafka在高並情況如何避免消息丟失和消息重復?kafka消費怎麽保證數據消費一次?數據的一致性和統一性?數據的完整性?

least 業務 針對 mar 完整 fse 依靠 更新 follow 1、kafka在高並發的情況下,如何避免消息丟失和消息重復? 消息丟失解決方案: 首先對kafka進行限速, 其次啟用重試機制,重試間隔時間設置長一些,最後Kafka設置acks=all,即需要相應的所

伺服器中的tomcat正常啟動但專案無法載入的問題

問題描述如下: 在IDEA中建立的專案,程式碼編寫完成後,可以通過IDEA直接啟動tomcat執行,執行成功。 將專案打成war包,拖到tomcat安裝目錄的webapps目錄下,直接通過startup.bat啟動tomcat,訪問響應資源,執行成功。 將war包傳送到

新安裝了XAMPP中正常啟動Apache和MySQL資料庫

在使用XAMPP的時候,由於本人系統中已經安裝了MySQL資料庫服務和Tomcat伺服器,所以在啟動的時候就會出現埠被佔用的情況。 ()一般情況Tomcat伺服器會使用80埠,MySQL會佔用3306埠,我們考慮將Apache伺服器的埠改為81,XAMPP中的埠改為3366

Oracle11.2.0.1.0叢集資料庫正常啟動報ORA-01078,ORA-01565,ORA-17503,ORA-12547錯誤

[[email protected] ~]$ crs_stat -t Name           Type           Target    State     Host         ----------------------------------------------------

一個namenode正常啟動狀態為active另一個namenode無法啟動

    簡介:我在搭建hadoop2.5.1的HDFS(HA With QJM)時遇到了上述問題。在此先強調一點:我之前做過HA,現在要重做。     問題:格式化namenode(起個別名,就叫甲吧)後,用hdfs namenode -bootstrapStandby的方