

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