提高網路實用性與效能的四款開源管理工具
【51CTO.com快譯】過去的網路管理工具主要是一些晦澀的命令列產品,它們往往基於某種只有專業人員(通常是Linux領域)才能看懂的配置檔案進行運作。如今的網管工具既有桌面版,又有基於Web GUI的。它們不但易於安裝與配置,而且更易於被訪問到。隨著不斷地產品迭代,這些工具在功能上越來越強大、在使用者體驗上也越來越易於使用。
在本文中,我們將和您討論當下四種開源的網路管理產品。其中OpenNMS、Zenoss Core和NetXMS是該領域的“老兵”,當然它們推出了新的版本;而Sensu Core則相對較新。總的說來:
- OpenNMS提供了一系列從簡單到複雜的管理選項,可以執行在Windows和Linux環境內。其優勢在於可以定製儀表盤選項,但劣勢是配置較為複雜。
- Zenoss Core以其靈活的報告和各種預配置外掛見長,但是它僅適用於兩個版本的Linux。
- NetXms可以執行在Windows、Linux和Unix(包括BSD和Solaris)等多種平臺上。雖然它易於被安裝,但是缺少對應的商業版本。
- Sensu Core也帶有多種可用的外掛,以及靈活的可擴充套件架構。不過,它的儀表盤和報告功能仍有待改進。
如下表格是我們對上述四種產品的優缺點和適用環境的對比:
1.OpenNMS網路管理軟體(https://www.opennms.org/en)
平臺環境:
OpenNMS是一款可以被安裝在Linux和Windows伺服器上的開源軟體。它擁有Meridian和Horizon兩種不同的版本。Horizon釋出新功能的頻率更快;而Meridian則是在前一個版本未被證明穩定之前,不會發布任何更新,因此其更新週期大約為每12個月左右。Horizon可以被免費使用;而Meridian基於訂閱規則,面向需要穩定版本、長的釋出週期和專業支援的組織。
測試要求:
本次,我們測試了其Horizon 22.0.3版本。雖然安裝步驟因作業系統而異,但是我們發現在Windows和Linux上的安裝還是比較容易的。其唯一的安裝先決條件是Java SDK。當然對於Windows而言,還需要有PostgreSQL資料庫。其硬體最低要求為:雙核CPU、2 GB記憶體和20 GB的磁碟可用空間。我們在Linux上選擇了快速安裝,當然OpenNMS也提供了自定義安裝的分步說明。
介面配置:
在安裝完成並首次啟動其Web介面時,它會在介面上向用戶呈現多個排列整齊的dashlets,並以圖形的方式表示出目標網路架構的資訊。當然,您也可以將初始介面定製成單個面板,或者按組織結構以及地理位置來建立多個面板。不過,我們還是花費了一些時間去搞清楚介面上各類名稱所代表的意義。
監控顯示:
Horizon有報警、拓撲、圖表、地圖和影象等多種不同格式的Dashlet。通過配置,它能夠以熱圖的形式顯示正在發生的中斷和報警,並按照實體和服務影響程度進行排序。另外,OpenNMS還提供了對所有節點、及其狀態的聚合矩陣和監控概述。您可以將節點分組為伺服器、路由器和交換機等類別,而監控概述的顏色標記方案則是:綠色表示正常、黃色表示警告或小問題、紅色表示關鍵問題。
OpenNMS Horizon提供了甚至讓人有些眼花繚亂的監控選項。所幸我們可以從一些基本項入手,而不需要部署代理、或配置受監控的節點。我們先後進行了Web伺服器執行測試、和通過簡單PING來檢視檔案伺服器是否能做出響應。在相繼關閉了各種服務之後,我們確實立刻收到了報警。
特色功能:
OpenNMS的發現功能,對於大型基礎架構是非常實用的。通過發現功能所提供的粒度類別,您可以按照IP地址的範圍,來輕鬆地確定需要包含或排除的節點與服務。該功能可以相當快速地發現我們當時測試環境中的全部不到50個節點,當然對於分佈在多地域的生產環境,則需要搜尋和發現更長一點時間。
代理:
雖然OpenNMS的發現功能可以為您提供有關網路架構的一些基本資訊,但對於更多深入的詳細資訊,則需要呼叫諸如JMX、WMI、Syslog和SNMP traps等協議。此外,OpenNMS還提供了可以部署到各種節點和終端的“輪詢”代理。它們通過主OpenNMS伺服器所提供的連結,根據載入程式被安裝到終端上。使用者可以使用Web介面進行各種配置,其詳細資訊被直接儲存在自定義的XML檔案中。
報警與響應:
網路管理系統的核心功能是能夠及時地接收資訊併產生報警。除了常規的螢幕報警功能之外,OpenNMS還能夠通過文字和電子郵件傳送報警。當然,您也可以將其與自行開發的或是第三方的下單系統相整合。OpenNMS提供了幾個預置的報告格式,如:PDF或CSV。同樣,您也可以使用JasperSoft Studio來自定義並建立報告。
支援與定價:
OpenNMS以線上使用者手冊的形式提供免費技術支援,您可以籍此進行安裝、管理和開發。其他的一些線上視訊教程和Wiki介紹,則為各種管理案例的形式提供了全面的逐條式講解。商業版Meridian的定價機制為:一年6000美元的單伺服器例項(如需更多例項,則還有折扣)。而技術支援套餐的起價為20,000美元。
適用性:
對於大型企業環境來說,OpenNMS的功能是比較全面的。它提供從最基本的規則到具有複雜規則的監控選項,因此比較靈活且受人推崇。不過,值得注意的是:鑑於Horizon的更新頻率,使用者要避免此類更新給執行中的生產環境所帶來的潛在破壞。
2.NetXMS多平臺網路管理(https://www.netxms.org/)
平臺環境:
與OpenNMS類似,NetXMS也是一款支援多平臺的開源網管軟體。它可以被安裝在Windows、Linux和Unix(包括BSD和Solaris)等多種平臺之上。此外,NetXMS的管理控制檯還能被安裝在Linux、Windows、Mac和Android裝置上。
測試要求:
本次,我們在Windows Server和Ubuntu上測試了其2.2.10版。它對於硬體系統的最低要求是:1 GHz的雙核CPU、1 GB RAM、1 GB的磁碟空間、以及收集資料所需的額外磁碟空間。雖然在兩種系統上的安裝都很方便,但是Windows的可執行檔案讓整個過程更加簡化。NetXMS可以使用包括Oracle、MySQL、MS SQL Server和PostgreSQL在內的各種常見資料庫。我們在安裝過程中配置並啟用了網路自動發現選項。
介面配置:
我們在Windows伺服器上安裝的管理控制檯是桌面版的。完整完畢後,首先顯示的是NetXMS“工作臺視窗”。它以不同檢視方式讓使用者能夠檢視到網路架構狀態,包括:巨集檢視和特定的網路裝置與事件的細節。通過在“工作臺視窗”上排列各種檢視,您可以建立並儲存自定義的透檢視。這些透檢視可以從快速訪問選單裡被調出,並定製化地顯示網路基礎架構。
監控顯示:
NetXMS物件瀏覽器將整個網路顯示為一種樹形結構,以便使用者層層深入到細節之處。它用不同顏色來指示正常(綠色)或存在嚴重問題(紅色)等網路狀態,進而方便使用者識別出有問題的節點或服務協議。
代理:
藉助自定義的指令碼和特定的應用擴充套件,NetXMS可以使用所有版本的SNMP、SSH和ICMP協議來收集資料。為了增強效果,管理員還可以額外部署NetXMS代理。這些代理可被部署到Linux、UNIX、Windows等其他平臺,以及各種裝置之上。當然,根據裝置的型別,代理可以與各種子代理一起被安裝。例如:通過Windows代理,您可以新增提供UPS或日誌監視的子代理。安裝完畢後,各種代理就開始將資訊上載到NetXMS伺服器上。我們可以按需直接對客戶端電腦、或遠端對伺服器上的代理進行重新配置。一般情況下,OpenNMS以XML格式儲存代理配置的詳細資訊。值得一提的是:我們在測試中發現NetXMS代理所佔用的磁碟空間、記憶體和CPU資源都非常小。
報警與響應:
如前所述,NetXMS提供了多種方法來檢視目標網路的狀態。在出現問題時,NetXMS可以採取多種響應機制,例如:傳送帶有問題詳細資訊的文字或電子郵件。此外,它還可以根據配置好的處理規則,採取各種動作,例如:通過執行指令碼來解決問題。我們甚至可以細粒度地通過規則配置,以設定在無法及時確認與糾正時,如何升級問題。另外,NetXMS使用常規的Jasper Reports庫,來構建可選的報告模組。
特色功能:
NetXMS具有強大的網路對映功能,管理員可以建立並定製目標網路的架構對映,以便對部分或整體架構狀態一目瞭然。他們通過連線各個節點,獲悉有關網路頻寬和其他資源的使用詳情,進而識別出潛在的瓶頸。而對於具有多個物理位置的網路,他們則可以在地圖上繪製出不同的節點。您還可以使用圖形、儀表盤和其他視覺化的輔助工具,來自定義網路效能的顯示介面。
支援與定價:
NetXMS以HTML和可供下載的PDF形式,提供最新且易於使用的線上使用者手冊。與其他參測產品不同的是:NetXMS只提供免費軟體,不提供商業版本。其付費的技術支援選項則是通過電話、或電子郵件提供給客戶的。付費客戶還會按需根據bug的優先順序,收到定製的熱補丁程式。另外,NetXMS還提供定製化的培訓教程。
適用性:
雖然NetXMS管理控制檯的介面友好且響應迅速,但是其導航功能稍許欠佳。例如,在對於某些設定進行更改之後,我們希望最好有一個小的“磁碟”圖示來提示儲存;而在使用者忘記儲存設定時,它目前也不會發出警告。總的說來,我們認為NetXMS能夠適合大多陣列織的需求,能夠提供一整套網路管理的服務。
3.Sensu Core網路監控和管理
平臺環境:
2015年才首次推出企業版的Sensu Core,可謂是網路管理領域的新秀。它利用RESTful JSON API來收集監控資料,並解決各種事件。Sensu Core提供包括單機、分散式和高可用性等安裝選項。另外,還有一個5分鐘安裝版可用於小型網路環境的測試。不過它僅適用於CentOS。
測試要求:
本次,我們測試的是其免費開源的1.6版。我們在測試中主要專注的是它在Linux和Windows上的單機安裝選項。對於單機安裝,其硬體系統的基本要求為2 GB(不過建議使用4 GB)。雖然我們主要是將其安裝在Ubuntu伺服器上,但Sensu Core也可以被安裝在其他版本的Linux、macOS和Windows上。其最新企業版為3.3,而Core仍處於1.6版。
雖然它的線上使用者手冊很完善,但在我們看來,其企業版和Core版在安裝上差異較大。相對而言,在Windows上的安裝比在Linux上要容易得多。針對Linux的安裝不但需要太多的步驟,而且它並未說清楚到底針對Core安裝需要哪些附加的元件。
介面配置:
由於Sensu沒有提供任何預設配置,因此在基本安裝到位後,我們就需要完成一些配置任務了。Sensu Core的配置涉及到使用支援UTF-8的文字編輯器,來建立或編輯JSON和XML檔案,或者使用諸如Puppet或Ansible之類的第三方配置管理工具。
監控與代理:
Sensu Core最初提供的是能與現有第三方或自定義儀表盤相整合的、具有監控和資料收集功能的各種API。隨著時間的推移,Sensu意識到需要有一個專用的Sensu儀表盤,因此開發了Uchiwa。不同於其他元件,Uchiwa需要單獨安裝,且僅適用於Ubuntu、Debian、Red Hat和CentOS。Uchiwa儀表盤的基本功能包括:提供事件列表、按照型別和嚴重性執行某些過濾操作、各種靜音報警和對事件的處理。其中有一種Sensu資料來源是專為Grafana提供的,它是一種常規分析和報告的第三方產品,能夠訪問和視覺化Sensu所收集到的事件。當然,網上還有其他第三方的儀表盤,可用於顯示Sensu的事件資料。
特色功能:
Sensu Core監控解決方案的主要部件是:服務檢查和事件處理。服務檢查所監視的是資源的使用情況,包括:記憶體、CPU利用率和頻寬,並確認Web或資料庫伺服器等服務的執行狀態。為此,Sensu Core用到了各種代理,包括:Sensu客戶端、SNMP和其他協議。服務檢查使用與Nagios相同的規範,並允許載入Nagios外掛。而Sensu伺服器通過事件處理的執行,來響應由服務檢查所建立的各種報警,並採取各種操作。
報警與響應:
Sensu Core使用handler來執行各種操作,其中包括:基本的文字與電子郵件報警、日誌條目、使用ServiceNow或PagerDuty來建立並解決事件。預設情況下,它使用RabbitMQ的訊息匯流排形式,實現客戶端、伺服器和API之間的通訊。Sensu Core的伺服器和API通過使用Redis(一種記憶體式資料儲存結構),來實現永續性資料儲存。
除了能夠建立自定義的服務檢查,您還可以從Sensu社群下載各種預構建好的外掛。那裡有著數百種可用的Sensu外掛,從提供Twitter報警的基本外掛,到監控資料庫健康狀況或託管雲應用狀態的複雜外掛不等。此外,您還可以用到4,000多種Nagios外掛。
支援與定價:
與企業版相比,Sensu Core不具備的功能包括:Active Directory、LDAP整合、多租戶、使用者審計日誌記錄和各種API選項。同時,線上文件和社群論壇對於Core版本的支援也是有限的。
因此,對於那些需要上述附加功能、以及專業支援的企業來說,他們有如下兩種商業選擇:每月售價899美元的SMB(中小型企業)版、和每月售價2499美元的企業版。它們都附帶有Web、電子郵件、以及安裝過程中的幫助。其中企業版還提供電話支援,和一個功能更為豐富的、以Uchiwa為基礎的儀表盤。
適用性:
相較於在網路架構上的強大監控能力,Sensu Core的安裝和配置有些不盡人意。為了提高安裝靈活性、並引導客戶深入地使用該產品,它提供了太多的元件配置選項。這無形中給新手增加了難度。當然,Sensu Core的開放式架構,也允許使用者將其與現有其他工具相整合。
4.Zenoss Core 多平臺網路管理(https://www.zenoss.com/)
平臺環境:
Zenoss Core是一款開源的網管軟體,它可以被用在Red Hat和CentOS版Linux上。與同領域其他商業產品相比,它有明顯的“500個監控節點”限制。但是與“不跟蹤使用者資訊”的其他開源應用不同,在安裝該軟體之前,使用者需要在其網站上填寫表格,以獲取包含下載說明的郵件。該郵件內會包含下載和線上支援等連結資源。
測試要求:
Zenoss Core提供多種安裝選項,包括:可啟動式(bootable)安裝、虛擬裝置和離線安裝檔案。我們針對其6.2.1版進行了測試。Zenoss Core至少需要4顆真實(或虛擬)CPU核心、以及24 GB RAM用於單主機安裝(或16 GB用於多主機安裝)。對於儲存空間要求,它會根據安裝大小和收集資料的型別而有所差異。由於某些原因,我們在測試中發現Zenoss的記憶體密集程度非常高,因此最終需要在32 GB記憶體的Hyper-V伺服器上,才能安裝和啟動其單主機應用。
介面配置:
如果選用虛擬裝置方式,安裝過程則非常簡單,當然我們需要對DNS的設定進行適當的調整。在虛擬機器啟動並執行之後,我們便可使用Web瀏覽器去資源管理器了。初次登入需要執行一個簡短的可選設定嚮導,以便設定使用者、配置網路自動發現、和手動新增裝置到資源管理器的儀表盤上。Zenoss Web介面設計精良,且易於使用。其預設儀表盤提供了網路基礎架構的基本狀態,並能突出顯示任何報警和有問題的區域。
其Web介面有幾個配置選項可供呼叫portlet。這些是顯示不同網路資訊的小部件,包括:事件檢視、裝置問題和網路地圖(包括在儀表盤中放置定製化的Google地圖)。通過拖放和調整大小,您也可以自定義一個或多個儀表盤,為監控網路架構提供最佳的介面佈局。
監控顯示:
在測試中,我們既可以使用自動發現功能來新增裝置,也可以使用主機名或IP地址,來手動新增駐留在其他網路上的多個裝置。其“基礎架構”選項卡顯示了每個裝置的當前狀態資訊,並使用通用的黃色、橙色和紅色等配色方案來顯示各種警告。您既可以點選檢視相關裝置的詳細資訊,也可以使用預先輸入功能,來按照主機名或其他裝置資訊進行搜尋。當然,您也可以儲存常用的搜尋,以方便後續使用。
代理:
Zenoss Core使用到的開源技術包括:Python、Net-SNMP、MySQL資料庫、Docker和D3.js。與其他網管產品不同,Zenoss並不使用代理,而是利用現有的SNMP、SSH、WMI協議,以及POP、FPT、HTTP和NTP等網路服務,來實現網路監控和管理。
特色功能:
另外,Zenoss使用到了被稱為ZenPack的預配置外掛,以實現各種監控和管理任務。由於各種ZenPack都使用了標準的API和協議,因此它無需將代理部署到每一臺裝置上。ZenPack除了有免費開源版本外,也有由Zenoss或第三方建立的商業版本。
報警與響應:
您可以使用事件選單來自定義事件的觸發器和通知。Zenoss能夠傳送帶有自定義變數和詳細描述的郵件資訊。同時,系統還可以通過執行命令,來響應事件並解決問題。對於每個事件,您還可以使用瀏覽器執行不同的手動操作,包括:確認、重新分類、對日誌追加標註、傳送命令、以及開啟或關閉事件等。
通過自定義報告選項,Zenoss Core既能提供標準的逐行式狀態報告,又有圖形化的報告。同時,我們既可以在螢幕上檢視報告,又可以方便地匯出為PDF格式,以便後期使用或與他人共享。
支援與定價:
Zenoss提供PDF或可下載的HTML兩類支援文件,這對於那些想自行建立線上支援門戶的人來說是非常有用的。
對於擁有眾多節點或需要提供額外技術支援的大型組織來說,Zenoss具有Zenoss Cloud和Zenoss On Premises兩款商業付費產品。不過,Zenoss並未在網上釋出其產品定價。
適用性:
Zenoss Core的強大監控功能,需要消耗一定量的記憶體資源。不過,其500個監控節點的限制,足以滿足許多中小型企業了。Zenoss Core具有可定製且友好的使用者介面,以及可靠的報告列印與顯示功能,這些都使之成為那些不需要監控上千臺裝置需求的不錯選擇。
原文標題:4 open-source network management tools improve usability, performance ,作者:Susan Perschke
【51CTO譯稿,合作站點轉載請註明原文譯者和出處為51CTO.com】