




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
...wd......wd......wd...NMS開源軟件選型分析評估報告目錄1標準和目標11.1前言11.2目標11.3標準12評估22.1篩選22.1.1候選軟件22.1.2License評估22.1.3軟件功能評估32.1.4開發(fā)語言評估52.1.5小結62.2開發(fā)接口調查72.2.1Nagios72.2.2Opennms83結論144MISC14標準和目標前言目前開源的網管軟件眾多,時間關系只能通過網絡上的資料介紹和其他用戶的體驗進展評估。對于重點調查的開源軟件通過運行環(huán)境搭建、開發(fā)環(huán)境搭建的方法進展實踐。如果只是對通用網絡設備的管理,被調研的軟件只要經過適當的配置就可以滿足要求。對于我們的需求,這些軟件不能滿足我們100%的需求,必須進展二次開發(fā),對軟件二次研發(fā)的接口的調研就成為我們考察軟件的一個重要的組成局部。部門對網管軟件的定位應該不會投入過多的資金,商用軟件價格高昂應該不在考慮范圍之內,也盡量不選用開源軟件商用版本,重點放在純開源軟件上。選擇了一種開源軟件也就選擇了一種架構,所以架構的選擇也要適合我們部門的開發(fā)能力。目標選擇一款適合的開源軟件,在此根基上進展整合和二次開發(fā),構建部門設備網管平臺。標準選型標準:License不僅僅是免費,無license限制是首選;市場占有率廣泛的市場占有率,說明軟件得到過足夠多的驗證;針對于成功的開源軟件,可以找到一些第三方的擴展資源,我們只要遵循拿來主義就好;功能一些功能可以直接拿來使用,或者簡單的改造,可以節(jié)約本錢;完備的擴展開發(fā)接口被選擇的開源軟件是否已經提供完備的二次開發(fā)接口,滿足二次開發(fā)的要求;開發(fā)技術選擇開源軟件的另外一個層面考慮是盡量考慮使用部門成員最熟悉的開發(fā)技術,盡量防止涉及相對部門來說的新技術、開發(fā)語言,這樣可以進一步研發(fā)降低本錢;開源架構就我們目前的需求,開源網管軟件的功能,我們能用到的局部并不多。選擇了開源其實主要就是選擇它的架構。架構的開放性,易擴展性將直接決定我們的研發(fā)本錢。評估開源網管軟件的市場占有情況上圖是網絡監(jiān)控軟件的占有率。其中以Nagios和Opennms占有率最高。篩選候選軟件NagiosOpennmsCactiZenossZabbixSugarNMSLicense評估開源軟件License使用限制NagiosGPLGPL(
GNUGeneralPublicLicense)OpennmsFreeFree,也可以購置相應服務CactiGPLGPLZenossGPLGPL2Zenoss提供開源版和企業(yè)版兩種版本ZabbixGPLGPL2SugarNMS免費版、標準版、企業(yè)版免費開源和商業(yè)開源兩個版本不是sourceforge下的產品軟件功能評估TheNRPEaddonisdesignedtoallowyoutoexecuteNagiospluginsonremoteLinux/Unixmachines開源軟件功能Nagios網絡服務監(jiān)控〔SMTP、POP3、、NNTP、ICMP、SNMP、FTP、SSH〕主機資源監(jiān)控〔CPUload、diskusage、systemlogs〕,也包括Windows主機〔使用NSClient++plugin〕可以指定自己編寫的Plugin通過網絡收集數據來監(jiān)控任何情況〔溫度、警告……〕可以通過配置Nagios遠程執(zhí)行插件遠程執(zhí)行腳本遠程監(jiān)控支持SSH或SSL加通道方式進展監(jiān)控簡單的plugin設計允許用戶很容易的開發(fā)自己需要的檢查服務,支持很多開發(fā)語言〔shellscripts、C++、Perl、ruby、Python、PHP、C#等〕包含很多圖形化數據Plugins〔Nagiosgraph、Nagiosgrapher、PNP4Nagios等〕可并行服務檢查能夠定義網絡主機的層次,允許逐級檢查,就是從父主機開場向下檢查當服務或主機出現問題時發(fā)出通告,可通過email,pager,sms或任意用戶自定義的plugin進展通知能夠自定義事件處理機制重新激活出問題的服務或主機自動日志循環(huán)支持冗余監(jiān)控包括Web界面可以查看當前網絡狀態(tài),通知,問題歷史,日志文件等-可以通過手機查看系統(tǒng)監(jiān)控信息Opennms網絡節(jié)點自動發(fā)現圖形用戶管理界面故障監(jiān)控故障事件管理操作系統(tǒng)監(jiān)控網絡節(jié)點配置信息管理全面的節(jié)點監(jiān)控ZenossZenossCore是開源企業(yè)級IT管理軟件-是智能監(jiān)控軟件,他允許IT管理員依靠單一的WEB控制臺來監(jiān)控網絡架構的狀態(tài)和安康度。ZenossCore同時也是開源的網絡與系統(tǒng)管理軟件。
ZenossCore的強大能力來自于深入的列表與配置管理數據庫,以發(fā)現和管理公司IT環(huán)境的各類資產(包括服務器、網絡、和其他構造設備)。Zenoss可以創(chuàng)立關鍵資產清單和對應的組件級別(接口、服務、進程,已安裝的軟件等)。建設好模型后,就可以監(jiān)控與報告IT架構中各種資源的狀態(tài)和性能容限了。Zenoss同時提供與CMDB關聯的事件和錯誤管理系統(tǒng),以協助提高各類事件和提醒的管理效率。以此提高IT管理人員的效率。Zabbix-CPU負荷-內存使用-磁盤使用-網絡狀況-端口監(jiān)視-日志監(jiān)視SugarNMS1.安全功能
支持多用戶訪問系統(tǒng),每個用戶可以管理不同的設備。系統(tǒng)記錄用戶操作日志和設備運行日志。
2.網絡拓撲圖
采用zhTelecomiTopoview技術,生動的展示網絡構造圖和拓撲圖。對于大量的管理對象,可以通過劃分組、網絡、域進展分級管理。大局部管理操作可以在拓撲圖上直接進展。設備運行狀況在拓撲圖上可以直接顯示。
3.故障管理
系統(tǒng)利用多種手段包括主動輪詢、設備通報、性能超標診斷等監(jiān)控故障的發(fā)生,并能實時將故障通知到管理員。在拓撲圖上通過不同顏色來提示不同級別的故障??梢圆榭垂收系脑颉l(fā)生時間、發(fā)生地等。支持故障智能分析,幫助管理員找到根本原因。
4.性能監(jiān)控
系統(tǒng)可按預先定義的策略,定期的對被管設備進展性能監(jiān)視,采集包括負載、容量、質量、連通性、錯誤率、工作狀態(tài)、可靠度、服務狀態(tài)等多種性能指標,提供實時和歷史的性能數據報表。
5.性能分析
綜合比擬分析性能數據,發(fā)現網絡瓶頸和潛在問題,為優(yōu)化網絡提供依據。預先對性能指標定義不同的警告閥值,在指標超過閥值的時候,提前通知管理員,能有效的預防故障發(fā)生。
6.設備配置管理
控制設備啟動、恢復出廠設置,對設備固件升級備份,配置各種運行參數、服務參數等。
7.管理工具集
在界面上集成各種外部管理工具,如Ping、Telnet、Web連接、各種專用工具等。
8.擴展支持
系統(tǒng)提供配置文件、數據庫、程序3個級別的修改擴展,實現對新功能的支持。開發(fā)語言評估開源軟件語言其他細節(jié)NagiosCWebphp+cgiOpennmsJava,jsp/Servlet,springMVCMaven工程,支持eclipse開發(fā)CactiPHPZenossPythonZabbixC〔backend
〕PHP〔WEB〕SugarNMSJavaJ2SE、XML、、JDBC、Swing、RMI、O-MMapping、O-RMapping等小結軟件\選項License〔free得分2,GPL得分1,商用得分0〕市場占有率,以市場占有率上下依次計分功能〔全面得分3,根本全面2,其他1〕管理界面〔FULLCONTRL2,其他1〕開發(fā)語言〔Java得分3,C/C++得分2,其他1〕得分Nagios1631214Opennms2532316Cacti122218Zenoss1432111Zabbix1332211SugarNMS013239關于license,Opennms的license網站描述如下其他軟件根本上都是在GPL限制下進展。如果我們選用了,在不付費的情況下就是涉及開放源碼的問題。但也可以打擦邊球“一個關于GPL重要的爭議是,非GPL軟件是否可以動態(tài)鏈接到GPL庫〞。從市場占有率來講,Nagios和opennms應用的比擬廣,也意味著更多的資料可以獲取,更多的經歷可以借鑒。從開發(fā)語言來說,Nagios使用c開發(fā),界面PHP,cgi也是由c來開發(fā)的,由于c的復雜性,擴展開發(fā)上存在一定的難度,但是c對我們部門來說還是比擬熟悉的。Opennms是基于java的,Web管理界面是基于JSP/Servlet,SpringMVC。但是Nagios沒有配置界面,配置需要直接修改配置文件。如果選用建議推翻所有目前的cgi方式的管理界面,全部重新開發(fā),或者再結合其他的管理軟件。Cacti基于PHP,zenoss基于python,zabbix基于c和php,SugarNMS開源程度不夠,所以不做過多調研。從以上分析,傾向選擇Nagios和opennms中的一種。調研過程中分別搭建了Nagios和Opennms的運行環(huán)境。搭建了Opennms的開發(fā)環(huán)境,〔Nagios的編譯環(huán)境,源碼包解壓縮就是開發(fā)環(huán)境,無所謂搭建了〕。在搭建Opennms的過程中遇到一點點麻煩。Opennms的安裝和編譯環(huán)境搭建都比擬費力,Opennms的編譯環(huán)境依賴于Maven,eclipse的開發(fā)環(huán)境也需要花上一定的時間,尤其是公司的網絡有諸多限制。Nagios編譯和部署非常的順暢,可以下載源碼包直接編譯安裝。開發(fā)接口調查基于上文中的調查,對于開發(fā)接口的調查只針對于Nagios和Opennms。NagiosNagios支持插件開發(fā)。支持C/C++,JAVA,腳本,并且有大量開發(fā)好的Plugins。插件是編譯的可執(zhí)行文件或腳本〔Perl腳本,shell腳本等〕,可以從命令行運行檢查狀態(tài)或一個主機或服務。Nagios的插件的使用結果來確定網絡上的主機和服務的當前狀態(tài)。Nagios在需要時執(zhí)行Plugin檢查服務或主機狀態(tài)。NRPE方式:NRPE是一個插件,允許執(zhí)行遠程Linux/Unix主機上的插件。如果需要監(jiān)控遠程主機上的資源和屬性,如磁盤使用情況,CPU負載,內存使用等,需要使用這種方式。通過使用check_by_ssh插件可以實現類似的功能。NSCA方式:NSCA是一個插件,允許你發(fā)送被動檢查結果從遠程Linux/Unix主機到Nagios監(jiān)控服務器上運行的守護進程。在分布式和冗余/故障監(jiān)測設置,這是非常有用的。NDOUtils方式:NDOUtils是一個插件,允許把所有狀態(tài)信息存儲在MySQL數據庫中的Nagios。Nagios的多個實例都可以存儲在一個集中的報告的中央數據庫的信息。這可能會作為一個新的基于PHP的未來的Nagios的Web界面的根基上。Nagios提供了NagiosPluginAPI。但是并沒有提供除Nagios提供的功能外的其他功能的開發(fā)。添加新的服務需要閱讀c代碼,難度上相比照擬大?;谶@一點,Nagios并不能滿足我們的要求。OpennmsOpennms是裝配式的,支持根據配置裝載服務和插件,擴展性很強。上圖為opennms的架構圖,其中一些局部在最新版中有所變化。下表是opennms并發(fā)的進程并發(fā)任務守護程序名稱英文描述操作守護程序actiondActiondaemon-automatedaction(workflow)自動操作執(zhí)行工具,用于根據入站事件自動操作〔工作流〕。采集守護程序collectdcollectsdata從受管節(jié)點采集數據。功能守護程序capsdcapabilitycheckonnodes對所發(fā)現的節(jié)點執(zhí)行功能檢查。它通常檢查某個接口的端口,看它是否支持的服務協議。DHCP
守護程序dhcpdDHCPclientforOpenNMS為
OpenNMS
提供
DHCP
客戶機功能。發(fā)現守護程序discoveryinitialandongoingdiscovery互聯網控制消息協議〔InternetControlMessageProtocol或簡寫ICMP〕對受管網絡節(jié)點進展初始的發(fā)現以及持續(xù)進展定期發(fā)現。事件管理器守護程序eventdmanages/storesevents管理來自其它并發(fā)任務的事件,并將它們存儲到
RDBMS通知守護程序notifdexternalnotificationofusers向用戶執(zhí)行外部通知。故障管理器守護程序outagedOutagemanagerdaemon-consolidatesevents合并事件,以為每個受管節(jié)點/服務提供持續(xù)的歷史故障視圖。輪詢器守護程序pollerdPollerdaemon-pollsmanagednodes/services定期輪詢受管節(jié)點/服務,以決定操作狀態(tài)。RTC
管理器守護程序rtcdRTCmanagerdaemon-realtimeavailabilityinformation實時收集數據,為用戶定義的各類受管節(jié)點/服務提供可用性信息。SNMP
陷阱守護程序trapdSNMPtrapdaemon–handlesSNMPtraps處理
SNMP
陷阱〔事件〕。閾值服務守護程序threshdThresholddaemon–monitorforthresholdvalues根據屬性值是否到達指定的閾值來監(jiān)控受管節(jié)點/服務。支持總控/調度,發(fā)現,配置采集,性能采集,事件〔告警〕收集,輪詢服務。通過在
service-configuration.xml配置需要的服務。OpenNMS系統(tǒng)配置信息通過XML數據存儲,基于linux系統(tǒng)和Postgres數據庫的網絡管理系統(tǒng)。網絡數據通過JDBC對數據進展持久化,Web采用JSP/Servlet。OpenNMS是一個OpenSourceFramework,它采用了諸多的開源組件與框架,使用了各種協議的開源實現。每一個層面服務、功能都有自己的配置文件。OpenNMS采用了xml數據綁定技術〔opennms采用的是castor〕。根據xml文件的schema定義文件〔xsd文件〕生成對xml文件到java對象的映射,這樣就不需要寫解析xml文件的代碼而是針對java對象進展操作。因此這些類都是在系統(tǒng)編譯過程中由castor包根據xsd文件生成的。(Castor是一個Java開源數據綁定框架,它主要目標是提供Java對象與XML
的綁定,Java到SQL的持久化等.)Cleanimports是對java文件中的無用的imports作清理,并通過配置文件提供的格式對imports代碼段進展格式整理。各種單元測試手段,Unit,jWebUnit,Junit。
nekohtml解析HTML,Html
Tidy對html
字符串進展修正,并做標準化的處理。Avalon主要是一種Server的架構,可以滿足配置、日志等服務器程序的需要。Jdhcp,javaDHCP的實現。Xerces解析XML,API與實現有:xmlParserAPIs,xml-apis,xercesImpl。jCIFS,用Java開發(fā)的SMB客戶端庫。ldap-impl,LDAPjava實現。smtp.jarpop3.jar,SMTP,POP3協議Java實現。JRobin基于LGPL授權的網絡性能監(jiān)控系統(tǒng),是RRDTool的一個純Java實現。joeSNMP,JavaSNMP類庫。WebUI:OpenNMS框架邏輯上采用了MVC架構,準確來說是JSPMVCModel1,采用此架構的主要理念是盡量把邏輯與表示別離,這有利于系統(tǒng)強健性,代碼重用和構造清晰,便于重新設計,并長期維持。在OpenNMS中MVC各局部主要代表如下:視圖〔JSP〕OpenNMS的頁面通過Model請求回來的內容以HTML,XML/XSL,圖表等形式呈現給客戶端??刂破鳌睸ervlet〕OpenNMS的控制器采用Servlet方式的,配置在web.xml文件中,用來承受用戶的輸入并調用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求,然后用確定用哪個視圖來顯示模型處理返回的數據。模型(BussinessObject/JavaBean)模型表示企業(yè)數據和業(yè)務規(guī)則。模型允許重用一樣的代碼跨數個不同的用戶界面組件。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。開發(fā)接口:OpenNMS提供了一個簡單快速的框架用來擴展設置缺省服務與協議,為了擴展OpenNMS管理一個可定制的服務或協議需滿足如下要求:以Caspdplugin為例編寫代碼capsdplugin(插件)測試網絡接口是否有支持期望的協議或服務添加一個<protocolplugin>元素,在$OPENNMS_HOME的/etc/capsd-configuration.xmlconfig定義新的服務。編寫代碼poller插件,在某一特定的網絡接口,監(jiān)測當前期望的協議或服務的狀態(tài)。在$OPENNMS_HOME的/etc/capsd-configuration.xmlconfig配置文件中添加<service>和<monitor>元素定義新的調用服務。編寫PluginCapsd使用plugin執(zhí)行設備的性能檢測,一個Plugin是一個實現mgt.capsd.Plugin接口的Java類。以下接口中的方法必須實現:publicinterfacePlugin
{public
StringgetProtocolName();publicboolean
isProtocolSupported(InetAddressaddress);publicboolean
isProtocolSupported(InetAddressaddress,Mapqualifiers);}在配置文件capsd-configuration.xml添加,比方FtpPlugin<protocol-pluginprotocol="FTP"class-name="mgt.capsd.plugins.FtpPlugin"scan="on"><propertykey="port"value="21"/><propertykey="timeout"value="2000"/><propertykey="retry"value="1"/></protocol-plugin>在運行時,性能daemon調用isProtocolSupported()方法。此方法是每一加載的plugin通過它.InetAddress對象的每一個被發(fā)現的守護daemon,發(fā)現任何支持此接口的服務將通過接結點標識符與IP地址增加到ifservices數據表中。創(chuàng)立PollerPluginPollerdaemon使用PollerPlugin輪詢受管制接口所支持的服務當前狀態(tài)。一個PollerPlugin是一個實現mgt.poller.monitors.ServiceMonitor接口的Java類。實現下面的pollerplugin接口。publicvoid
initialize(java.util.Mapparameters);publicvoid
release();publicvoid
initialize(mgt.poller.NetworkInterfaceiface);publicvoid
release(.NetworkInterfaceiface);publicint
poll(.NetworkInterfaceiface,
mgt.utils.EventProxyeproxy,
java.util.Mapparameters);在p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 任務五線路障礙種類及維護技術要求李永華課件
- 任務認識工程地質測繪的內容課件
- 11 爸爸媽媽在我心中 第二課時(教學設計)2023-2024學年統(tǒng)編版道德與法治三年級上冊
- 施工組織設計與概預算人李慧英30課件
- 2025年國際工程承包項目貸款合同模板
- 2025商場租賃合同樣本
- 2025的企業(yè)貸款合同模板
- 2025建筑裝飾工程合同
- 2025室內設計合同范本匯編
- 1我們班四歲了第一課時教學設計-2023-2024學年道德與法治四年級上冊(部編版)
- 2025榆林能源集團有限公司招聘工作人員(473人)筆試參考題庫附帶答案詳解
- 銀行等安全保衛(wèi)現場檢查要點清單
- 活動場地租賃與活動安全責任協議
- 《數據統(tǒng)計與分析》課件
- 2024年河南職業(yè)技術學院單招職業(yè)適應性考試題庫必考題
- (二模)新疆維吾爾自治區(qū)2025年普通高考第二次適應性檢測 英語試卷(含答案詳解)
- 旅行社企業(yè)章程范本
- 2024屆新高考物理沖刺復習:“正則動量”解決帶電粒子在磁場中的運動問題
- 2024年國家糧食和物資儲備局直屬事業(yè)單位招聘筆試參考題庫附帶答案詳解
- 部編版二年級道德與法治下冊《道德與法治》集體備課全部教案
- 地下儲氣庫天然氣損耗及控制
評論
0/150
提交評論