基于Linux系統(tǒng)的Nagios網(wǎng)絡(luò)管理模塊的實(shí)現(xiàn)(圖)
隨著計(jì)算機(jī)網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)管理已成為信息時(shí)代中最重要的問題之一。在現(xiàn)有的技術(shù)條件下,人們希望有一個(gè)更加穩(wěn)定可靠的網(wǎng)絡(luò)環(huán)境。計(jì)算機(jī)網(wǎng)絡(luò)管理系統(tǒng)就是應(yīng)這樣的需求而產(chǎn)生的。它對(duì)網(wǎng)絡(luò)上的各種設(shè)備進(jìn)行管理,通過監(jiān)視和控制這些設(shè)備,及時(shí)地向管理人員報(bào)告網(wǎng)絡(luò)狀態(tài),并且簡(jiǎn)化網(wǎng)絡(luò)故障的處理,減少故障造成的損失,提高網(wǎng)絡(luò)的服務(wù)質(zhì)量和效率。面對(duì)企業(yè)大大小小的服務(wù)器,單憑某個(gè)網(wǎng)管工具或某個(gè)人,已經(jīng)不能勝任如此大的工作量同時(shí)也無法滿足業(yè)務(wù)緊迫性的要求。各類企業(yè)之間以及企業(yè)內(nèi)部的服務(wù)也越來越普遍,對(duì)于企業(yè)管理員的任務(wù)也是隨之更加繁重。即使是一個(gè)小公司,在他們所使用的計(jì)算機(jī)系統(tǒng)中,也應(yīng)該包含有不少數(shù)量的,運(yùn)行著許多服務(wù)和軟件包的硬件。大公司則更有成百上千的同類設(shè)施需要管理和運(yùn)行。在管理員不可能及時(shí)去注意每一個(gè)服務(wù)和軟件的情況下,為了對(duì)這些眾多的服務(wù)和軟件進(jìn)行有效的管理。
一般來說,是采取發(fā)生問題后進(jìn)行解決的方法,即基于反應(yīng)的解決方案。但是這種解決方案通常的效率都是非常低的,如果反應(yīng)及時(shí),只需少數(shù)的幾分鐘就可以解決問題,但如果發(fā)現(xiàn)問題晚了,就會(huì)浪費(fèi)時(shí)間帶來更多損失。比如,察看及時(shí)地話,通過日志就可以發(fā)現(xiàn)某個(gè)服務(wù)是否運(yùn)行異常,然后解決掉,但如果是在此服務(wù)異常運(yùn)行已經(jīng)很嚴(yán)重時(shí),要恢復(fù)它,不僅困難還會(huì)帶來不小的損失。因此,一個(gè)完成此類檢測(cè)功能的自動(dòng)化工具對(duì)于網(wǎng)絡(luò)管理員就顯得非常重要。Nagios 是一個(gè)運(yùn)行于 Linux 系統(tǒng)上的開源網(wǎng)絡(luò)管理監(jiān)測(cè)系統(tǒng)。它強(qiáng)大的功能可以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)上的服務(wù)器進(jìn)行全面的監(jiān)控,包括服務(wù)(apache、mysql、ntp、ftp、disk、qmail 和 http 等等)的狀態(tài),服務(wù)器的狀態(tài)。
2.Nagios 系統(tǒng)
2.1 Nagios 系統(tǒng)介紹
Nagios是一個(gè)用來監(jiān)視系統(tǒng)和網(wǎng)絡(luò)的開源應(yīng)用軟件,它通常運(yùn)行于一個(gè)主服務(wù)器上,
這個(gè)服務(wù)器運(yùn)行 Liunx 或 Unix 操作系統(tǒng)。Nagios 利用其眾多的插件實(shí)現(xiàn)對(duì)本機(jī)和遠(yuǎn)端服務(wù)的監(jiān)控,當(dāng)被監(jiān)控對(duì)象出現(xiàn)異常,Nagios 就會(huì)及時(shí)給管理人員告警。它是一個(gè)基于 TCP/IP
協(xié)議的軟件包,包含有nagios主程序和它的各個(gè)插件,配置非常靈活,可以監(jiān)視的項(xiàng)目很多,也可以通過自定義 shell 腳本進(jìn)行監(jiān)控服務(wù),非常適合各類企業(yè)的網(wǎng)絡(luò)應(yīng)用。
2.2 Nagios 系統(tǒng)的主要特點(diǎn)
Nagios 系統(tǒng)的特點(diǎn)主要有下面幾點(diǎn):
1.監(jiān)控主機(jī)資源和網(wǎng)絡(luò)服務(wù)
2.允許用戶通過設(shè)計(jì)實(shí)現(xiàn)簡(jiǎn)單的插件來監(jiān)控自己特定的服務(wù)
3.當(dāng)被監(jiān)控對(duì)象出現(xiàn)問題時(shí),會(huì)及時(shí)通知管理人員
4.事先定義事件處理程序,當(dāng)對(duì)象出現(xiàn)問題時(shí)自動(dòng)調(diào)用對(duì)應(yīng)的處理程序
5.通過 web 頁(yè)面來監(jiān)視對(duì)象狀態(tài),警告提示和日志文件。
如下圖 1 為 Nagios 的結(jié)構(gòu)圖:
圖1 Nagios 系統(tǒng)的結(jié)構(gòu)圖(點(diǎn)擊查看大圖)可見,Nagios 采用分布--集中的管理模式。在 Nagios 服務(wù)器上安裝 Nagios 主程序,
在被監(jiān)控主機(jī)上安裝 Nagios 代理程序。通過 Nagios 主程序和 Nagios 代理程序之間的通訊,監(jiān)視對(duì)象的狀態(tài)。
2.3在Linux上運(yùn)行 Nagios 系統(tǒng)
Nagios 系統(tǒng)是運(yùn)行在 Linux 或者 Unix 操作系統(tǒng)之上的,安裝前確認(rèn)操作系統(tǒng)支持 TCP/IP協(xié)議并且有 C 語言編譯器(如,gcc 等)。如果沒有 web 服務(wù)器,例如 apache,預(yù)先安裝之。在 Nagois 官方網(wǎng)站下載 Nagios 主程序、插件和安裝文檔,最新版本是 Nagios 3.0rc2。Nagios 是開源項(xiàng)目,它的安裝也比較簡(jiǎn)單,按照文檔一步步執(zhí)行就可以順利完成。
如果 Nagios 安裝在/usr/local 目錄下,完成后執(zhí)行如下命令:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg這個(gè)操作用來預(yù)先檢查 nagios 配置的是否正確。如果沒有錯(cuò)誤,開始運(yùn)行 Nagios。
service nagios start (后面也可跟這些:restart, stop, reload.),也可以這樣啟動(dòng): /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfgNagios 啟動(dòng)正常后,登錄到 nagios CGIs
打開瀏覽器,輸入 http://主機(jī) IP/nagios/如果配置正確將會(huì)進(jìn)入到nagios的監(jiān)視界面,然后可以查看沒人情況下主機(jī)被監(jiān)視的細(xì)節(jié)數(shù)據(jù)。如果出現(xiàn)提示“Internal Server Error”,這可能是本機(jī)上安裝并正在運(yùn)行Redhat Linux. 首先查看 Linux 是否處于 Enforcing 模式getenforce然后把 Linux 置為 permissive 模式setenforce 0重新打開瀏覽器就可以看到被 Nagios 監(jiān)控的服務(wù)了。
現(xiàn)在訪問nagios的服務(wù)器web界面,界面如下圖2。
訪問界面圖2