基于Linux系統(tǒng)的Nagios網絡管理模塊的實現 |
發(fā)布時間: 2012/8/13 12:03:27 |
隨著計算機網絡的普及,網絡管理已成為信息時代中最重要的問題之一。在現有的技術條件下,人們希望有一個更加穩(wěn)定可靠的網絡環(huán)境。計算機網絡管理系統(tǒng)就是應這樣的需求而產生的。它對網絡上的各種設備進行管理,通過監(jiān)視和控制這些設備,及時地向管理人員報告網絡狀態(tài),并且簡化網絡故障的處理,減少故障造成的損失,提高網絡的服務質量和效率。面對企業(yè)大大小小的服務器,單憑某個網管工具或某個人,已經不能勝任如此大的工作量同時也無法滿足業(yè)務緊迫性的要求。各類企業(yè)之間以及企業(yè)內部的服務也越來越普遍,對于企業(yè)管理員的任務也是隨之更加繁重。即使是一個小公司,在他們所使用的計算機系統(tǒng)中,也應該包含有不少數量的,運行著許多服務和軟件包的硬件。大公司則更有成百上千的同類設施需要管理和運行。在管理員不可能及時去注意每一個服務和軟件的情況下,為了對這些眾多的服務和軟件進行有效的管理。
一般來說,是采取發(fā)生問題后進行解決的方法,即基于反應的解決方案。但是這種解決方案通常的效率都是非常低的,如果反應及時,只需少數的幾分鐘就可以解決問題,但如果發(fā)現問題晚了,就會浪費時間帶來更多損失。比如,察看及時地話,通過日志就可以發(fā)現某個服務是否運行異常,然后解決掉,但如果是在此服務異常運行已經很嚴重時,要恢復它,不僅困難還會帶來不小的損失。因此,一個完成此類檢測功能的自動化工具對于網絡管理員就顯得非常重要。Nagios 是一個運行于 Linux 系統(tǒng)上的開源網絡管理監(jiān)測系統(tǒng)。它強大的功能可以實現對網絡上的服務器進行全面的監(jiān)控,包括服務(apache、mysql、ntp、ftp、disk、qmail 和 http 等等)的狀態(tài),服務器的狀態(tài)。 2.Nagios 系統(tǒng) 2.1 Nagios 系統(tǒng)介紹 Nagios是一個用來監(jiān)視系統(tǒng)和網絡的開源應用軟件,它通常運行于一個主服務器上,這個服務器運行 Liunx 或 Unix 操作系統(tǒng)。Nagios 利用其眾多的插件實現對本機和遠端服務的監(jiān)控,當被監(jiān)控對象出現異常,Nagios 就會及時給管理人員告警。它是一個基于 TCP/IP協(xié)議的軟件包,包含有nagios主程序和它的各個插件,配置非常靈活,可以監(jiān)視的項目很多,也可以通過自定義 shell 腳本進行監(jiān)控服務,非常適合各類企業(yè)的網絡應用。 2.2 Nagios 系統(tǒng)的主要特點 Nagios 系統(tǒng)的特點主要有下面幾點: 1.監(jiān)控主機資源和網絡服務 2.允許用戶通過設計實現簡單的插件來監(jiān)控自己特定的服務 3.當被監(jiān)控對象出現問題時,會及時通知管理人員 4.事先定義事件處理程序,當對象出現問題時自動調用對應的處理程序 5.通過 web 頁面來監(jiān)視對象狀態(tài),警告提示和日志文件。 如下圖 1 為 Nagios 的結構圖:
在被監(jiān)控主機上安裝 Nagios 代理程序。通過 Nagios 主程序和 Nagios 代理程序之間的通訊,監(jiān)視對象的狀態(tài)。 2.3在Linux上運行 Nagios 系統(tǒng) Nagios 系統(tǒng)是運行在 Linux 或者 Unix 操作系統(tǒng)之上的,安裝前確認操作系統(tǒng)支持 TCP/IP協(xié)議并且有 C 語言編譯器(如,gcc 等)。如果沒有 web 服務器,例如 apache,預先安裝之。在 Nagois 官方網站下載 Nagios 主程序、插件和安裝文檔,最新版本是 Nagios 3.0rc2。Nagios 是開源項目,它的安裝也比較簡單,按照文檔一步步執(zhí)行就可以順利完成。 如果 Nagios 安裝在/usr/local 目錄下,完成后執(zhí)行如下命令: /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
service nagios start (后面也可跟這些:restart, stop, reload.),也可以這樣啟動: /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
現在訪問nagios的服務器web界面,界面如下圖2。 3. 運用 Nagios 實現對網絡上服務器的監(jiān)控 3.1實現原理 處于網絡中的各種服務器需要管理和維護,管理員不可能及時對每一臺的狀態(tài)都進行監(jiān)控,這時候當然需要借助軟件的功能來實現了。Nagios的功能是監(jiān)控服務和主機,但是他 自身并不包括這部分功能,所有的監(jiān)控、檢測功能都是通過各種插件來完成的。啟動 Nagios后,它會周期性的自動調用插件去檢測服務器狀態(tài),同時 Nagios 會維持一個隊列,所有插件返回來的狀態(tài)信息都進入隊列,Nagios每次都從隊首開始讀取信息,并進行處理后,把狀態(tài)結果通過 web 顯示出來。Nagios 提供了許多插件,利用這些插件可以方便的監(jiān)控很多服務狀態(tài)。安裝完成后,在nagios 主目錄下的/libexec 里放有 nagios 自帶的可以使用的所有插件,如,check_disk 是檢查磁盤空間的插件,check_load是檢查CPU負載的,等等。每一個插件可以通過運行./check_xxx –h 來查看其使用方法和功能。Nagios 可以識別 4 種狀態(tài)返回信息,即 0(OK)表示狀態(tài)正常、1(WARNING)表示出現一定的異常、2(CRITICAL)表示出現非常眼中的錯誤、3(UNKNOWN)表示被監(jiān)控的對象已經停止了。Nagios 根據插件返回來的值,來判斷監(jiān)控對象的狀態(tài),并通過 web 顯示出來,以供管理員及時發(fā)現故障。 本文出自:億恩科技【1tcdy.com】 |