一種snmp管理進(jìn)程的壓力測(cè)試方法和裝置制造方法
【專(zhuān)利摘要】本發(fā)明提供了一種SNMP管理進(jìn)程的壓力測(cè)試方法和裝置,其中方法包括:S1、在網(wǎng)絡(luò)設(shè)備的SNMP代理進(jìn)程的管理信息庫(kù)MIB中添加私有對(duì)象標(biāo)識(shí)符OID,并使私有OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量;S2、將所述私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中并設(shè)置采集間隔時(shí)間;S3、根據(jù)所述配置文件采集SNMP代理進(jìn)程的MIB中的私有OID數(shù)據(jù);S4、根據(jù)在連續(xù)的規(guī)定時(shí)間內(nèi)是否采集到私有OID數(shù)據(jù)連續(xù)判斷測(cè)試結(jié)果。本發(fā)明能夠以少量的網(wǎng)絡(luò)設(shè)備模擬一定規(guī)模的機(jī)房真實(shí)情況來(lái)對(duì)SNMP管理進(jìn)程進(jìn)行壓力測(cè)試,同時(shí)能夠自動(dòng)化檢驗(yàn)測(cè)試結(jié)果。
【專(zhuān)利說(shuō)明】—種SNMP管理進(jìn)程的壓力測(cè)試方法和裝置
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明涉及系統(tǒng)測(cè)試技術(shù),特別涉及一種SNMP管理進(jìn)程的壓力測(cè)試方法和裝置?!尽颈尘凹夹g(shù)】】
[0002]SNMP (簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)是目前應(yīng)用最廣的網(wǎng)絡(luò)管理協(xié)議,它通過(guò)SNMP管理進(jìn)程和運(yùn)行在網(wǎng)絡(luò)設(shè)備上的SNMP代理進(jìn)程之間的通信來(lái)采集各個(gè)網(wǎng)絡(luò)設(shè)備的相關(guān)參數(shù)?;ヂ?lián)網(wǎng)企業(yè)常用基于SNMP的技術(shù)來(lái)對(duì)自己的機(jī)房或數(shù)據(jù)中心進(jìn)行管理運(yùn)維。
[0003]為了保證在實(shí)際應(yīng)用中,SNMP管理進(jìn)程不會(huì)出現(xiàn)采集超時(shí)或遺漏采集等問(wèn)題,需要在事先對(duì)SNMP管理進(jìn)程進(jìn)行壓力測(cè)試以檢驗(yàn)其性能是否滿(mǎn)足要求。目前對(duì)SNMP管理進(jìn)程進(jìn)行壓力測(cè)試的方法通常是:用SNMP管理進(jìn)程采集現(xiàn)有機(jī)房中所有網(wǎng)絡(luò)設(shè)備的參數(shù),根據(jù)采集的數(shù)據(jù)是否全面、內(nèi)容是否有間斷來(lái)判斷SNMP管理進(jìn)程的性能。 [0004]這樣的方法可能對(duì)正在線上進(jìn)行服務(wù)的網(wǎng)絡(luò)設(shè)備造成影響,從而引發(fā)線上的事故,同時(shí),這樣的測(cè)試方法只能驗(yàn)證SNMP管理進(jìn)程的性能是否滿(mǎn)足現(xiàn)有機(jī)房規(guī)模的要求,無(wú)法評(píng)估如果機(jī)房擴(kuò)建后其是否仍然能夠正常工作。此外,SNMP管理進(jìn)程采集的數(shù)據(jù)結(jié)果最終是通過(guò)web以圖像形式呈現(xiàn)出來(lái)的,通常是通過(guò)觀察圖像的連續(xù)性來(lái)判斷采集的數(shù)據(jù)是否全面,然而在測(cè)試時(shí),圖像數(shù)量可達(dá)到上萬(wàn)張,人工很難對(duì)所有結(jié)果進(jìn)行驗(yàn)證。
【
【發(fā)明內(nèi)容】
】
[0005]有鑒于此,本發(fā)明提供了一種SNMP管理進(jìn)程的壓力測(cè)試方法和裝置,能夠降低對(duì)線上網(wǎng)絡(luò)設(shè)備的影響,實(shí)現(xiàn)測(cè)試結(jié)果的自動(dòng)化判斷。
[0006]具體技術(shù)方案如下:
[0007]一種簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP管理進(jìn)程的壓力測(cè)試方法,該方法包括:
[0008]S1、在網(wǎng)絡(luò)設(shè)備的SNMP代理進(jìn)程的管理信息庫(kù)MIB中添加私有對(duì)象標(biāo)識(shí)符0ID,并使私有OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量;
[0009]S2、將所述私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中并設(shè)置采集間隔時(shí)間;
[0010]S3、根據(jù)所述配置文件采集SNMP代理進(jìn)程的MIB中的私有OID數(shù)據(jù);
[0011]S4、根據(jù)在連續(xù)的規(guī)定時(shí)間內(nèi)是否采集到私有OID數(shù)據(jù)連續(xù)判斷測(cè)試結(jié)果。
[0012]根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述步驟SI具體包括:根據(jù)RFC規(guī)范生成私有0ID,并將生成的私有OID插入到SNMP代理進(jìn)程的MIB中,使OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量;
[0013]所述將所述私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中具體包括:將所述步驟SI中所述插入到SNMP代理進(jìn)程的MIB中的私有OID寫(xiě)入到SNMP管理進(jìn)程的配置文件中。
[0014]根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述步驟S3具體包括:
[0015]根據(jù)所述配置文件采集SNMP代理進(jìn)程的MIB中的私有OID數(shù)據(jù),將采集到的私有OID數(shù)據(jù)存入至環(huán)形數(shù)據(jù)庫(kù)RRD文件中;按所述RRD文件中的內(nèi)容執(zhí)行所述步驟S4。
[0016]根據(jù)本發(fā)明一優(yōu)選實(shí)施例,按照預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)周期將采集到的私有OID數(shù)據(jù)存入至RRD文件中,其中,如果在當(dāng)前數(shù)據(jù)存儲(chǔ)周期內(nèi)RRD文件收到采集到的數(shù)據(jù),則在當(dāng)前數(shù)據(jù)存儲(chǔ)周期記錄該數(shù)據(jù)的值;否則,將當(dāng)前數(shù)據(jù)存儲(chǔ)周期的值記為nan ;
[0017]所述數(shù)據(jù)存儲(chǔ)周期時(shí)長(zhǎng)不小于所述采集間隔時(shí)間時(shí)長(zhǎng)。
[0018]根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述步驟S4具體包括:
[0019]判斷所述RRD文件中有無(wú)nan值,若有,則說(shuō)明采集數(shù)據(jù)有丟失;若無(wú),則說(shuō)明采集數(shù)據(jù)完整。
[0020]一種簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP管理進(jìn)程的壓力測(cè)試裝置,該裝置包括:
[0021]添加模塊,用于在網(wǎng)絡(luò)設(shè)備的SNMP代理進(jìn)程的管理信息庫(kù)MIB中添加私有對(duì)象標(biāo)識(shí)符0ID,并使私有OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量;
[0022]配置模塊,將所述私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中并設(shè)置采集間隔時(shí)間;
[0023]采集模塊,用于根據(jù)所述配置文件采集SNMP代理進(jìn)程的MIB中的私有OID數(shù)據(jù);
[0024]檢驗(yàn)?zāi)K,用于根據(jù)在連續(xù)的規(guī)定時(shí)間內(nèi)是否采集到私有OID數(shù)據(jù)連續(xù)判斷測(cè)試結(jié)果。
[0025]根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述OID模塊具體執(zhí)行:根據(jù)RFC規(guī)范生成私有0ID,并將生成的私有OID插入到SNMP代理進(jìn)程的MIB中,使OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量;
[0026]所述配置模塊將所述私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中具體執(zhí)行:將所述OID模塊插入到SNMP 代理進(jìn)程的MIB中的私有OID寫(xiě)入到SNMP管理進(jìn)程的配置文件中。
[0027]根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述采集模塊具體執(zhí)行:
[0028]根據(jù)所述配置文件采集SNMP代理進(jìn)程的MIB中的私有OID數(shù)據(jù),將采集到的私有OID數(shù)據(jù)存入至環(huán)形數(shù)據(jù)庫(kù)RRD文件中;
[0029]所述校驗(yàn)?zāi)K按所述RRD文件中的內(nèi)容執(zhí)行所述判斷測(cè)試結(jié)果的操作。
[0030]根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述采集模塊按照預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)周期將采集到的私有OID數(shù)據(jù)存入至RRD文件中,其中,如果在當(dāng)前數(shù)據(jù)存儲(chǔ)周期內(nèi)RRD文件收到采集到的數(shù)據(jù),則在當(dāng)前數(shù)據(jù)存儲(chǔ)周期記錄該數(shù)據(jù)的值;否則,將當(dāng)前數(shù)據(jù)存儲(chǔ)周期的值記為nan ;
[0031]所述數(shù)據(jù)存儲(chǔ)周期時(shí)長(zhǎng)不小于所述采集間隔時(shí)間時(shí)長(zhǎng)。
[0032]根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述檢驗(yàn)?zāi)K具體執(zhí)行:
[0033]判斷所述RRD文件中有無(wú)nan值,若有,則說(shuō)明采集數(shù)據(jù)有丟失;若無(wú),則說(shuō)明采集數(shù)據(jù)完整。
[0034]由以上技術(shù)方案可以看出,本發(fā)明通過(guò)在網(wǎng)絡(luò)設(shè)備的SNMP代理進(jìn)程的MIB中添加私有0ID,使OID數(shù)量達(dá)到設(shè)定數(shù)量來(lái)模擬一定數(shù)量規(guī)模的網(wǎng)絡(luò)設(shè)備中需要采集的參數(shù)數(shù)據(jù)的規(guī)模,以此完成對(duì)SNMP管理進(jìn)程的壓力測(cè)試,還通過(guò)判斷在規(guī)定時(shí)間內(nèi)是否存入采集到的數(shù)據(jù)來(lái)判斷采集是否全面。與現(xiàn)有技術(shù)相比,本發(fā)明不需要利用整個(gè)現(xiàn)有機(jī)房的網(wǎng)絡(luò)設(shè)備,僅需少量的空閑網(wǎng)絡(luò)設(shè)備便能完成一定規(guī)模的SNMP管理進(jìn)程的壓力測(cè)試,降低了對(duì)線上網(wǎng)絡(luò)設(shè)備的影響,同時(shí)能對(duì)測(cè)試的結(jié)果進(jìn)行自動(dòng)化判斷。
【【專(zhuān)利附圖】
【附圖說(shuō)明】】
[0035]圖1為本發(fā)明實(shí)施例一提供的SNMP管理進(jìn)程的壓力測(cè)試方法流程圖;
[0036]圖2為本發(fā)明實(shí)施例一提供的某個(gè)RRD文件的內(nèi)容示意圖;
[0037]圖3為本發(fā)明實(shí)施例二提供的SNMP管理進(jìn)程的壓力測(cè)試裝置示意圖。【【具體實(shí)施方式】】
[0038]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
[0039]實(shí)施例一、
[0040]圖1為本發(fā)明實(shí)施例一所提供SNMP管理進(jìn)程的壓力測(cè)試方法流程圖,如圖1所示,該方法包括:
[0041]步驟S101、在網(wǎng)絡(luò)設(shè)備的SNMP代理進(jìn)程的MIB中添加私有0ID,并使OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量。 [0042]OID (對(duì)象標(biāo)識(shí))通常表示網(wǎng)絡(luò)設(shè)備的某個(gè)參數(shù)的名稱(chēng)或該參數(shù)的具體數(shù)值,OID存放于SNMP代理進(jìn)程的MIB (管理信息庫(kù))中。SNMP管理進(jìn)程在獲取網(wǎng)絡(luò)設(shè)備的相關(guān)信息時(shí),會(huì)通過(guò)SNMPget命令獲取代理進(jìn)程MIB中的各個(gè)OID的具體內(nèi)容??梢?jiàn),SNMP管理進(jìn)程采集信息時(shí),采集的單位是OID而不是網(wǎng)絡(luò)設(shè)備,本發(fā)明正是利用在少量網(wǎng)絡(luò)設(shè)備中添加私有OID來(lái)模擬一定數(shù)量規(guī)模的網(wǎng)絡(luò)設(shè)備的真實(shí)情況,以此完成對(duì)SNMP管理進(jìn)程的壓力測(cè)試。私有OID不需要具有特定的意義,只需要能夠被SNMP管理進(jìn)程采集,完成測(cè)試即可。
[0043]添加私有OID可以但不限于采用下述方式:
[0044]根據(jù)RFC規(guī)范生成私有0ID,并將所生成的私有OID插入到SNMP進(jìn)程的MIB中,直至滿(mǎn)足OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量。
[0045]RFC規(guī)范中規(guī)定了 OID的前幾位代表不同的含義,私有OID的前5位應(yīng)為“1.3.6.1.4”。根據(jù)測(cè)試需要,設(shè)置要生成的OID最長(zhǎng)的位數(shù)以及每一位的數(shù)值范圍,例如,設(shè)置最大位數(shù)為14位,設(shè)置每一位的數(shù)值范圍為O至1999,則除了開(kāi)頭固定的5位外還有9位可用,可以生成的私有OID的數(shù)量為2000的9次方,完全能滿(mǎn)足測(cè)試需要(通常線上機(jī)房的OID數(shù)量最多為100萬(wàn)左右)。生成私有OID時(shí),可以將OID的后9位看作是一個(gè)9位的2000進(jìn)制數(shù),這個(gè)9位2000進(jìn)制數(shù)的每個(gè)數(shù)值都對(duì)應(yīng)一個(gè)私有0ID,從O開(kāi)始,每生成一個(gè)私有0ID,則這個(gè)9位2000進(jìn)制數(shù)加1,例如,生成的第2個(gè)私有OID應(yīng)為“ 1.3.6.1.4.0.0.0.0.0.0.0.0.1 ”,第 2000 個(gè)私有 OID 應(yīng)為“ 1.3.6.1.4.0.0.0.0.0.0.0.0.1999”,第 2001 個(gè)私有 OID 應(yīng)為 “1.3.6.1.4.0.0.0.0.0.0.0.1.0”。
[0046]每生成一個(gè)私有OID后,將該私有OID插入到SNMP代理進(jìn)程的MIB中,直到OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量。預(yù)先設(shè)置的OID數(shù)量是根據(jù)測(cè)試需要達(dá)到的規(guī)模來(lái)設(shè)置的,例如,需要模擬SNMP管理進(jìn)程對(duì)5萬(wàn)個(gè)參數(shù)信息進(jìn)行采集,那么就需要在MIB中插入5萬(wàn)個(gè)私有0ID。向MIB中插入私有OID可以使用第三方軟件來(lái)完成。
[0047]需要說(shuō)明的是,在插入私有OID時(shí)需要考慮SNMP代理進(jìn)程所屬網(wǎng)絡(luò)設(shè)備的內(nèi)存空間,如果一臺(tái)網(wǎng)絡(luò)設(shè)備的內(nèi)存空間不足以存放測(cè)試所需的OID數(shù)量,那么則需要兩臺(tái)或者兩臺(tái)以上網(wǎng)絡(luò)設(shè)備來(lái)完成測(cè)試。
[0048]步驟S102、將所述在SNMP代理進(jìn)程的MIB中添加的私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中。
[0049]SNMP管理進(jìn)程會(huì)根據(jù)配置文件的內(nèi)容,發(fā)起對(duì)SNMP代理進(jìn)程的采集請(qǐng)求。為了讓SNMP管理進(jìn)程能夠采集在SNMP代理進(jìn)程的MIB中添加的私有OID,要在MIB中添加私有OID的同時(shí),把添加的私有OID寫(xiě)入到SNMP管理進(jìn)程的配置文件中。[0050]OID在配置文件中是以其代表的數(shù)據(jù)類(lèi)型分類(lèi)的,一類(lèi)數(shù)據(jù)對(duì)應(yīng)一個(gè)或者多個(gè)OID0在將私有OID寫(xiě)入到配置文件中時(shí),為同一類(lèi)數(shù)據(jù)設(shè)定一個(gè)采集間隔時(shí)間,SNMP管理進(jìn)程會(huì)根據(jù)這個(gè)采集間隔時(shí)間去采集這一類(lèi)數(shù)據(jù)中的一個(gè)或者多個(gè)私有0ID,如設(shè)置某一類(lèi)數(shù)據(jù)的采集間隔時(shí)間為25秒,則SNMP管理進(jìn)程每隔25秒就會(huì)采集一次這類(lèi)數(shù)據(jù)中的私有 0ID。
[0051]步驟S103、根據(jù)所述配置文件采集所述SNMP代理進(jìn)程MIB中的OID數(shù)據(jù)。
[0052]SNMP管理進(jìn)程根據(jù)配置文件采集SNMP代理進(jìn)程中的OID數(shù)據(jù),根據(jù)配置文件中的某一類(lèi)數(shù)據(jù)的采集間隔時(shí)間去采集SNMP代理進(jìn)程的MIB中這一類(lèi)數(shù)據(jù)的私有OID。
[0053]有多種方式可以對(duì)采集到的數(shù)據(jù)進(jìn)行保存,為了便于判斷測(cè)試結(jié)果,可以在保存數(shù)據(jù)時(shí)記錄相應(yīng)的時(shí)間信息,如采集到數(shù)據(jù)后記錄下該數(shù)據(jù)并記錄下當(dāng)前的時(shí)間點(diǎn),之后在步驟S 104中依據(jù)保存數(shù)據(jù)的時(shí)間點(diǎn)之間的間隔來(lái)進(jìn)行判斷
[0054]下面為本發(fā)明提供一種優(yōu)選方式來(lái)對(duì)采集到的數(shù)據(jù)進(jìn)行保存:
[0055]SNMP管理進(jìn)程在采集到數(shù)據(jù)后創(chuàng)建RRD文件,用來(lái)寫(xiě)入采集到的數(shù)據(jù),一個(gè)RRD文件對(duì)應(yīng)一類(lèi)數(shù)據(jù)的0ID。設(shè)置RRD文件的數(shù)據(jù)存儲(chǔ)周期,則根據(jù)數(shù)據(jù)存儲(chǔ)周期在RRD文件中存儲(chǔ)數(shù)據(jù),例如數(shù)據(jù)存儲(chǔ)周期為25秒,則在RRD文件中每隔25秒就會(huì)進(jìn)行一次文件的存儲(chǔ),需要注意的是,在RRD文件中所設(shè)置的數(shù)據(jù)存儲(chǔ)周期時(shí)長(zhǎng)不應(yīng)小于步驟S102中在配置文件中設(shè)置的采集間隔時(shí)間時(shí)長(zhǎng)。如果在某個(gè)數(shù)據(jù)存儲(chǔ)周期內(nèi)SNMP管理進(jìn)程采集到的數(shù)據(jù),那么就在RRD文件中在該數(shù)據(jù)存儲(chǔ)周期結(jié)束的時(shí)間點(diǎn)記錄收到的數(shù)據(jù)的值;如果在某個(gè)數(shù)據(jù)存儲(chǔ)周期內(nèi)SNMP管理進(jìn)程未采集到數(shù)據(jù),那么就在該數(shù)據(jù)存儲(chǔ)周期結(jié)束的時(shí)間點(diǎn)將數(shù)據(jù)的值記為nan (表示不明確的數(shù)值結(jié)果)。
[0056]考慮到網(wǎng)絡(luò)時(shí)延,通常RRD文件中設(shè)置的數(shù)據(jù)存儲(chǔ)周期時(shí)長(zhǎng)會(huì)略大于配置文件中的采集間隔時(shí)間時(shí)長(zhǎng)。需要說(shuō)明的是,根據(jù)RRD文件的規(guī)定,如果在RRD文件在一個(gè)數(shù)據(jù)存儲(chǔ)周期內(nèi)收到了多個(gè)數(shù)據(jù),那么會(huì)將這多個(gè)數(shù)據(jù)的值平均以后形成一個(gè)數(shù)據(jù)進(jìn)行保存。
[0057]步驟S104、根據(jù)所述采集到的OID數(shù)據(jù)檢驗(yàn)測(cè)試結(jié)果。
[0058]根據(jù)在連續(xù)的規(guī)定時(shí)間內(nèi)是否采集到私有OID數(shù)據(jù)連續(xù)來(lái)確定測(cè)試結(jié)果,例如可以查看采集到數(shù)據(jù)的時(shí)間點(diǎn)之間的間隔,如果相鄰兩個(gè)時(shí)間點(diǎn)之間的間隔時(shí)間遠(yuǎn)遠(yuǎn)大于在配置文件中設(shè)置的采集間隔時(shí)間,那么就說(shuō)明在這兩個(gè)點(diǎn)之間出現(xiàn)了采集數(shù)據(jù)丟失的情況。
[0059]下面為本發(fā)明提供的一種優(yōu)選方式來(lái)確定測(cè)試結(jié)果,該優(yōu)選方式與步驟S103中的優(yōu)選方式對(duì)應(yīng):
[0060]完成對(duì)OID數(shù)據(jù)的采集后,取出所有的RRD文件,依次查看每個(gè)RRD文件中的內(nèi)容,若RRD記錄的數(shù)值中有nan值,則說(shuō)明采集過(guò)程中發(fā)生了斷流的情況,數(shù)據(jù)有丟失;若RRD記錄的數(shù)值中沒(méi)有nan值,則說(shuō)明采集過(guò)程正常,沒(méi)有數(shù)據(jù)丟失。
[0061]在查看RRD文件時(shí),也可以設(shè)定別的標(biāo)準(zhǔn),如當(dāng)一個(gè)RRD文件中的nan值超過(guò)一定數(shù)量時(shí),才判斷為發(fā)生采集數(shù)據(jù)丟失的情況。
[0062]查看RRD文件中的內(nèi)容可以使用第三方軟件,如RRDtool。
[0063]為了進(jìn)一步說(shuō)明RRD文件中存入數(shù)據(jù)和進(jìn)行檢驗(yàn)的方式,結(jié)合圖2舉一個(gè)例子:
[0064]圖2為一個(gè)RRD文件的內(nèi)容示意圖,該RRD文件對(duì)應(yīng)的這一類(lèi)數(shù)據(jù)的OID的采集間隔時(shí)間為14秒,RRD文件數(shù)據(jù)存儲(chǔ)周期為15秒。該RRD文件對(duì)應(yīng)的這類(lèi)數(shù)據(jù)包含兩個(gè)OID,存入至RRD文件中時(shí)兩個(gè)OID數(shù)據(jù)的值分別對(duì)應(yīng)記錄至VALUEl和VALUE2下,--ΜΕ下為對(duì)應(yīng)的時(shí)間點(diǎn)。在時(shí)刻為1000秒的時(shí)候,該RRD文件保存了采集到的值,則一個(gè)數(shù)據(jù)存儲(chǔ)周期之后,即1015秒時(shí),RRD文件需要進(jìn)行一次文件的存儲(chǔ)。在1000秒至1015秒這個(gè)周期內(nèi),RRD文件收到采集到的數(shù)據(jù),進(jìn)行相應(yīng)的記錄。同樣,在1030秒RRD文件需要進(jìn)行文件的保存,但是在1015秒至1030秒這個(gè)周期內(nèi)RRD文件沒(méi)有收到采集到的數(shù)據(jù),因此該周期結(jié)束時(shí),即1030秒時(shí)在VALUEl和VALUE2下把值記錄為nan。之后,在1030秒至1045秒這個(gè)周期內(nèi)收到采集到的數(shù)據(jù)時(shí),RRD文件再記錄相應(yīng)數(shù)據(jù)的值。在進(jìn)行檢驗(yàn)時(shí),查看記錄的值中有無(wú)nan值,若某一時(shí)刻的數(shù)據(jù)值為nan,則說(shuō)明該時(shí)刻對(duì)應(yīng)的采集時(shí)間沒(méi)有采集到數(shù)據(jù)。
[0065]本發(fā)明下述實(shí)施例二提供的裝置用于完成本發(fā)明實(shí)施例一中所述流程。
[0066]實(shí)施例二、
[0067]圖3為本發(fā)明實(shí)施例二提供的SNMP管理進(jìn)程的壓力測(cè)試裝置,如圖所示,該裝置包括:0ID添加模塊10、配置模塊20、采集模塊30、檢驗(yàn)?zāi)K40。
[0068]OID添加模塊10,用于在網(wǎng)絡(luò)設(shè)備的SNMP代理進(jìn)程的MIB中添加私有0ID,并使
OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量。
[0069]在SNMP代理進(jìn)程的MIB中添加私有OID可以但不限于采用下述方式:
[0070]根據(jù)RFC規(guī)范生成私有0ID,并將所生成的私有OID插入到SNMP進(jìn)程的MIB中,直至滿(mǎn)足OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量。
[0071]RFC規(guī)范中規(guī)定了 OID的前幾位代表不同的含義,私有OID的前5位應(yīng)為“1.3.6.1.4”。根據(jù)測(cè)試 需要,設(shè)置要生成的OID最長(zhǎng)的位數(shù)以及每一位的數(shù)值范圍,例如,設(shè)置最大位數(shù)為14位,設(shè)置每一位的數(shù)值范圍為O至1999,則除了開(kāi)頭固定的5位外還有9位可用,可以生成的私有OID的數(shù)量為2000的9次方,完全能滿(mǎn)足測(cè)試需要(通常線上機(jī)房的OID數(shù)量最多為100萬(wàn)左右)。生成私有OID時(shí),可以將OID的后9位看作是一個(gè)9位的2000進(jìn)制數(shù),這個(gè)9位2000進(jìn)制數(shù)的每個(gè)數(shù)值都對(duì)應(yīng)一個(gè)私有0ID,從O開(kāi)始,每生成一個(gè)私有0ID,則這個(gè)9位2000進(jìn)制數(shù)加1,例如,生成的第2個(gè)私有OID應(yīng)為“1.3.6.1.4.0.0.0.0.0.0.0.0.1”,第 2000個(gè)私有OID應(yīng)為“1.3.6.1.4.0.0.0.0.0.0.0.0.1999”,第 2001 個(gè)私有 OID 應(yīng)為 “1.3.6.1.4.0.0.0.0.0.0.0.1.0”。
[0072]每生成一個(gè)私有OID后,將該私有OID插入到SNMP代理進(jìn)程的MIB中,直到OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量。預(yù)先設(shè)置的OID數(shù)量是根據(jù)測(cè)試需要達(dá)到的規(guī)模來(lái)設(shè)置的,例如,需要模擬SNMP管理進(jìn)程對(duì)5萬(wàn)個(gè)參數(shù)信息進(jìn)行采集,那么就需要在MIB中插入5萬(wàn)個(gè)私有0ID。向MIB中插入私有OID可以使用第三方軟件來(lái)完成。
[0073]配置模塊20,用于將OID模塊10在SNMP代理進(jìn)程的MIB中添加的私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中并設(shè)置采集間隔時(shí)間。
[0074]在OID模塊10將在MIB中添加私有OID的同時(shí),把添加的私有OID寫(xiě)入到SNMP管理進(jìn)程的配置文件中。
[0075]在將私有OID寫(xiě)入到配置文件中時(shí),為同一類(lèi)數(shù)據(jù)設(shè)定一個(gè)采集間隔時(shí)間,SNMP管理進(jìn)程會(huì)根據(jù)這個(gè)采集時(shí)間去采集這一類(lèi)數(shù)據(jù)中的一個(gè)或者多個(gè)私有0ID,如設(shè)置某一類(lèi)數(shù)據(jù)的采集間隔時(shí)間為25秒,則SNMP管理進(jìn)程每隔25秒就會(huì)采集一次這類(lèi)數(shù)據(jù)中的私有 OID0[0076]采集模塊30,用于將所述私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中并設(shè)置采集間隔時(shí)間。
[0077]采集模塊30根據(jù)配置文件采集SNMP代理進(jìn)程中的私有OID數(shù)據(jù)。
[0078]有多種方式可以對(duì)采集到的數(shù)據(jù)進(jìn)行保存,為了便于判斷測(cè)試結(jié)果,可以在保存數(shù)據(jù)時(shí)記錄相應(yīng)的時(shí)間信息,如采集到數(shù)據(jù)后記錄下該數(shù)據(jù)并記錄下當(dāng)前的時(shí)間點(diǎn),之后檢驗(yàn)?zāi)K40依據(jù)保存數(shù)據(jù)的時(shí)間點(diǎn)之間的間隔來(lái)進(jìn)行判斷。
[0079]下面為本發(fā)明提供一種優(yōu)選方式來(lái)對(duì)采集到的數(shù)據(jù)進(jìn)行保存:
[0080]SNMP管理進(jìn)程在采集到數(shù)據(jù)后創(chuàng)建RRD文件,用來(lái)寫(xiě)入采集到的數(shù)據(jù),一個(gè)RRD文件對(duì)應(yīng)一類(lèi)數(shù)據(jù)的0ID。設(shè)置RRD文件的數(shù)據(jù)存儲(chǔ)周期,則根據(jù)數(shù)據(jù)存儲(chǔ)周期在RRD文件中存儲(chǔ)數(shù)據(jù),例如數(shù)據(jù)存儲(chǔ)周期為25秒,則在RRD文件中每隔25秒就會(huì)進(jìn)行一次文件的存儲(chǔ),需要注意的是,在RRD文件中所設(shè)置的數(shù)據(jù)存儲(chǔ)周期時(shí)長(zhǎng)不應(yīng)小于步驟S102中在配置文件中設(shè)置的采集間隔時(shí)間時(shí)長(zhǎng)。如果在某個(gè)數(shù)據(jù)存儲(chǔ)周期內(nèi)SNMP管理進(jìn)程采集到的數(shù)據(jù),那么就在RRD文件中在該數(shù)據(jù)存儲(chǔ)周期結(jié)束的時(shí)間點(diǎn)記錄收到的數(shù)據(jù)的值;如果在某個(gè)數(shù)據(jù)存儲(chǔ)周期內(nèi)SNMP管理進(jìn)程未采集到數(shù)據(jù),那么就在該數(shù)據(jù)存儲(chǔ)周期結(jié)束的時(shí)間點(diǎn)將數(shù)據(jù)的值記為nan (表示不明確的數(shù)值結(jié)果)。
[0081]檢驗(yàn)?zāi)K40,用于根據(jù)在連續(xù)的規(guī)定時(shí)間內(nèi)是否采集到私有OID數(shù)據(jù)連續(xù)判斷測(cè)
試結(jié)果。
[0082]檢驗(yàn)?zāi)K40根據(jù)在連續(xù)的規(guī)定時(shí)間內(nèi)是否采集到私有OID數(shù)據(jù)連續(xù)來(lái)確定測(cè)試結(jié)果,例如可以查看采集到數(shù)據(jù)的時(shí)間點(diǎn)之間的間隔,如果相鄰兩個(gè)時(shí)間點(diǎn)之間的間隔時(shí)間遠(yuǎn)遠(yuǎn)大于在配置文件中設(shè)置的采集間隔時(shí)間,那么就說(shuō)明在這兩個(gè)點(diǎn)之間出現(xiàn)了采集數(shù)據(jù)丟失的情況。
[0083]下面為本發(fā)明提供的一種優(yōu)選方式來(lái)確定測(cè)試結(jié)果,該優(yōu)選方式與采集模塊30執(zhí)行的優(yōu)選方式對(duì)應(yīng):
[0084]完成對(duì)OID數(shù)據(jù)的采集后,取出所有的RRD文件,依次查看每個(gè)RRD文件中的內(nèi)容,若RRD記錄的數(shù)值中有nan值,則說(shuō)明采集過(guò)程中發(fā)生了斷流的情況,數(shù)據(jù)有丟失;若RRD記錄的數(shù)值中沒(méi)有nan值,則說(shuō)明采集過(guò)程正常,沒(méi)有數(shù)據(jù)丟失。
[0085]在查看RRD文件時(shí),也可以設(shè)定別的標(biāo)準(zhǔn),如當(dāng)一個(gè)RRD文件中的nan值超過(guò)一定數(shù)量時(shí),才判斷為發(fā)生采集數(shù)據(jù)丟失的情況。
[0086]查看RRD文件中的內(nèi)容可以使用第三方軟件如RRDtool。
[0087]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP管理進(jìn)程的壓力測(cè)試方法,其特征在于,該方法包括: 51、在網(wǎng)絡(luò)設(shè)備的SNMP代理進(jìn)程的管理信息庫(kù)MIB中添加私有對(duì)象標(biāo)識(shí)符OID,并使私有OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量; 52、將所述私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中并設(shè)置采集間隔時(shí)間; 53、根據(jù)所述配置文件采集SNMP代理進(jìn)程的MIB中的私有OID數(shù)據(jù); 54、根據(jù)在連續(xù)的規(guī)定時(shí)間內(nèi)是否采集到私有OID數(shù)據(jù)連續(xù)判斷測(cè)試結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟SI具體包括:根據(jù)RFC規(guī)范生成私有0ID,并將生成的私有OID插入到SNMP代理進(jìn)程的MIB中,使OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量; 所述將所述私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中具體包括:將所述步驟SI中所述插入到SNMP代理進(jìn)程的MIB中的私有OID寫(xiě)入到SNMP管理進(jìn)程的配置文件中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S3具體包括:根據(jù)所述配置文件采集SNMP代理進(jìn)程的MIB中的私有OID數(shù)據(jù),將采集到的私有OID數(shù)據(jù)存入至環(huán)形數(shù)據(jù)庫(kù)RRD文件中;按所述RRD文件中的內(nèi)容執(zhí)行所述步驟S4。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,按照預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)周期將采集到的私有OID數(shù)據(jù)存入至RRD文件中,其中,如果在當(dāng)前數(shù)據(jù)存儲(chǔ)周期內(nèi)RRD文件收到采集到的數(shù)據(jù),則在當(dāng)前數(shù)據(jù)存 儲(chǔ)周期記錄該數(shù)據(jù)的值;否則,將當(dāng)前數(shù)據(jù)存儲(chǔ)周期的值記為nan ; 所述數(shù)據(jù)存儲(chǔ)周期時(shí)長(zhǎng)不小于所述采集間隔時(shí)間時(shí)長(zhǎng)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟S4具體包括: 判斷所述RRD文件中有無(wú)nan值,若有,則說(shuō)明采集數(shù)據(jù)有丟失;若無(wú),則說(shuō)明采集數(shù)據(jù)完整。
6.一種簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNMP管理進(jìn)程的壓力測(cè)試裝置,其特征在于,該裝置包括: 添加模塊,用于在網(wǎng)絡(luò)設(shè)備的SNMP代理進(jìn)程的管理信息庫(kù)MIB中添加私有對(duì)象標(biāo)識(shí)符0ID,并使私有OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量; 配置模塊,將所述私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中并設(shè)置采集間隔時(shí)間; 采集模塊,用于根據(jù)所述配置文件采集SNMP代理進(jìn)程的MIB中的私有OID數(shù)據(jù); 檢驗(yàn)?zāi)K,用于根據(jù)在連續(xù)的規(guī)定時(shí)間內(nèi)是否采集到私有OID數(shù)據(jù)連續(xù)判斷測(cè)試結(jié)果O
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述OID模塊具體執(zhí)行:根據(jù)RFC規(guī)范生成私有0ID,并將生成的私有OID插入到SNMP代理進(jìn)程的MIB中,使OID數(shù)量達(dá)到預(yù)先設(shè)置的數(shù)量; 所述配置模塊將所述私有OID寫(xiě)入SNMP管理進(jìn)程的配置文件中具體執(zhí)行:將所述OID模塊插入到SNMP代理進(jìn)程的MIB中的私有OID寫(xiě)入到SNMP管理進(jìn)程的配置文件中。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述采集模塊具體執(zhí)行: 根據(jù)所述配置文件采集SNMP代理進(jìn)程的MIB中的私有OID數(shù)據(jù),將采集到的私有OID數(shù)據(jù)存入至環(huán)形數(shù)據(jù)庫(kù)RRD文件中; 所述檢驗(yàn)?zāi)K按所述RRD文件中的內(nèi)容執(zhí)行所述判斷測(cè)試結(jié)果的操作。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述采集模塊按照預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)周期將采集到的私有OID數(shù)據(jù)存入至RRD文件中,其中,如果在當(dāng)前數(shù)據(jù)存儲(chǔ)周期內(nèi)RRD文件收到采集到的數(shù)據(jù),則在當(dāng)前數(shù)據(jù)存儲(chǔ)周期記錄該數(shù)據(jù)的值;否則,將當(dāng)前數(shù)據(jù)存儲(chǔ)周期的值記力nan ; 所述數(shù)據(jù)存儲(chǔ)周期時(shí)長(zhǎng)不小于所述采集間隔時(shí)間時(shí)長(zhǎng)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述檢驗(yàn)?zāi)K具體執(zhí)行: 判斷所述RRD文件中 有無(wú)nan值,若有,則說(shuō)明采集數(shù)據(jù)有丟失;若無(wú),則說(shuō)明采集數(shù)據(jù)完整。
【文檔編號(hào)】H04L12/26GK103634158SQ201210297346
【公開(kāi)日】2014年3月12日 申請(qǐng)日期:2012年8月20日 優(yōu)先權(quán)日:2012年8月20日
【發(fā)明者】劉婷, 陳穎, 尹成偉 申請(qǐng)人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司