OpenNMS與智和網管平臺開發性能評估

  隨着網絡系統結構的日益龐大複雜,運維人員有必要使用一套網絡管理系統來方便快捷的管理好網絡。爲了更好的管理各種設備,便於對網絡中的故障進行排查,公司需要一款滿足需求的網管軟件。目前市面上的網管軟件衆多,這些軟件經過適當的配置即可對通用設備進行管理。但這些通用的功能無法滿足我們100%的需求,必須進行二次開發。出於公司所使用技術(Java)、市場佔用率和功能全面性,選擇了兩款提供兩次開發的平臺,OpenNMS與智和網管平臺,通過對兩款產品進行全方位的對比,選擇出一款適合的網管軟件,在此基礎上進行整合和二次開發,構建部門設備網管平臺。

一、選型標準

1.功能性

  網管通用的功能可以直接拿來使用,或者簡單的改造,可以節約成本;

2.完備的擴展開發接口

  被選擇的開源軟件是否已經提供完備的二次開發接口,滿足二次開發的要求;

3.易於擴展的架構設計

  網管平臺的架構應該是易於進行二次開發的,或者在設計平臺時,就考慮到了在平臺基礎上進行二次開發;

4.開發技術

  選擇網管平臺的另外一個層面考慮是儘量考慮使用部門成員最熟悉的開發技術,儘量避免涉及相對部門來說的新技術、開發語言,這樣可以進一步研發降低成本;

5.技術支持與服務

  平臺穩定性需要高,對於開發中常見的問題能夠快速的找到解決方案,對於平臺中出現的問題,官方能夠及時的解決

二、軟件簡介

1.OpenNMS

  OpenNMS是網絡管理系統Network Management System 的簡稱,是一種開源軟件網絡監視工具。可用來自動發現網絡節點,監控網絡服務,如 HTTP,DNS,SSH 等,當系統服務停止時,OpenNMS會依管理者所建立的規則寄出通知,告知運維人員網絡障礙,事件彙整,自動執行對應動作,以及服務層級效能監控。它可以支持SNMP網絡管理協議,確保管理的擴展性,並且提供定製功能從而有利於管理範圍的伸縮,流量和接點系統硬件使用情況需要在配置SNMP。

2.智和網管平臺

  智和網管平臺由北京智和信通技術有限公司自主研發,完美兼容主流/國產系統及數據庫,提供C/S和B/S兩種客戶端界面,兼容PC以及移動設備。實現包括設備拓撲、故障管理、性能管理、配置管理和安全管理等基礎網管功能,以“管控萬物,無所不能,無處不在”爲理念,採用了設備統一接入模型,可以管理網絡設備、計算機、服務器、智能設備、物聯網、工業設備等所有聯網設備;適用於國防、電信、政府、金融、交通、能源、企業、工業、製造等多種領域。讓企業把重點放在具體的客戶業務需求上,最短幾個人周就能開發出一款網管軟件。

三、通用功能評估

  對於網管的通用功能包括但不限於設備拓撲、故障管理、性能管理、配置管理以及安全管理等網管軟件基本功能。在軟件平臺上進行二次開發時,可以不用自己實現這些通用功能,或者簡單的修改即可,只需關心公司自身的網管業務需求。

(一)OpenNMS

1.網絡節點自動發現

  對象存儲庫中的信息並不是靠管理員手工輸入和維護的,而是由軟件的自動掃描模塊自動的從網絡中搜索設備。

2.圖形用戶管理界面

  通過瀏覽器查看各種界面視圖,使得管理員通過管理工具看到現實世界對象的真實反映,而不是抽象的符號。使用戶能夠監控整個系統的概貌,系統的大體分佈和總體運行狀況等。

3.故障監控

  Opennms的監控引擎模塊支持對SNMP網管的網絡設備、部署了SNMP服務的服務器上的操作系統進行數據採集和狀態維護。採取統一的通訊方式從這些管理對象上採集可用性和故障信息,Opennms得到被管理對象的輪詢或Trap信息後,根據收到的信息類型、對象原來的狀態和網絡系統管理的策略和邏輯判斷對象的狀態是否發生變 化。如果發生了變化,則可以按照管理策略採取若干更新操作。

4.故障事件管理

  當被管理對象的運行狀態發生變化時,就會產生事件。如果該事件是由正常變爲故障,則會產生故障報警。如系統資源出現短缺、數據庫連接失敗、網絡通信中斷、主機文件系統溢出等等都會以事件的形式表現出來。

5.操作系統監控

  Opennms對各種計算機操作系統的可用性、運行狀況和故障的集中監控是通過本身的SNMP服務程序完成的。這些SNMP代理程序是SNMP服 務的組成部分。

6.網絡節點配置信息管理

  被監控對象節點在數據中的配置信息是IT設備的資產信息,每個網絡節點都是一個特定的IT資產設備。每個節點在數據庫中有很多屬性字段供選擇填寫。

7.全面的節點監控

  每個被監控的節點都能被細緻的記錄和監控。當查看某節點的信息時,有這樣幾類信息:狀態信息、各種網絡服務總的可用性、SNMP屬性、各個接口熟 悉、最近發生的5個事件和最近的故障事件。

(二)智和網管平臺

1.一鍵式自動發現

  在自動發現過程中搜索網絡設備,識別設備類型和廠商型號,生成設備的面板圖。或搜索設備資源,發現設備之間的鏈路關係,簡化用戶操作,提升管理效率。

2.全面化設備管理

  通過拓撲視圖,方便管理設備及其配置參數,支持對設備進行相關操作。自動識別當前設備類型及其配置參數,支持所有主流設備,可自定義添加設備,實時查看設備運行情況。

3.可視化拓撲管理

  支持樹形/平面結構聯動展示網絡拓撲關係,多種佈局方式劃分網絡。在拓撲中以不同圖標實時展現設備狀態。圖形化、具象化的拓撲形式對設備、設備資源、鏈路進行管理,降低維護難度,拖動式的佈局形式使配置更加靈活。

4.及時性故障管理

  多種告警機制與自定義配置告警閾值,可迅速定位告警設備。全面採集警信息,並按多種維度以圖表等形式展現。及時告警、自動處理,確保故障及時解決,極大提升告警處理效率,降低因故障帶來的損失。

5.多維度性能管理

  全面採集設備資源、應用、服務等性能信息。將性能信息數據按照時間、資源、性能類型等多種維度以圖表等形式展現。多維度,多形式展示設備性能信息,運維人員隨時把握設備性能狀態,防範於未然。

6.深度管控設備

  可對每多臺設備進行配置/備份和軟件升級,以減少管理員的工作量,提高系統的可用性。支持單個和批量設備的配置文件升級、備份和恢復功能。有配置管理、設備軟件管理、設備參數管理來幫你減輕工作負擔。

7.精細化報表統計

  具有多項數據的統計功能,可將統計圖表導出或打印,以便備份或對比查看。通過多種類型的圖表展現,使用戶對整體網絡有一個全面直觀的瞭解,通過數據分析,全面把握網絡狀況爲決策提供依據。

8.多層次安全管理

  通過對用戶網絡、用戶權限進行設置,以及對黑白名單的控制,以多層次多角度提升網絡安全性,保障用戶網絡安全。

(三)總結

  對於一般的通用網管需求,兩款軟件平臺都基本覆蓋了這些基本功能,唯一比較遺憾的是OpenNMS是缺少拓撲圖功能。

功能點

OpenNMS

智和網管平臺

自動發現設備

拓撲圖

×

設備管理

支持多種管理協議

鏈路管理

×

故障管理

告警管理

安全管理

數據統計功能

擴展功能

四、開發過程評估

  公司選擇的是在一個網管平臺進行二次開發,因此,對開發接口的要求就顯得尤爲重要了。在對開發接口的評估中,將主要從功能的全面性,開發的易用性兩個方面來進行比較。

(一)OpenNMS

1.整體架構

  OpenNMS是裝配式的,支持根據配置裝載服務和插件,擴展性很強。

OpenNMS1.png  

  OpenNMS系統配置信息通過XML數據存儲,基於linux系統和Postgres數據庫的網絡管理系統。網絡數據通過JDBC對數據進行持久化,Web採用JSP/Servlet。OpenNMS是一個Open Source Framework,它採用了諸多的開源組件與框架,使用了各種協議的開源實現。每一個層面服務、功能都有自己的配置文件。

  OpenNMS採用了xml數據綁定技術(opennms採用的是castor)。根據xml文件的schema定義文件(xsd文件)生成對xml文件到java對象的映射,這樣就不需要寫解析xml文件的代碼而是針對java對象進行操作。因此這些類都是在系統編譯過程中由castor包根據xsd文件生成的。

2.二次開發接口與模塊

功能模塊介紹:

  • HttpUnit,jWebUnit,Junit:各種單元測試手段。

  • nekohtml:解析HTML,Html Tidy對html 字符串進行修正,並做標準化的處理。

  • Avalon:主要是一種Server的架構,可以滿足配置、日誌等服務器程序的需要。

  • Jdhcp:java DHCP的實現。

  • Xerces:解析XML,API與實現有xmlParserAPIs, xml-apis, xercesImpl。

  • jCIFS:用Java開發的SMB客戶端庫。

  • ldap-impl:LDAP java實現。

  • smtp.jar pop3.jar:SMTP,POP3協議Java實現。

  • JRobin:基於LGPL授權的網絡性能監控系統,是RRDTool的一個純Java實現。

  • joeSNMP:Java SNMP類庫。

  Daemon(capsd)主要負責掃描發現網絡接口,發現discovery daemon(守護進程),爲Services/Protocols提供支持並且更新到Database中。根據上次檢查是否有任何額外的服務有受管理的接口的能力,Capsd也將定期重新掃描管理接口。

  Poller daemon在定期的配置區間中,負責檢查每個受管接口的每個狀態,如果服務的狀態從上次一個適當的事件已改變,表明接口將產生新的服務的狀態。

  OpenNMS提供了一個簡單快速的框架用來擴展設置缺省服務與協議,爲了擴展OpenNMS管理一個可定製的服務或協議需滿足如下要求:

  • 編寫代碼capsd plugin(插件)測試網絡接口是否有支持期望的協議或服務。

  • 添加一個<protocol plugin>元素,在$OPENNMS_HOME的/etc/capsd-configuration.xml config定義新的服務。

  • 編寫代碼poller插件,在某一特定的網絡接口,監測當前期望的協議或服務的狀態。

  • 在$OPENNMS_HOME的/etc/capsd-configuration.xml config配置文件中添加<service>和<monitor>元素定義新的調用服務。

3.文檔與服務

  OpenNMS的優勢在於開源和市佔率高,網絡上能夠找到相關資料,但OpenNMS缺少足夠的中文文檔和本土服務支持,目前漢化還有很長的一段距離要走。而且對技術要求很高,一般運維人員要想用好難度很大。在使用的過程中會出現不能啓動現象,特別是關於SNMP問題的,一般需要關掉TRAP服務。

(二)智和網管平臺

1.整體架構

  智和網管平臺由多層次架構模式組成,按照電信網管系統的特點劃分模塊和層次,既符合網管業務的要求,又保證在軟件上是易實現、易維護、易擴充的,各層直接通過Corba和WebService通信,框架採用設備中間層屏蔽不同廠商設備管理協議的差異。實現支持管理不同類型的被管設備。

wKiom1kAFqeQXXPEAAGyJ22A1as975.jpg-wh_50

智和網管平臺架構圖

2.二次開發接口與模塊

  通用網管功能的基礎上,開發人員可以選擇進行模塊或者代碼式的開發形式,以便在最短時間內滿足用戶各種定製需求,提高研發效率。同時智和信通提供全套開發資料及完善的培訓服務,用戶可以隨心定製出符合自身需求的網管平臺,並對平臺功能不斷更新,以滿足日益變化的管理需求。智和網管平臺提供多種可複用的平臺擴展組件,簡化網管基礎技術研究,提高平臺開發擴展效率。

1)監控組件

  由多種(SSH、WMI、JMX等)不同協議的模塊組件組成,可以監控不同協議設備的性能信息。

2)界面開發組件

  界面展示功能也採用了功能模塊內聚的設計方式,比如:拓撲圖模塊、導航樹模塊、導航和拓撲聯動模塊、菜單模塊、對象表格模塊、屬性表模塊等。在二次開發過程中可直接使用或者繼承擴展這些模塊來實現界面功能。

3)iTopoview拓撲組件

  iTopoview 是高度封裝的拓撲圖圖形開發組件, 可以滿足網管 GUI 客戶端開發的需要。 iTopoview 可以讓網管產品的操作界面全部基於拓撲圖的所見所得管理模式。所有的權限管理、故障管理、性能管理、配置管理、維護管理等功能,都是直接與拓撲圖集成。iTopoview 內置樹狀視圖和網絡拓撲視圖,並能在二者之間實現自動同步。使用拓撲圖組件還可以開發出地域、組織結構等的層級劃分圖,以及機架圖、面板圖等。

4)數據庫組件

  SugarNMS 數據庫模塊支持所有關係型數據庫,採用數據庫領域流行的 O-R Mapping 技術。使用工廠方法根據不同的環境創建數據庫服務接口 API,提供了各種數據庫的添加、刪除、修改、查詢等服務。並支持 WebServcie/RMI 等通信方式遠程調用數據庫服務接口。

5)監控調度組件

  所有監控模塊包括:SNMP 監控模塊、WMI 監控模塊、Telnet/SSH 監控模塊、數據庫監控模塊、中間件監控模塊均註冊在監控調度模塊,由監控調度模塊統一調度分發監視器至各個監視器模塊,智和網管開發平臺再由各個監控模塊執行監視器任務。該模塊支持插件方式,在統一接口可方便註冊新的監控模塊,並調度分發任務。此外,監控調度模塊起到了網管軟件和監控對象(網絡設備、主機/服務器、應用服務等)之間的橋樑,屏蔽了監控對象之間的協議差異,使得監控更簡單也更有擴展性。

6)消息分發組件

  所有需要把故障、事件、消息分發到客戶端的模塊都由消息分發模塊統一處理。目前 Syslog 模塊、Trap 模塊、故障監控模塊均使用消息分發模塊。消息的分發包括服務端自動向客戶端推送消息和客戶端主動向服務端請求消息兩種方式。

7)ObjectSNMP

  SNMP 協議開發組件和網絡自動發現服務,封裝了 SNMP 通信功能和上層 SNMP 故障、性能、配置、TRAP 應用。SNMP 組件採用對象化的編程方式,將以往復雜的 SNNP 開發工作變得非常簡單和高效。可以支持任意的 SNNP 設備和私有 SNMP MIB、以及設備 SNMP 接口的變動。具備Java/SNMP 網關、WebService/SNMP、Proxy 代理網關和專利技術的網絡自動發現,設備組件發現,設備類型識別。

3.文檔與服務

  智和網管開發平臺提供全套文檔,並提供培訓,幫助開發人員快速理解系統及相關背景知識,儘快進入開發階段。提供遠程在線、電話及現場支持服務,幫助開發人員一起解決開發中遇到的問題,快速攻克技術難關。

  智和網管平臺提供代碼級開放模式,研發人員深入客戶端源代碼,實現用戶個性化需求。同時提供完善的開發文檔、實施培訓以及技術支持服務,讓用戶從開發起始到平臺使用全無後顧之憂。

(三)總結

  兩款開發平臺都對擴展開發提供了良好的支持,其中智和網管平臺提供的開發模式較多,可以選擇直接使用部分模塊,也可以選擇使用平臺提供的API進行開發。

五、結論

  基於這段時間調研與試用,智和網管平臺更滿足我們的實際需求。在通用功能上,智和網管平臺擁有的自動生成拓撲功能是我們的必要需求,而在OpenNMS上單獨開發實現拓撲圖,會加大開發週期。通過試用這兩款軟件,由於智和網管平臺是全國產,相比於OpenNMS,已有的網管通用功能更符合公司網管人員的使用習慣。在平臺二次開發上,智和網管平臺提供了多種開發模式,智和網管平臺提供的核心組件,特別是SNMP組件,與監控組件,極大的簡化了與設備交互的複雜性,最後我們選擇了基於智和網管平臺進行開發。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章