音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于SNMP數(shù)據(jù)采集模塊的設(shè)計(jì)和實(shí)現(xiàn)

出處:prengui 發(fā)布于:2007-11-13 15:13:20

  網(wǎng)絡(luò)管理通常包括配置、故障、性能、計(jì)費(fèi)和安全5個(gè)方面的管理功能。網(wǎng)管系統(tǒng)通過(guò)數(shù)據(jù)采集模塊采集各個(gè)被管設(shè)備中的對(duì)象,經(jīng)處理后為各個(gè)網(wǎng)管應(yīng)用程序所用。網(wǎng)絡(luò)管理各個(gè)功能的實(shí)現(xiàn),都是建立在對(duì)各種管理信息采集的基礎(chǔ)之上,數(shù)據(jù)采集是實(shí)現(xiàn)網(wǎng)絡(luò)管理的前提和基礎(chǔ)。面對(duì)大量需要采集的管理信息,構(gòu)建一個(gè)穩(wěn)定高效的數(shù)據(jù)采集模塊對(duì)于實(shí)施可靠的網(wǎng)絡(luò)管理具有舉足輕重的作用。目前,數(shù)據(jù)采集主要有如下幾種方式:基于簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)、基于網(wǎng)絡(luò)探針(Probe)、基于網(wǎng)絡(luò)流(Net-flow)。由于SNMP協(xié)議已成為事實(shí)上的網(wǎng)絡(luò)管理標(biāo)準(zhǔn),受到眾多網(wǎng)絡(luò)設(shè)備廠商的支持,且有標(biāo)準(zhǔn)函數(shù)接口支持,實(shí)現(xiàn)簡(jiǎn)單,因此現(xiàn)在普遍采用SNMP進(jìn)行網(wǎng)絡(luò)管理系統(tǒng)開(kāi)發(fā)。本文針對(duì)基于SNMP數(shù)據(jù)采集方式中存在的效率問(wèn)題,提出了面向數(shù)據(jù)類型的采集策略,同時(shí)采用多線程技術(shù)實(shí)現(xiàn)對(duì)不同被管設(shè)備的訪問(wèn),大大提高了數(shù)據(jù)采集的效率,并且減少了冗余數(shù)據(jù)的重復(fù)采集。

1 對(duì)象訪問(wèn)方法

  MIB中的每個(gè)對(duì)象都有一個(gè)惟一的對(duì)象標(biāo)識(shí)符(OID),該標(biāo)識(shí)符由所在MIB樹(shù)中的位置決定。通過(guò)SNMP獲取被管對(duì)象的信息,實(shí)際上并不是訪問(wèn)一個(gè)MIB對(duì)象,而是訪問(wèn)對(duì)象的一個(gè)特定實(shí)例。由于對(duì)象類型有標(biāo)量對(duì)象、表對(duì)象(行對(duì)象和列對(duì)象)之分,因此對(duì)于他們實(shí)例的訪問(wèn)存在差別。

1.1 標(biāo)量對(duì)象

  標(biāo)量對(duì)象與其實(shí)例是一一對(duì)應(yīng)的,即一個(gè)標(biāo)量對(duì)象只有一個(gè)對(duì)象實(shí)例。為了統(tǒng)一對(duì)象實(shí)例的標(biāo)識(shí),同時(shí)區(qū)分對(duì)象和對(duì)象實(shí)例,SNMP規(guī)定不屬于表的標(biāo)量對(duì)象的實(shí)例標(biāo)識(shí)符由他的對(duì)象標(biāo)識(shí)符加上0組成。對(duì)于標(biāo)量對(duì)象實(shí)例的訪問(wèn),可以通過(guò)調(diào)用SNMP++類庫(kù)(HP公司提供的SNMP開(kāi)發(fā)包)中的Snmp::get()函數(shù)來(lái)實(shí)現(xiàn)。

1.2 列對(duì)象

  在MIB定義中,表對(duì)象和行對(duì)象的訪問(wèn)狀態(tài)是“無(wú)法訪問(wèn)”。對(duì)于列對(duì)象來(lái)說(shuō),他的實(shí)例是一組用列對(duì)象標(biāo)識(shí)符(ColumnOID)和行索引值(RowIndexValue)聯(lián)合標(biāo)識(shí)的實(shí)例。列對(duì)象標(biāo)識(shí)符,是用來(lái)惟一標(biāo)識(shí)列對(duì)象的OID。行索引值由一個(gè)或多個(gè)列對(duì)象對(duì)應(yīng)實(shí)例的值組成。

  列對(duì)象的每一個(gè)實(shí)例可以看作是表中指定列對(duì)應(yīng)位置的元素。表中元素的位置可以用行坐標(biāo)和列坐標(biāo)表示,相應(yīng)地,列對(duì)象的行坐標(biāo)可以用RowIndexValue表示,列坐標(biāo)用ColumnOID表示。同一列元素有相同Colum-nOID,同一行元素有相同RowIndexValue。表中元素可以通過(guò)如下公式進(jìn)行標(biāo)識(shí):Oid=ColumnOID+RowIndex-Value。SNMP定義了訪問(wèn)列對(duì)象實(shí)例的方法:順序訪問(wèn)和隨機(jī)訪問(wèn)。

(1) 順序訪問(wèn)

  MIB對(duì)象的標(biāo)識(shí)符是按字典順序排列的,對(duì)于他們的實(shí)例也是按字典順序進(jìn)行排列。利用這種特性,可以通過(guò)調(diào)用SNMP++類庫(kù)中的Snmp::get_next()函數(shù)遍歷獲得一列或一個(gè)表甚至是整個(gè)MIB的結(jié)構(gòu)。這種方法適合在未知被管設(shè)備MIB結(jié)構(gòu)的前提下搜索和訪問(wèn)對(duì)象。

(2) 隨機(jī)訪問(wèn)

  由于列對(duì)象實(shí)例由ColumnOID和RowIndexValue共同標(biāo)識(shí),所以先要根據(jù)被指定為行索引的列對(duì)象獲取他(們)的實(shí)例值確定特定實(shí)例的RowIndexValue,在此基礎(chǔ)上聯(lián)合已知ColumnOID組成特定實(shí)例的完整Oid,據(jù)此利用Snmp::get()獲取相應(yīng)的值。這里要指出一點(diǎn),行索引本身也是一個(gè)或多個(gè)列對(duì)象,所以先要分別遍歷各個(gè)列對(duì)象的所有實(shí)例,然后根據(jù)特定實(shí)例所在列的位置確定出RowIndexValue(由同一位置的列對(duì)象實(shí)例值按指定順序組成)。由于同一行元素具有相同RowIndexValue,只需遍歷(利用Snmp::get_next()函數(shù))某一列對(duì)象獲取實(shí)例的完整Oid(利用Vb::get_old()函數(shù)),根據(jù)(Oid-ColumnOID)即可確定RowIndexOid。可見(jiàn),隨機(jī)訪問(wèn)列對(duì)象某個(gè)實(shí)例的過(guò)程其實(shí)是順序訪問(wèn)列對(duì)象和標(biāo)量對(duì)象訪問(wèn)的結(jié)合。

2 數(shù)據(jù)采集策略

  管理站從被管設(shè)備中采集數(shù)據(jù)有兩種方式:主動(dòng)訪問(wèn)被管對(duì)象和被動(dòng)接收告警信息。主動(dòng)訪問(wèn)被管對(duì)象是指管理進(jìn)程(管理站中)通過(guò)SNMP協(xié)議發(fā)起對(duì)被管對(duì)象的請(qǐng)求,被管設(shè)備中的代理進(jìn)程則響應(yīng)該請(qǐng)求。被動(dòng)接收告警信息是指管理進(jìn)程監(jiān)聽(tīng)陷阱端口(通常為UDP162端口),接收來(lái)自代理的告警信息。代理進(jìn)程會(huì)在預(yù)定義事件發(fā)生時(shí)向管理進(jìn)程發(fā)出Trap報(bào)文。

  對(duì)于主動(dòng)訪問(wèn)來(lái)說(shuō),根據(jù)訪問(wèn)對(duì)象的性質(zhì),可以分為靜態(tài)信息和動(dòng)態(tài)信息。對(duì)于靜態(tài)信息來(lái)說(shuō),一經(jīng)配置基本上保持不變,因此沒(méi)必要在每采集過(guò)程中都對(duì)他進(jìn)行輪詢操作,只有當(dāng)他發(fā)生變化時(shí)進(jìn)行必要的訪問(wèn)以保證信息的有效。對(duì)于動(dòng)態(tài)信息來(lái)說(shuō),他是隨著設(shè)備的運(yùn)行情況做出相應(yīng)的調(diào)整,以實(shí)時(shí)地反映設(shè)備的狀態(tài)或是性能信息。為了能跟蹤設(shè)備性能參數(shù)的變化情況或是及時(shí)反映設(shè)備的運(yùn)行狀態(tài),有必要對(duì)被管對(duì)象進(jìn)行輪詢操作,但是這里就存在一個(gè)采集頻率的問(wèn)題。

  數(shù)據(jù)采集頻率的確定,是一個(gè)與網(wǎng)絡(luò)帶寬權(quán)衡的過(guò)程。采集頻率過(guò)低,占用網(wǎng)絡(luò)資源相對(duì)較少,但是數(shù)據(jù)的更新周期相對(duì)較大,不能反映參數(shù)的真實(shí)變化情況;采集頻率過(guò)高,數(shù)據(jù)更新自然較快,但是在采集周期內(nèi)所占用的網(wǎng)絡(luò)資源就會(huì)很大,增加網(wǎng)絡(luò)設(shè)備的負(fù)擔(dān),甚至有可能會(huì)影響到正常的網(wǎng)絡(luò)通信。因此在確定數(shù)據(jù)采集的頻率時(shí),必須根據(jù)實(shí)際的網(wǎng)絡(luò)帶寬資源進(jìn)行考慮,同時(shí)還要考慮被管設(shè)備中被管對(duì)象的數(shù)量。

  在動(dòng)態(tài)信息的訪問(wèn)過(guò)程中,還存在另一個(gè)問(wèn)題。如果按照串行操作,依次訪問(wèn)所有設(shè)備的被管對(duì)象,由于對(duì)象數(shù)目眾多,將會(huì)占用很長(zhǎng)的處理時(shí)間(甚至超出既定的采集周期,這個(gè)問(wèn)題也是確定采集頻率需要考慮的),導(dǎo)致訪問(wèn)工作不能正常進(jìn)行。為了保證管理進(jìn)程能夠在采集周期內(nèi)完成對(duì)所有被管對(duì)象的訪問(wèn),這里采用多線程技術(shù)來(lái)完成對(duì)象的訪問(wèn)工作。對(duì)于同一被管設(shè)備,采用獨(dú)立的子線程進(jìn)行訪問(wèn),這樣一來(lái)既可以保證在一定周期內(nèi)完成對(duì)所有被管對(duì)象的訪問(wèn),也使得各個(gè)子線程保持相對(duì)的獨(dú)立性,互不干擾。

  在對(duì)象訪問(wèn)過(guò)程中,為減少管理進(jìn)程和代理進(jìn)程之間報(bào)文交換的次數(shù),可以將不同對(duì)象綁定到同一個(gè)協(xié)議數(shù)據(jù)單元(PDU)的變量列表中,或是采用SNMPv2中新增加的GetBulkRequest-PDU。文獻(xiàn)[5]和[6]中還討論了有效獲取MIB對(duì)象的方法。

3 數(shù)據(jù)采集模塊的設(shè)計(jì)和實(shí)現(xiàn)

  針對(duì)不同的數(shù)據(jù)采集方式,采用不同線程來(lái)完成數(shù)據(jù)采集工作。

3.1 告警信息接收線程

  對(duì)于告警信息的被動(dòng)接收,管理進(jìn)程單獨(dú)開(kāi)啟一個(gè)線程用來(lái)專門監(jiān)聽(tīng)陷阱端口,接收并處理所有來(lái)自網(wǎng)管代理的告警(Trap)消息。在網(wǎng)絡(luò)管理過(guò)程中,無(wú)論在性能管理、故障管理、還是安全管理等功能域,告警功能都是很重要的。這里主要利用SNMP Trap機(jī)制實(shí)現(xiàn)實(shí)時(shí)告警功能。

3.2 靜態(tài)信息獲取線程

  對(duì)于靜態(tài)信息的采集,管理進(jìn)程同樣為他單獨(dú)開(kāi)啟一個(gè)線程來(lái)進(jìn)行靜態(tài)信息的收集。由于靜態(tài)信息不隨設(shè)備的運(yùn)行而變化(一般不進(jìn)行手工設(shè)置,靜態(tài)信息保持不變),就沒(méi)有必要重復(fù)地訪問(wèn)這類信息。本線程就是依據(jù)這一點(diǎn),在對(duì)所有靜態(tài)對(duì)象訪問(wèn)之后,將采集到的管理信息入庫(kù)存儲(chǔ)。應(yīng)用程序?qū)@類數(shù)據(jù)的操作只需訪問(wèn)本地?cái)?shù)據(jù)庫(kù)即可。如此就減少了對(duì)非實(shí)時(shí)變化信息的訪問(wèn),同時(shí)也減少了冗余信息的存儲(chǔ)。要指出一點(diǎn),靜態(tài)信息的改變一般是由于手工配置引起的,因此需要跟蹤配置操作對(duì)相應(yīng)的信息做出及時(shí)的更新。

3.3 動(dòng)態(tài)信息輪詢線程

  對(duì)于動(dòng)態(tài)信息的采集,管理進(jìn)程也開(kāi)啟一個(gè)主線程用來(lái)專門負(fù)責(zé)動(dòng)態(tài)信息的輪詢工作。為了保證數(shù)據(jù)的實(shí)時(shí)性,就需要按照一定的時(shí)問(wèn)間隔定時(shí)訪問(wèn)被管對(duì)象以獲取的數(shù)據(jù)。對(duì)有關(guān)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析,就能掌握動(dòng)態(tài)信息的變化趨勢(shì),為故障管理、性能管理、計(jì)費(fèi)管理等網(wǎng)絡(luò)管理功能提供必要的數(shù)據(jù)支持。

  為了使訪問(wèn)工作在規(guī)定的時(shí)間間隔內(nèi)完成,避免串行執(zhí)行帶來(lái)的長(zhǎng)周期問(wèn)題,采用多個(gè)輪詢子線程各自負(fù)責(zé)屬于自己的管理對(duì)象子集。所有輪詢子線程的工作結(jié)束后,這的訪問(wèn)工作便完成,即輪詢主線程進(jìn)入等待,直到下輪詢點(diǎn)的到來(lái)或是接收到終止輪詢主線程的命令。

4 結(jié)語(yǔ)

  數(shù)據(jù)采集模塊是網(wǎng)管系統(tǒng)對(duì)整個(gè)網(wǎng)絡(luò)實(shí)時(shí)有效、可靠管理的前提和基礎(chǔ)。本文首先分析了利用SNMP++開(kāi)發(fā)包實(shí)現(xiàn)MIB對(duì)象訪問(wèn)的方法。在此基礎(chǔ)上,根據(jù)不同的數(shù)據(jù)采集對(duì)象性質(zhì),對(duì)數(shù)據(jù)采集策略進(jìn)行了探討,提出了面向不同對(duì)象類型采用多線程技術(shù)進(jìn)行數(shù)據(jù)采集的方法。,結(jié)合實(shí)際開(kāi)發(fā)工作,對(duì)數(shù)據(jù)采集模塊(特別是其中的動(dòng)態(tài)信息輪詢線程)做了詳細(xì)的介紹。本文提供了一個(gè)高效、穩(wěn)定的數(shù)據(jù)采集方案,并已在實(shí)際的網(wǎng)管系統(tǒng)中得到應(yīng)用,取得了較好的效果。



  

參考文獻(xiàn):

[1]. MIB datasheet http://m.58mhw.cn/datasheet/MIB_2043408.html.


關(guān)鍵詞:基于SNMP數(shù)據(jù)采集模塊的設(shè)計(jì)和實(shí)現(xiàn)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!