NDOUtils Nagios MySQL

以Nagios不間斷監控系統服務

2011-01-05
在講求客戶權益的現代,「服務中斷」是每個企業都無法承受的考驗,更是每個網管人員心中揮之不去的夢魘。但限於人力的考量,網管人員不可能24小時都站在主機前監控系統服務的運作,因此一套能時時監控系統服務,當系統服務發生異常時能夠即時通知管理者的監控系統,將是每個網管人員所迫切需要的。
本文將利用開放原始碼社群中的Nagios,實作一套可即時監控系統服務的監控系統。由於Nagios的原始設計對於監控結果的資訊是採用檔案的方式儲存,對於資料取用較為不方便,因此本解決方案將另外介紹NDOUtils軟體,此軟體會把Nagios的監測結果資訊存入MySQL資料庫中,讓監控資料更易於應用,而實作所需的套件如最下方表格所示。


安裝Nagios

在開始安裝使用Nagios之前,先來說明下列幾個與Nagios相關的名詞:

‧主機(Host):這算是Nagios監視的主體,只要列入Nagios監視清單內的機器均可視為主機的角色,但要特別說明的是,這裡所謂的主機並不局限於一般所認知如PC、伺服器等的主機,一般的網路設備如Router、Switch、Printer等,在Nagios的認知中也是屬於主機的角色。Nagios可針對整個主機進行監控。

‧服務(Service):這算是主機角色的下層角色,通常一個主機會運作多個服務,如HTTP、FTP服務等,Nagios可針對某個服務進行監控。

‧指令(Command):設定用來監控主機或監控服務或通知聯絡人的程式指令。如check_ftp(監控FTP服務)、check_http(監控HTTP服務)等等。

‧聯絡人(Contact):設定當所監控的主機或服務發生異常時要通知的聯絡人資訊。可在此設定聯絡人E-mail等相關資訊。

‧群組(Group):Nagios提供群組的概念可以讓管理者在管理上具有更多彈性,例如設定聯絡人群組、主機群組、服務群組等。

‧Plugin:Nagios支援如外掛形式的監控程式,除了Nagios自己的監控程式外,也允許第三方程式開發者自行開發監控程式,來增強Nagios的監控能力。

‧繼承:Nagios支援繼承的概念,讓管理者更容易管理Nagios的組態檔,例如以監控多台的主機的Apache(網站伺服器)為例,大部分的監控組態都是一樣的,差別僅在於IP而已,此時即可使用繼承的觀念來簡化設定檔,讓管理更加便利。

‧狀態:Nagios監控回覆的結果。可分為下列兩種狀態:


另外,Nagios也定義了所謂的軟狀態(Soft State)與硬狀態(Hard State)。所謂的軟狀態是指一般對於監控事件都會提供一個可容忍的容錯範圍,例如以ping指令為例,被監控主機如果只有一次未回覆icmp訊息,即被判定為主機當機就通知聯絡人,那麼聯絡人可能會有收不完的通知,所以都會設定一個可容忍的範圍,例如被監控主機連續五次都沒回覆icmp訊息,方才判定該主機已發生異常,而在這重試(Retry)動作期間的狀態即稱為軟狀態。

而硬狀態(Hard State)即是指當發生超出可容忍的範圍(如上例的被監控主機連續五次都沒有回覆icmp訊息),即進入所謂的硬狀態,而必須通知聯絡人或執行所設定的指令,例如重新啟動服務等相關指令。

‧監控期間(Time Period): 有時候網管人員不想要7-24監控(7天24小時的監控,不過在責任制的高科技產業,似乎不太可能)就可以設定監控的時間區間,例如僅在上班時間進行監控。

在了解相關Nagios的名詞後,即可開始安裝作業。首先須新增Nagios使用者帳號(Nagios預設執行的權限),再下載最新版本的Nagios。所以執行指令「wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz」下載Nagios安裝檔,目前最新的版本是3.2.3。

檔案下載回來之後,使用指令「./configure --prefix=/usr/local/nagios --enable-event-broker&& make all && make install」設定安裝的目錄為「/usr/local/nagios」並支援「--enable-event-b

roker功能」(後續使用NDOUtils軟體會用到此功能)。

接著,執行指令「make all」編譯Nagios,隨後輸入指令「make install」將Nagios相關程式安裝在「/usr/local/nagios」目錄下。


追蹤我們Featrue us

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

我知道了!