隨著網(wǎng)絡(luò)不斷擴展、呈現(xiàn)多樣化,并覆蓋越來越多的有線和無線設(shè)備,用戶對網(wǎng)絡(luò)監(jiān)控工具的需求逐漸增加。雖然功能豐富的商用產(chǎn)品比比皆是,但日益壯大的監(jiān)控工具市場對來自開源社區(qū)的可靠產(chǎn)品也起到了推動作用。
本文對比測試了兩款目前主流的開源產(chǎn)品:OpenNMS 1.10.9和Zenoss Core 4.2。這兩款產(chǎn)品都很成熟,擁有類似企業(yè)級同類產(chǎn)品的全面監(jiān)控能力,并擁有良好的社區(qū)支持。
他們都能支持SNMP及其他常見協(xié)議,比如WMI、HTTP、SMTP、SSH和XML。同時,OpenNMS和Zenoss Core都能夠跨各種平臺(實際上是擁有IP地址的任何設(shè)備)監(jiān)控IT基礎(chǔ)設(shè)施。支持的功能包括:自動發(fā)現(xiàn)、能夠閱讀系統(tǒng)日志、能夠設(shè)置觸發(fā)器/警報、Web應(yīng)用程序、分布式監(jiān)控(負載均衡)等。
Zenoss在評測中得到了好評,這主要是由于其直觀的專業(yè)級管理界面。當需要幫助時,我們發(fā)覺其提供的用戶指南是很出色的向?qū)?。要知道,用戶指南在開源領(lǐng)域可不多見。Zenoss的問題主要在于,即便你僅僅管理幾個設(shè)備,也需要大量的硬件和內(nèi)存資源才能上手。
OpenNMS是另一款功能強大的網(wǎng)絡(luò)管理工具,其能夠在大多數(shù)平臺上運行,還能管理大量數(shù)據(jù)。我們特別喜歡自定義儀表板。由于它有龐大的用戶群,因此可供使用的插件數(shù)量超過15000個。
Zenoss——功能強大但耗費資源
Zenoss Core是一款開源網(wǎng)絡(luò)管理工具,運行在紅帽企業(yè)級Linux(RHEL)或社區(qū)企業(yè)級操作系統(tǒng)(CentOS)這兩大Linux版本上。其還有一個虛擬設(shè)備版本,可以使用VMware Player,在最小化安裝的CentOS上運行。Zenoss Core采用Gnu GPL2許可證發(fā)布。除了Zenoss Core開源版本外,Zenoss還提供多款商用監(jiān)控解決方案。
Zenoss無需代理,使用SNMP、SSH、Telnet和WMI等現(xiàn)有協(xié)議。在發(fā)現(xiàn)過程中,Zenoss能夠查詢單個設(shè)備,獲得關(guān)于部件和潛在依賴關(guān)系的信息。隨之獲得的基礎(chǔ)設(shè)施庫存清單被稱為“配置模型”(configuration model),這也是Zenoss網(wǎng)絡(luò)管理方案的核心部分。
除了使用自動發(fā)現(xiàn)功能外,管理員還可以手動輸入信息,借助200多個ZenPack插件為一個或多個設(shè)備擴展配置模型,增加監(jiān)控功能。ZenPack為開源免費社區(qū)開發(fā)的附件。Core ZenPack與Zenoss Core版本打包在一起,而商用版本中含有商用ZenPack。
在滿足一些硬件需求、解決一些依賴關(guān)系問題后,我們終于把Zenoss版本4.2成功地安裝到了運行CentOS 6.4最小化版本(無GUI)的虛擬機上。在測試中我們發(fā)現(xiàn),Zenoss并不是為輕型基礎(chǔ)設(shè)施設(shè)計的。實際上,除非為其添加6GB內(nèi)存,否則無法讓機器運行起來。Zenoss要耗用大量資源;如果想監(jiān)控多達1000個設(shè)備,建議配備至少16GB內(nèi)存、8個CPU核心以及大量(最好是高速)的存儲系統(tǒng)。
Zenoss能夠跨多個操作系統(tǒng)平臺進行監(jiān)控,包括網(wǎng)絡(luò)設(shè)備(路由器和交換機)、服務(wù)器以及某些應(yīng)用程序。它使用了分層架構(gòu):用戶層、數(shù)據(jù)層、處理層和采集層。用戶層基本上是用戶界面,數(shù)據(jù)層將數(shù)據(jù)收集到三個不同的數(shù)據(jù)庫,處理層管理收集層與數(shù)據(jù)層之間的聯(lián)系,收集層則使用眾多服務(wù)收集數(shù)據(jù),并將數(shù)據(jù)饋送到數(shù)據(jù)層。
安裝完畢后,Zenoss可以從不同設(shè)備(臺式機、筆記本電腦和移動設(shè)備)上的瀏覽器來訪問,且界面簡潔直觀。默認情況下,它會顯示警告信息、基礎(chǔ)設(shè)施地理圖,還會顯示一個瀏覽器窗口,經(jīng)配置后,可以顯示內(nèi)部或外部的任何URL。儀表板上顯示的信息可通過開發(fā)商所說的“門戶容器”(portlet)進行配置,這些門戶容器可以添加和刪除,也可以在儀表板里面隨意拖放、調(diào)整大小。這有助于帶來一些出色的定制選項?!癉aemon Process Down”(守護進程關(guān)閉)、“Messages”(消息)和“Production States”(生產(chǎn)狀態(tài))這幾項也有相應(yīng)的門戶容器。
添加所要監(jiān)控的設(shè)備時,你可以使用自動發(fā)現(xiàn)功能,或者手動輸入設(shè)備的IP地址或主機名稱。設(shè)備添加完畢后,它們會顯示在“基礎(chǔ)設(shè)施”選項卡上,并附有設(shè)備狀態(tài)和色標警告方面的一些基本信息。
除了“基礎(chǔ)設(shè)施”選項卡外,還有一個“事件”選項卡,它顯示了基本上同樣的信息,但完全按事件排序。事件選項卡和基礎(chǔ)設(shè)施選項卡針對大多數(shù)列都有使用方便的提前鍵入(type-ahead)排序功能,因而只要往列標題里面鍵入關(guān)鍵字,就很容易排序。針對每個事件,你可以執(zhí)行各種不同的操作,可以“只應(yīng)答事件而不采取動作”,也可以發(fā)出“手動ping”或“snmpwalk”命令,從設(shè)備獲取額外信息。一旦事件處理完畢,可以關(guān)閉事件并加以歸檔。
Zenoss Core包含強大的報告功能,從隨時可用的基本報告到自定義報告功能,不一而足。除了標準的事件、設(shè)備和性能報告外,Zenoss還有出色的圖形類報告,包括能夠在一份報告中運行所含數(shù)據(jù)來自多個設(shè)備的多圖報告。報告可以在屏幕上查看,也可以保存為PDF格式而輸出。
Zenoss Core有無數(shù)的第三方ZenPack插件可供下載,包括讓你可以從安卓移動設(shè)備與Zenoss進行交互的幾個插件,你也可以使用Zenoss提供的API說明文檔自行構(gòu)建ZenPack插件。
雖然Zenoss Core對系統(tǒng)的要求相當高,但其會讓用戶獲得功能非常強大的監(jiān)控環(huán)境,能夠處理數(shù)量眾多的設(shè)備和流量。Zenoss靈活而新穎的用戶界面也給人留下了深刻印象,包括定制儀表板的幾個選項。無論是屏幕上顯示報告,還是隨時可以打印的PDF報告,都事無巨細、井井有條。此外,我們很喜歡200多頁的PDF用戶手冊,內(nèi)容井然有序、面面俱到,這在開源社區(qū)并不多見。
OpenNMS——系統(tǒng)要求不高
OpenNMS是一款基于Java的跨平臺產(chǎn)品,其可以在支持Java SDK 1.6及更新版本的任何平臺上運行,它采用GNU GPL許可證發(fā)布,可從OpenNMS Group獲得商用許可和支持服務(wù)。OpenNMS的部分核心功能包括:第2層和第3層自動發(fā)現(xiàn)、網(wǎng)絡(luò)自動發(fā)現(xiàn)、自動配置以及服務(wù)發(fā)現(xiàn)。最新版本提供了IPv6支持。OpenNMS擁有內(nèi)置的網(wǎng)站服務(wù)器系統(tǒng);可以通過內(nèi)置的用戶列表,或者通過LDAP或RADIUS協(xié)議,驗證用戶的身份。
除了自行創(chuàng)建事件外,OpenNMS還能接收來自SNMP、HTTP、WMI、XML、JMX和系統(tǒng)日志等外部協(xié)議的性能數(shù)據(jù)。在服務(wù)保障監(jiān)控方面,它能夠與一大批常見協(xié)議和服務(wù)進行聯(lián)系,比如DNS、Windows服務(wù)狀態(tài)、BGP會話、思杰、郵件協(xié)議等。借助來自100多家廠商的1.5萬多個trap,SNMP trap接收器在默認情況下就提供了大量功能。
OpenNMS可以通過多種方式來處理通知,包括標準的傳呼機和電子郵件通知,以及通過社交化媒體和命令行調(diào)用定制化通知。在整合方面,它可與DNS進行聯(lián)系,以便接收和更新節(jié)點信息,它還能與Hyperic HQ、RANCID和Asterisk電話平臺等第三方產(chǎn)品進行整合。
OpenNMS對系統(tǒng)的要求極低(512MB內(nèi)存),不過與任何數(shù)據(jù)收集應(yīng)用軟件一樣,如果安裝在大型環(huán)境下,處理器、內(nèi)存和存儲資源方面的要求可能都大幅提升。
由于GUI所用的JSP頁面是動態(tài)編譯的,所以除了JRE外,OpenNMS還需要整套的Java SDK。此外,想安裝OpenNMS,PostgreSQL也必不可少。
我們將OpenNMS作為獨立服務(wù)器安裝到Windows上,使用可用的Web GUI,從瀏覽器端執(zhí)行管理任務(wù)。登錄后,主頁會顯示相關(guān)內(nèi)容,并附有關(guān)于基礎(chǔ)設(shè)施的一些基本信息,比如停用的節(jié)點、過去24小時可用性方面的統(tǒng)計數(shù)字,以及便于進行搜索和報告的一個區(qū)域。可以從屏幕上方的水平鏈接欄實現(xiàn)進一步的導(dǎo)航。
OpenNMS使用配置(provisioning)這個術(shù)語來添加所要監(jiān)控的新實體?;旧嫌袃煞N配置方式:自動發(fā)現(xiàn)和引導(dǎo)發(fā)現(xiàn)。我們先設(shè)好了一些參數(shù),限定希望OpenNMS如何發(fā)現(xiàn)我們的基礎(chǔ)設(shè)施,這可以通過Configure Discovery(配置發(fā)現(xiàn))區(qū)域來完成。在該區(qū)域中,可以輸入所要添加的URL,以及所要添加及/或排除的特定的IP和IP地址范圍。另外值得一提的是,OpenNMS的許多配置信息以XML格式存起來,熟悉XML的用戶可以直接更改該XML文件,因而不需要GUI。
在配置過程中,我們發(fā)現(xiàn),為了完成一些任務(wù),經(jīng)常需要查閱在線說明文檔(幸好文檔內(nèi)容齊全)。我們面臨的一個困難是,要熟悉如何將OpenNMS術(shù)語與我們的基礎(chǔ)設(shè)施關(guān)聯(lián)起來。從理論上講,節(jié)點在自動發(fā)現(xiàn)期間應(yīng)該會添加進去;但由于我們的測試實驗室有好多故意隔離開來的節(jié)點,所以到頭來我們手動配置了大多數(shù)節(jié)點。
總體導(dǎo)航在我們看來并不完全合理;我們認為,要是合并各個鏈接和屏幕,情況也許會好些。這可能是個配置問題。但打開警報、事件或通知選項卡后,并不顯示任何項,除非你執(zhí)行搜索或者點擊另一個鏈接,才能查看一切。
我們確實喜歡搜索功能,OpenNMS的可用性似乎主要體現(xiàn)在搜索功能上。我們尤其喜歡按提供DNS或POP3等某些服務(wù)的節(jié)點進行搜索這項功能。另一項有用的功能是,能夠按眾多與資產(chǎn)有關(guān)的數(shù)據(jù)字段(位置、操作系統(tǒng)和運行狀態(tài))進行搜索。
雖然我們發(fā)覺OpenNMS的用戶界面需要一番重新設(shè)計才會更直觀,但隨著日漸熟悉其布局,你就會越來越喜歡該產(chǎn)品及其功能。一旦你稍稍深入鉆研,就會發(fā)現(xiàn)其實管理界面提供了大量信息。我們喜歡創(chuàng)建只讀儀表板的功能。搜索功能很給力,色標警報很有幫助。總的來說,這是一款可在大多數(shù)平臺上運行的功能強大的管理工具。