1.3在Linux上運行Nagios系統(tǒng)
Nagios系統(tǒng)是運行在Linux或者Unix操作系統(tǒng)之上的,安裝前確認(rèn)操作系統(tǒng)支持TCP/IP協(xié)議并且有C語言編譯器(如,gcc等)。如果沒有Web服務(wù)器,例如apache,預(yù)先安裝之。在Nagois官方網(wǎng)站下載Nagios主程序、插件和安裝文檔,最新版本是Nagios3.Orc2。Nagios是開源項目,它的安裝也比較簡單,按照文檔一步步執(zhí)行就可以順利完成。
如果Nagios安裝在/usr/local目錄下,完成后執(zhí)行如下
打開瀏覽器,輸人http://主機IPlnagios/如果配置正確將會進入到Nagios的監(jiān)視界面,然后可以查看沒人情況下主機被監(jiān)視的細(xì)節(jié)數(shù)據(jù)。如果出現(xiàn)提示 “Internal Server Error”,這可能是本機上安裝并正在運行Redhat Linux。首先查看Linux是否處于Enforcing模式getenforce,然后把Linux置為permissive模式 setenforce 0重新打開瀏覽器就可以看到被Nagios監(jiān)控的服務(wù)了。
2 運用Nagios實現(xiàn)對網(wǎng)絡(luò)上服務(wù)器的監(jiān)控
2.1實現(xiàn)原理
處于網(wǎng)絡(luò)中的各種服務(wù)器需要管理和維護,管理員不可能及時對每一臺的狀態(tài)都進行監(jiān)控,這時候當(dāng)然需要借助軟件的功能來實現(xiàn)了。
Nagios的功能是監(jiān)控服務(wù)和主機,但是他自身并不包括這部分功能,所有的監(jiān)控、檢測功能都是通過各種插件來完成的。啟動Nagios后,它會周期性的自動調(diào)用插件去檢測服務(wù)器狀態(tài),同時Nagios會維持一個隊列,所有插件返回來的狀態(tài)信息都進人隊列Nagios,每次都從隊首開始讀取信息,并進行處理后,把狀態(tài)結(jié)果通過Web顯示出來。
Nagios提供了許多插件,利用這些插件可以方便的監(jiān)控很多服務(wù)狀態(tài)。安裝完成后,在Nagios主目錄下的/libexec里放有Nagios自帶的可以使用的所有插件,如,check_disk是檢查磁盤空問的插件,check_ load是檢查CPU負(fù)載的,等等。每一個插件可以通過運行./check_xxx h來查看其使用方法和功能。Nagios可以識別4種狀態(tài)返回信息,即0(0K)表示狀態(tài)正常、
1(WARNING)表示出現(xiàn)一定的異常、
2 (CRITICAL)表示出現(xiàn)非常眼中的錯誤、
3 (UNKNOWN)表示被監(jiān)控的對象已經(jīng)停止了。Nagios根據(jù)插件返回來的值,來判斷監(jiān)控對象的狀態(tài),并通過Web顯示出來,以供管理員及時發(fā)現(xiàn)故障。
2.2利用Nagios的NRPE插件實現(xiàn)網(wǎng)絡(luò)上服務(wù)器的監(jiān)控
知道Nagios是如何通過插件來管理服務(wù)器對象后,現(xiàn)在開始研究它是如何管理遠(yuǎn)端服務(wù)器對象的。Nagios系統(tǒng)提供了一個插件NRPE。Nagios通過周期性的運行它來獲得遠(yuǎn)端服務(wù)器的各種狀態(tài)信息。它們之間的關(guān)系如圖2。
圖2 Nagios通過NRPE來遠(yuǎn)端管理服務(wù)