使用Nagios實現(xiàn)網(wǎng)絡(luò)監(jiān)控
如何使用Nagios實現(xiàn)網(wǎng)絡(luò)監(jiān)控?
一個系統(tǒng)管理員怎樣才能夠監(jiān)控眾多的機器和服務(wù),以便在人們受到危害之前,盡早的發(fā)現(xiàn)并解決問題?該問題的答案是Nagios。
Nagios是一個開放源碼的網(wǎng)絡(luò)監(jiān)控工具。它不僅免費,而且功能強大,并具有極強的可定制性。雖然學(xué)習(xí)和實施它比較復(fù)雜,但它在記錄你們組織的IT基礎(chǔ)架構(gòu)如何運行方面,會節(jié)省大量的時間。
在這個分成兩部分的專欄中,在***部分,我將重點討論Nagios的有效性和它的體系結(jié)構(gòu)。而在第二部分,我將提供配置的例子和建議。查看第二部分
為了理解Nagios的有效性,通常要考慮一個典型的IT基礎(chǔ)架構(gòu)由一個或多個系統(tǒng)管理員負責(zé)。即使是一個小公司,在他們所使用的計算機系統(tǒng)中,也應(yīng)該包含有一定數(shù)量的,運行著許多服務(wù)和軟件包的硬件。大公司則有成百上千的同類設(shè)施需要維護和運行。因此,不管是小公司,還是大公司,都需要分散式的操作,也就是擁有分散的IT基礎(chǔ)架構(gòu),這種架構(gòu)在物理上沒有掌握所有機器信息的能力。
自然地,每一件硬件都將運行***一套軟件產(chǎn)品。這就需要面對眾多的硬件和軟件需要監(jiān)控,但管理員并不能注意到每一個特殊的項目;在這種情況下,默認只能采取發(fā)生問題后進行解決的方案,也就是基于反應(yīng)的問題解決方法。而更糟糕的是,此種問題通常來自于終端用戶的抱怨,這無疑為使IT部門的工作受到質(zhì)疑。
除了顯而易見的公共關(guān)系問題,這種基于反應(yīng)的問題解決方案效率非常低下。如果及早發(fā)現(xiàn)問題,只需幾分鐘就能夠解決,但若是發(fā)現(xiàn)的晚了,則將浪費更多的時間。舉例來說,若是發(fā)現(xiàn)的早,通過日志就可以在磁盤空間用完之前,解決數(shù)據(jù)庫空間不足的問題,并很容易就能夠修復(fù),但若是在系統(tǒng)暫定之后再進行修復(fù),由于日記文件已經(jīng)無法記錄,因此將變得非常困難。
因此,一個能夠幫助系統(tǒng)管理員進行此類操作的自動化工具就成為必需品。此類工具被分類到網(wǎng)絡(luò)管理軟件的類目中,都具有以下Nagios監(jiān)控主要功能:
?、倌軌蛴涀』A(chǔ)設(shè)施中運行的所有服務(wù)器和機器;
②在小問題變大之前發(fā)出警告;
?、蹚囊粋€中心地點運行,以減少必須到每臺物理機器才能解決問題的需求;
?、芴峁┮粋€有關(guān)全系統(tǒng)狀態(tài),未解決問題等的直觀視圖。
而這里還有兩個阻礙網(wǎng)絡(luò)管理軟件被廣泛采用Nagios監(jiān)控的主要原因:
—它的花費太貴;
—它需要為一個給定的環(huán)境進行有效的配置工作。
Nagios是一個開放源碼的網(wǎng)絡(luò)管理工具,因此它解決了***個主要問題。當然,即使是Nagios也需要大量的合理配置,不過在這篇文章以下的敘述中,我會提出幾個建議,以減少配置的負擔(dān)。
Nagios的體系結(jié)構(gòu)
Nagios應(yīng)用軟件運行在一個中心式的服務(wù)器上面,此服務(wù)器運行Linux或Unix操作系統(tǒng)。每一件硬件都必須由一個運行的Nagios進程監(jiān)控,此進程與中心服務(wù)器通話。根據(jù)中心服務(wù)器可以閱讀的配置文件中的指令, Nagios將“伸出并觸摸“遠程進程,并象棋發(fā)出指令,運行必要的檢查。由于軟件必須在Linux或Unix上運行,因此遠程機器上的每一個硬件都能夠被加入通話。
根據(jù)來自遠程機器的反應(yīng),Nagios之后將根據(jù)它的配置,采取適當?shù)男袆印6鶕?jù)遠程測試執(zhí)行的需要,Nagios將通過一臺本地機器能力(例如,測試一個文件是否存在),或運行一個定制的測試程序(叫做插件),來執(zhí)行測試,測試更多特殊的項目(例如,檢查是否有一組特殊的值被放如數(shù)據(jù)庫)。如果測試返回的值不正確,Nagios將通過一種或多種方法發(fā)出警告――同樣,方法是根據(jù)Nagios的配置來選擇的。
下一節(jié)我們將進入此篇文章的第二部分。在那里,我們將舉一個Nagios配置的例子。在這里查看第二部分。
【編輯推薦】