NDOUtils Nagios MySQL

以Nagios不間斷監控系統服務

2011-01-05
在講求客戶權益的現代,「服務中斷」是每個企業都無法承受的考驗,更是每個網管人員心中揮之不去的夢魘。但限於人力的考量,網管人員不可能24小時都站在主機前監控系統服務的運作,因此一套能時時監控系統服務,當系統服務發生異常時能夠即時通知管理者的監控系統,將是每個網管人員所迫切需要的。
安裝nagios_plugin

首先須取得plugin相關程式,所以執行指令「wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz」下載檔案,然後以指令「./configure --prefix=/usr/local/nagios && make all && make install」編譯並安裝。

在安裝完成後,可檢查「/usr/local/nagios/plugins/libexec/」目錄下是否有相關的plugin程式存在,例如check_http_J用來檢查HTTP服務是否存在。

其實,每個pluign的程式即為一獨立的程式,可單獨拿來運用,在這裡由於本解決方案的目標在於檢查HTTP、SSH及SMTP服務是否有正常的運作,所以簡單地介紹檢查check_http、check_ssh、check_smtp、check_ping服務的程式用法。

check_http(檢查網站伺服器狀態)

check_http可使用的參數如下所述:
-H:欲監控的網站網域名稱(如www.example.com)。
-I:如果無法使用DNS服務,即可利用IP資訊來進行監控。此選項即是用來輸入欲監控的IP資訊。
-p:設定欲監控的埠資訊,預設為80。
-u:可直接設定預設監控該網站的URL位址,預設為根目錄「/」。
-w:設定警告(Warn)狀態的回應時間,單位為秒。
-c:設定嚴重錯誤(Critical)狀態的回應時間,單位為秒。
-t:設定連接測試的時間(Timeout),預設為10秒(即10秒內無法跟對方建立連線即判定對方無法連線)。
-P:在測試的過程中,同時以POST的方式發出參數資訊。
-r:可以正規表示法(Regulator Express)設定來判別網站伺服器是否存在。例如,首頁的內容含有「資訊安全」字樣,即可設定比對回傳值中含有資訊安全的字樣,才算網站伺服器還存活著,這會比單純測試埠狀態還要精準。

可利用指令「./check_http -I xxx.xxx.xxx.xxx」來檢查網站伺服器是否存活,回應會如下的三種狀況:

1. 正常存活情況(回應資訊會告知OK及相關如回應時間等資訊)


2. 警告(Warn)情況(回應資訊會告知WARNING及相關如回應時間等資訊,以下例子為一個須認證方可使用的網站伺服器)


3. 嚴重(Critical)情況(回應資訊會告知Critical及相關如回應時間等資訊,下例為一個已停止運作的網站伺服器)


check_ssh(檢查SSH服務是否存在)

可使用的參數如下所述:
-H:設定欲監控的主機網域名稱或IP資訊。
-p:設定欲監控主機的埠資訊,預設為22。
-4:使用IPv4的方式連接。
-6:使用IPv6的方式連接。
-t:設定連接測試的時間(Timeout),預設為10秒(即10秒內無法跟對方建立連線即判定對方無法連線)。
-r:比對被監控的SSH版本,如果不符合所設定的字串,即以警告方式告知,例如當設定比對字串為OpenSSH_3.9p1時,若被監控的主機不符合此版本,即顯示Warn資訊。

可利用「./check_ssh -H xxx.xxx.xxx.xxx」來測試SSH服務是否存活回應,會有以下的三種狀況:

1. 正常存活情況(回應資訊會告知OK及版本等相關資訊)


2. 警告(Warn)情況(回應資訊會告知WARNING相關資訊,下例為使用指令「./check_ssh -H xxx.xxx.xxx.xxx –r "OpenSSH_3.0"」,比對版本為OpenSSH_3.0,但實際版本為OpenSSH_5.0,即會產生如下的警告訊息。


3. 嚴重(Critical)情況(回應資訊會告知Critical及相關如回應時間等資訊,下例為一個已停止運作的SSH服務)


check_smtp(檢查SMTP伺服器)

可使用的參數如下所述:
-H:設定欲監控的主機網域名稱或IP資訊。
-p:設定欲監控主機的埠資訊,預設為22。
-4:使用IPv4的方式連接。
-6:使用IPv6的方式連接。
-e:設定判別字串。預設為220(這是SMTP回應成功的意思)。如果設定為220,表示SMTP要回應220訊息,check_smtp才會將該台的SMTP伺服器判別為存活。
-S:使用STARTTLS與SMTP伺服器連線測試。
-A:設定SMTP伺服器認證型式(預設為none,目前僅支援LOGIN認證型式)。如果設為LOGIN,即表示以LOGIN的認證型式來測試SMTP伺服器。
-U:設定SMTP伺服器的帳號資訊,可利用此帳號資訊來測試SMTP伺服器。
-P:設定SMTP伺服器的密碼資訊,與帳號資訊配合來測試SMTP伺服器。
-w:設定警告(Warn)狀態的回應時間,單位為秒。
-c:設定嚴重錯誤(Critical)狀態的回應時間,單位為秒。
-t:設定連接測試的時間(Timeout),預設為10秒(即10秒內無法跟對方建立連線即判定對方無法連線)。

可利用「./check_smtp -H xxx.xxx.xxx.xxx」來檢查網站伺服器是否存活,回應會如下的兩種狀況:

1. 正常存活情況(回應資訊會告知OK及相關如回應時間等資訊)


2. 嚴重(Critical)情況(回應資訊會告知Critical及相關資訊,下例為一個已停止運作的SMTP伺服器)



追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!