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

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

1、選型標準

1.功能性java

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

2.完備的擴展開發接口數據庫

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

3.易於擴展的架構設計api

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

4.開發技術安全

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

5.技術支持與服務網絡

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

2、軟件簡介

1.OpenNMS

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

2.智和網管平臺

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

3、通用功能評估

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

(一)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

智和網管平臺

自動發現設備

拓撲圖

×

設備管理

支持多種管理協議

鏈路管理

×

故障管理

告警管理

安全管理

數據統計功能

擴展功能

4、開發過程評估

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

(一)OpenNMS

1.總體架構

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

  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通訊,框架採用設備中間層屏蔽不一樣廠商設備管理協議的差別。實現支持管理不一樣類型的被管設備。

智和網管平臺架構圖

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進行開發。

5、結論

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

相關文章
相關標籤/搜索