專利名稱:監(jiān)控機(jī)群中的交換機(jī)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種監(jiān)控計(jì)算機(jī)機(jī)群中的交換機(jī)的方法,具體涉及一種能夠?qū)τ?jì)算機(jī)機(jī)群中的不同型號(hào)的交換機(jī)進(jìn)行監(jiān)控的方法。
背景技術(shù):
機(jī)群服務(wù)器系統(tǒng)是相互連接的多個(gè)獨(dú)立計(jì)算機(jī)(結(jié)點(diǎn))的集合,每個(gè)結(jié)點(diǎn)都是單獨(dú)的計(jì)算機(jī),可以是個(gè)人計(jì)算機(jī)(PC)也可以是服務(wù)器(server),每個(gè)結(jié)點(diǎn)都有自己的處理器、存儲(chǔ)系統(tǒng)、I/O設(shè)備和操作系統(tǒng)。操作系統(tǒng)可以是Linux操作系統(tǒng)也可以是Windows操作系統(tǒng)。這些結(jié)點(diǎn)通過(guò)高速網(wǎng)絡(luò)連接起來(lái),應(yīng)用中間件將各個(gè)結(jié)點(diǎn)形成一個(gè)單一映像的超級(jí)服務(wù)器。機(jī)群可以廣泛應(yīng)用于商務(wù)和大型科學(xué)計(jì)算之中。機(jī)群的易用性對(duì)用戶越來(lái)越重要,對(duì)機(jī)群的有效管理離不開(kāi)機(jī)群的監(jiān)控系統(tǒng),機(jī)群監(jiān)控系統(tǒng)可以將整個(gè)機(jī)群進(jìn)行有效方便的管理,因此提高機(jī)群的易用性是機(jī)群技術(shù)的一項(xiàng)重要內(nèi)容。
在機(jī)群中,不但要監(jiān)控計(jì)算機(jī)的健康信息和運(yùn)行信息,還要監(jiān)控用于連接各個(gè)結(jié)點(diǎn)的高速交換機(jī),網(wǎng)絡(luò)中最主要的設(shè)備就是交換機(jī)。機(jī)群可以通過(guò)4個(gè)網(wǎng)絡(luò)互相連接起來(lái)監(jiān)控網(wǎng)通過(guò)串口線將各個(gè)結(jié)點(diǎn)機(jī)與控制臺(tái)連接起來(lái),將各個(gè)結(jié)點(diǎn)機(jī)上的硬件健康信息傳輸?shù)娇刂婆_(tái);管理網(wǎng)通過(guò)千兆或百兆以太網(wǎng)將各個(gè)結(jié)點(diǎn)機(jī)和控制臺(tái)連接起來(lái),在結(jié)點(diǎn)機(jī)和控制臺(tái)之間傳輸管理信息;計(jì)算網(wǎng)(或系統(tǒng)網(wǎng))通過(guò)高速的網(wǎng)絡(luò)(如QSNET)將所有結(jié)點(diǎn)機(jī)連接成一個(gè)整體,在整個(gè)機(jī)群像一臺(tái)并行計(jì)算機(jī);存儲(chǔ)域網(wǎng)通過(guò)高速光纖將存儲(chǔ)結(jié)點(diǎn)和存儲(chǔ)盤陣連接起來(lái)。
對(duì)于交換機(jī)的監(jiān)控,一般是采用廠家提供的配套的帶有圖形化界面的監(jiān)控系統(tǒng),如果在機(jī)群中有多個(gè)廠家生產(chǎn)的交換機(jī),那么就會(huì)有多個(gè)不同的交換機(jī)監(jiān)控系統(tǒng),需要多個(gè)控制臺(tái)進(jìn)行監(jiān)控,并且無(wú)法與機(jī)群監(jiān)控系統(tǒng)的其他模塊集成在一個(gè)系統(tǒng)中,這樣對(duì)用戶來(lái)說(shuō)非常不方便。因此,在監(jiān)控系統(tǒng)中集成對(duì)機(jī)群中所有交換機(jī)的監(jiān)控模塊不僅能大大的方便用戶,還能提高監(jiān)控系統(tǒng)的集成度和可維護(hù)性。
發(fā)明內(nèi)容
本發(fā)明的目的是為了解決機(jī)群中不同型號(hào)的交換機(jī)的監(jiān)控的問(wèn)題。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種監(jiān)控機(jī)群中的交換機(jī)的方法,包括步驟a)根據(jù)機(jī)群中的多個(gè)交換機(jī)對(duì)向它們發(fā)送的簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議數(shù)據(jù)包的響應(yīng),把所述多個(gè)交換機(jī)分成支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)和不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī);b)利用簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議從支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)獲取監(jiān)控系統(tǒng)所需的第一類監(jiān)控信息;c)通過(guò)與不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)建立傳輸控制協(xié)議連接來(lái)獲取包括模組信息和面板信息的第二類監(jiān)控信息;d)根據(jù)所述第一類監(jiān)控信息和所述第二類監(jiān)控信息對(duì)所述多個(gè)交換機(jī)進(jìn)行監(jiān)控。
在根據(jù)本發(fā)明的監(jiān)控機(jī)群中的交換機(jī)的方法中,所述利用簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議從簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)獲取監(jiān)控系統(tǒng)所需的第一類監(jiān)控信息的步驟包括b1)創(chuàng)建一個(gè)簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議數(shù)據(jù)單元;b2)把值為空的對(duì)象標(biāo)識(shí)符添加到所述簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議數(shù)據(jù)單元中;b3)把添加了對(duì)象標(biāo)識(shí)符的所述簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議數(shù)據(jù)單元發(fā)送給所述支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī);b4)從所述支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)的回應(yīng)數(shù)據(jù)包中獲取所述第一類監(jiān)控信息。
在根據(jù)本發(fā)明的監(jiān)控機(jī)群中的交換機(jī)的方法中,所述通過(guò)與不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)建立傳輸控制協(xié)議連接來(lái)獲得第二類監(jiān)控信息的步驟包括c1)建立與不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)的傳輸控制協(xié)議端口之間的傳輸控制協(xié)議連接;c2)利用所述傳輸控制協(xié)議連接向不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)發(fā)送模組信息請(qǐng)求;c3)從來(lái)自不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)的、響應(yīng)模組信息請(qǐng)求的回應(yīng)數(shù)據(jù)包獲取模組信息,并將其存儲(chǔ)到數(shù)據(jù)庫(kù)中;c4)向不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)發(fā)送面板信息請(qǐng)求;c5)從來(lái)自不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)的、響應(yīng)面板信息請(qǐng)求的回應(yīng)數(shù)據(jù)包獲取面板信息。
利用上述的方法,本發(fā)明能夠自動(dòng)完成對(duì)交換機(jī)類型的判斷、分別對(duì)支持SNMP協(xié)議的交換機(jī)和不支持SNMP協(xié)議的交換機(jī)進(jìn)行監(jiān)控,從而實(shí)現(xiàn)對(duì)不同類型交換機(jī)監(jiān)控的集成,提高了機(jī)群系統(tǒng)的易用性。
圖1是本發(fā)明的方法所應(yīng)用的機(jī)群系統(tǒng)的示意圖; 圖2是根據(jù)本發(fā)明的方法中對(duì)支持SNMP協(xié)議的交換機(jī)的監(jiān)控過(guò)程; 圖3是根據(jù)本發(fā)明的方法中對(duì)不支持SNMP協(xié)議的交換機(jī)的監(jiān)控過(guò)程。
具體實(shí)施例方式 下面參考附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。
圖1示出了本發(fā)明的方法所應(yīng)用的機(jī)群系統(tǒng)的示意圖,其中出于清楚說(shuō)明的目的僅僅示出了本發(fā)明的方法所涉及的部分。在圖1中,主控制部分1與管理網(wǎng)交換機(jī)連接,用于對(duì)機(jī)群系統(tǒng)實(shí)施監(jiān)控。附圖標(biāo)記2表示用于管理網(wǎng)的支持SNMP協(xié)議的交換機(jī)1-1,附圖標(biāo)記3和4表示不支持SNMP協(xié)議的交換機(jī)2-1和2-2,附圖標(biāo)記5表示未用于管理網(wǎng)但支持SNMP協(xié)議的交換機(jī)1-2。數(shù)據(jù)庫(kù)6用于存儲(chǔ)采集到的各個(gè)交換機(jī)的監(jiān)控信息和機(jī)群配置信息。圖1中的支持SNMP協(xié)議的交換機(jī)1-1例如是Passport 8610交換機(jī),其用于管理網(wǎng),不支持SNMP協(xié)議的交換機(jī)2-1和2-2例如是Quadrics型交換機(jī),支持SNMP協(xié)議的交換機(jī)1-2例如是Brocade型交換機(jī)。雖然在下面的說(shuō)明中將以具體的交換機(jī)類型進(jìn)行說(shuō)明,但是這并不是對(duì)本發(fā)明的限制,而是出于清楚說(shuō)明的目的。此外,同樣出于清楚說(shuō)明的目的,把用于監(jiān)控支持SNMP協(xié)議的交換機(jī)的監(jiān)控信息稱為第一類監(jiān)控信息,而把用于監(jiān)控不支持SNMP協(xié)議的交換機(jī)的監(jiān)控信息稱為第二類監(jiān)控信息。
對(duì)交換機(jī)的判斷
對(duì)機(jī)群中每一臺(tái)交換機(jī)實(shí)施監(jiān)控的前提是必須知道該交換機(jī)所屬類型。主控制部分1首先向機(jī)群中發(fā)送SNMP數(shù)據(jù)包,如果交換機(jī)響應(yīng)該數(shù)據(jù)包就可以判定該交換機(jī)支持SNMP協(xié)議,否則可以判定該交換機(jī)不支持SNMP協(xié)議。
對(duì)不響應(yīng)SNMP數(shù)據(jù)包的交換機(jī),主控制部分1向它發(fā)送建立某種交換機(jī)專用(如Quadrics)TCP連接的請(qǐng)求,如果TCP連接建立成功,則該交換機(jī)的類型可以確定,如果建立TCP連接不成功就繼續(xù)嘗試建立適合其他類型交換機(jī)的TCP連接,直到找出該交換機(jī)的類型。
對(duì)支持SNMP協(xié)議的交換機(jī)的監(jiān)控
對(duì)于支持SNMP協(xié)議的交換機(jī),可以利用SNMP協(xié)議獲取相應(yīng)的信息。在本發(fā)明中,根據(jù)標(biāo)準(zhǔn)管理信息庫(kù)(MIB)的對(duì)象標(biāo)識(shí)符(ObjectIdentifier-OID)獲取第一類監(jiān)控信息,如交換機(jī)名(sysName)、交換機(jī)端口數(shù)(1.3.6.1.4.1.1588.2.1.1.1.6.1),也可以經(jīng)過(guò)簡(jiǎn)單計(jì)算得到更多的監(jiān)控信息,例如對(duì)于某一端口,其輸入流量等于兩次采集得來(lái)的輸入字節(jié)數(shù)之差除以采集時(shí)間間隔。這類交換機(jī)的監(jiān)控相對(duì)比較簡(jiǎn)單。采集信息的數(shù)據(jù)結(jié)構(gòu)和函數(shù)接口可以是統(tǒng)一定義的數(shù)據(jù)結(jié)構(gòu)和函數(shù)接口。
下面以Passport8610交換機(jī)為例參照?qǐng)D2說(shuō)明在本發(fā)明的方法中對(duì)支持SNMP協(xié)議的交換機(jī)的監(jiān)控過(guò)程。Passport 8610交換機(jī)屬于支持SNMP協(xié)議并且具有標(biāo)準(zhǔn)MIB庫(kù)結(jié)構(gòu)的交換機(jī)。對(duì)Passport8610交換機(jī)的監(jiān)控能通過(guò)SNMP協(xié)議獲取到相應(yīng)的信息。
表1示出了支持SNMP協(xié)議的交換機(jī)的整體信息及與SNMP的OID的對(duì)應(yīng)關(guān)系,其中Passport交換機(jī)具有MIB庫(kù)結(jié)構(gòu),而B(niǎo)rocade交換機(jī)有專用的MIB庫(kù)結(jié)構(gòu)。
參數(shù)名說(shuō)明Passport相對(duì)應(yīng)的OIDBrocade相對(duì)應(yīng)的 OID Name交換機(jī)名sysName SysName Desc交換機(jī)設(shè)備描述sysDescr SysDescr Uptime交換機(jī)運(yùn)行時(shí)間sysUpTime SysUpTime Port_num交換機(jī)端口數(shù)ifNumber 1.3.6.1.4.1.1588.2.1.1 .1.6.1 Ip交換機(jī)IP地址ipAdEntAddr IpAdEntAddr Mask子網(wǎng)掩碼ipAdEntNetMask IpAdEntNetMask Broadcast廣播地址ipAdEntBcastAddr IpAdEntBcastAddr 表1 表2示出了支持SNMP協(xié)議的交換機(jī)各個(gè)端口的信息與SNMP的OID的對(duì)應(yīng)關(guān)系 參數(shù)名說(shuō)明Passport相對(duì)應(yīng)的OID/來(lái)源Brocade相對(duì)應(yīng)的OID/來(lái)源 Id端口編號(hào)IfIndexenterprises.1588.2.1.1.1.6.2.1.1 Name端口名IfName1.3.6.1.4.1.1588.2.1.1.1.7.2.1.5 Mac端口mac地址IfPhysAddress1.3.6.1.2.1.75.1.1.5.1.2 status端口狀態(tài)IfOperStatus1.3.6.1.2.1.75.1.2.2.1.2 in_byte端口的輸入字節(jié)數(shù)IfInOctets1.3.6.1.4.1.1588.2.1.1.1.6.2.1.12 in_packet s端口的輸入包數(shù)IfInUcastPkts+ifInNUcastPkts1.3.6.1.4.1.1588.2.1.1.1.6.2.1.14*4 in_discar d端口的輸入丟棄包數(shù)IfInDiscards+ifInErrors+ifInUnknownProtos1.3.6.1.4.1.1588.2.1.1.1.6.2.1.21 in_flow_端口的輸(current.in_byte-(current.in_byte- byte入流量last.in_byte)/(current.uptime-last.uptime)last.in_byte)/(current.uptime-last.uptime) in_discar d_rate端口的輸入丟包率(current.in_discard-last.in_discard)/(current.in_packets-last.in_packets)(current.in_discard-last.in_discard)/(current.in_packets-last.in_packets) out_byte端口的輸出字節(jié)數(shù)IfOutOctets1.3.6.1.4.1.1588.2.1.1.1.6.2.1.11*4 out_pack ets端口的輸出包數(shù)IfOutUcastPkts+ifOutNUcastPkts1.3.6.1.4.1.1588.2.1.1.1.6.2.1.13 out_error端口的輸出出錯(cuò)包數(shù)IfOutDiscards+ifOutErrors1.3.6.1.4.1.1588.2.1.1.1.6.2.1.26 out_flow _byte端口的輸出流量(current.out_byte-last.out_bye)/(current.uptime-last.uptime)(current.out_byte-last.out_byte)/(current.uptime-last.uptime) out_error rate端口的輸出出錯(cuò)率(current.out_discard-last.out_discard)/(current.out_packets-last.out_packets)(current.out_discard-last.out_discard)/(current.out_packets-last.out_packets)表2 如圖2所示,在對(duì)支持SNMP協(xié)議的交換機(jī)的監(jiān)控過(guò)程中,在步驟S11,創(chuàng)建一個(gè)SNMP協(xié)議數(shù)據(jù)單元(PDU);然后在步驟S12把值為空(NULL)的OID添加到該P(yáng)DU中;在步驟S13,發(fā)送該P(yáng)DU并且等待響應(yīng);在步驟S14從回應(yīng)的數(shù)據(jù)包中獲取監(jiān)控信息,這里的監(jiān)控信息包括交換機(jī)信息和端口信息,并且在表1和2中給出了一些監(jiān)控信息的計(jì)算公式,例如端口的輸入流量、端口的輸入丟包率、端口的輸出流量和端口的輸出出錯(cuò)率等。然后過(guò)程結(jié)束。
如表1和2所示,交換機(jī)信息包括交換機(jī)名、交換機(jī)設(shè)備描述、交換機(jī)運(yùn)行時(shí)間、交換機(jī)端口數(shù)、交換機(jī)因特網(wǎng)協(xié)議地址、子網(wǎng)掩碼和廣播地址;端口信息包括端口編號(hào)、端口名、端口媒介訪問(wèn)控制地址、端口狀態(tài)、端口輸入字節(jié)數(shù)、端口的輸入包數(shù)、端口的輸入丟棄包數(shù)、端口的輸入流量、端口的輸入丟包率、端口的輸出字節(jié)數(shù)、端口的輸出包數(shù)、端口的輸出出錯(cuò)包數(shù)、端口的輸出流量、端口的輸出出錯(cuò)率。
在實(shí)際的實(shí)施過(guò)程中,主控制部分從數(shù)據(jù)庫(kù)里得到交換機(jī)的配置基本信息,然后對(duì)每一個(gè)交換機(jī)用一個(gè)單獨(dú)線程來(lái)監(jiān)控,每一個(gè)交換機(jī)監(jiān)控線程按照采樣周期例如每1隔分鐘采集交換機(jī)信息,并將采集到的信息存儲(chǔ)到數(shù)據(jù)庫(kù)中。對(duì)不支持SNMP協(xié)議的交換機(jī)的監(jiān)控
這類交換機(jī)的監(jiān)控比較困難,因?yàn)檫@類交換機(jī)不支持SNMP協(xié)議。不管機(jī)群內(nèi)用于計(jì)算網(wǎng)還是存儲(chǔ)網(wǎng)的交換機(jī)都有一個(gè)管理網(wǎng)口通過(guò)以太網(wǎng)連接到管理網(wǎng)交換機(jī)上,如圖1所示,機(jī)群中所有的設(shè)備都連接到用于管理網(wǎng)的交換機(jī)(Passport8610)2的一個(gè)端口上,所以可以在管理網(wǎng)內(nèi)截取不支持SNMP協(xié)議的交換機(jī)互相發(fā)送的數(shù)據(jù)包,例如在Passport8610交換機(jī)上截取兩個(gè)或多個(gè)Quadrics交換機(jī)之間發(fā)送的數(shù)據(jù)包,并分析其數(shù)據(jù)包結(jié)構(gòu)以得到符合該類交換機(jī)之間通信協(xié)議的數(shù)據(jù)包結(jié)構(gòu)。有了符合該類交換機(jī)之間通信協(xié)議數(shù)據(jù)包結(jié)構(gòu),就可以通過(guò)發(fā)送符合該包結(jié)構(gòu)的請(qǐng)求信息給該類不支持SNMP協(xié)議的交換機(jī),這樣從該類交換機(jī)返回的信息中就可以得到所需的第二類監(jiān)控信息。
下面參考附圖3以Quadrics交換機(jī)為例說(shuō)明對(duì)不支持SNMP協(xié)議的交換機(jī)的監(jiān)控過(guò)程。由于此類交換機(jī)的特殊性,其可監(jiān)控的信息與其他類型交換機(jī)可監(jiān)控信息量不完全一致,可用單獨(dú)的數(shù)據(jù)結(jié)構(gòu)和接口函數(shù)來(lái)實(shí)現(xiàn)監(jiān)控。
首先,在步驟S21,主控制部分1建立一個(gè)與Quadrics交換機(jī)的TCP端口7200的TCP連接。在步驟S22,向Quadrics交換機(jī)發(fā)送模組信息的請(qǐng)求,請(qǐng)求的格式如下 typedef enum{SWM_STATUS,/*Poll module status*/SWM_MODULEINFO,/*Collect module info*/SWM_BOARDINFO,/*Collect module info*/SWM_I2CREADWRITE,/*Raw i2c read/write*/SWM_JTAGREADWRITE,/*Raw jtag read/write*/SWM_SERVERCONFIG,/*Configure server*/SWM_ACKNOWLEDGE,/*Acknowledge a monitor message*/SWM_CLEARERRORS,/*Clear link errors and counters*/SWM_SCANMODULE,/*Scan the contents of the module*/SWM_SHUTDOWN,/*Shutdown server-QNX reboot*/SWM_TOPSWITCH,/*Set top switch*/SWM_SCANPORTS,/*Scan the ports of a module*/SWM_SETCLKSRC,/*Set the clock source*/SWM_SETLINKSTATE,/*Fix state of one or more links*/SWM_SETCLKFREQ,/*Set the clock frequency*/SWM_SETPARAM,/*Set the value of a parameter*/SWM_GETPARAM,/*Get the value of a parameter*/}RequestType;#define SWM_VERSION 3struct request{char padding[8];/*8個(gè)字節(jié)的補(bǔ)充字符*/RequestType type;/*請(qǐng)求類型*/int version;/*版本.3*/int board;}; request結(jié)構(gòu)中整數(shù)的字節(jié)序都是網(wǎng)絡(luò)字節(jié)序。請(qǐng)求模組信息時(shí)type是SWM_MODULEINFO,board是無(wú)效的。發(fā)送請(qǐng)求如下 struct request req;req.padding
=0xfe;req.padding[1]=0xed;req.padding[2]=0xbe;req.padding[3]=0xef;req.padding[4]=0x00;req.padding[5]=0x00;req.padding[6]=0x00;req.padding[7]=0x08;write(s,&req,sizeof req-sizeof(int)); 在步驟S23,交換機(jī)接收到請(qǐng)求后,會(huì)作出相應(yīng)的回應(yīng),如果成功,獲取回應(yīng)數(shù)據(jù)包中包含的交換機(jī)的模組信息,并將其存儲(chǔ)。其中,回應(yīng)的數(shù)據(jù)結(jié)構(gòu)是swmreply_t,模組信息的數(shù)據(jù)結(jié)構(gòu)是_moduleinfo_t,如下 typedef struct_moduleinfo{int version;/*Monitor software version number*/int build;/*Monitor software build number*/Switch Module Type type;/*Moduletype*/int started;/*Last time monitor was started*/char ip[HOSTNAME_LEN];/*IP address(as text)*/char mac[HOSTNAME_LEN];/*Ethernet address(as text)*/int fanSensors;/*number of fan sensors*/int fanSpeeds[MAX_FANS];/*Fan speeds*/int psuSensors;/*Number of PSU sensors*/int psus;/*Power supply status mask*/int temp;/*Max temperature reading*/int clockSource;/*Clock source for module*/uint32_t boardMask;/*Mask of boards present*/int btemps[MAX_BOARDS];/*Board temperatures*/bool qnx;/*Module is running QNX*/<!-- SIPO <DP n="9"> --><dp n="d9"/>int topSwitch;/*Top switch*/double clockFreq;/*Elite Clock Frequency*/char gateway[HOSTNAME_LEN];/*Network gateway address(dotted quad)*/boot_protocol protocol;char upgradefile[HOSTNAME_LEN];char tftpserver[HOSTNAME_LEN];char hostname[HOSTNAME_LEN];/*Hostname of module*/}_moduleinfo_t;typedef struct{char padding[8];RequestType type;ReturnCode rc;union{_moduleinfo_t module;boardinfo_t board;}reply;}swmreply_t。
接下來(lái)在步驟S24判斷模組信息中的類型字段是否與預(yù)定的字段(MODULE_QMS64U64D)匹配,如果不匹配(步驟S24否)則過(guò)程結(jié)束。
如果在步驟S24判斷出二者匹配(步驟S24是),則在步驟S25向交換機(jī)發(fā)送面板信息請(qǐng)求,該面板信息請(qǐng)求中包含面板的序號(hào),該序號(hào)必須小于32。此外,在面板信息請(qǐng)求的面板掩碼(boardMask)中相應(yīng)的位必須是1,表示該序號(hào)的board存在。發(fā)送請(qǐng)求如下 req.padding
=0xfe;req.padding[1]=0xed;req.padding[2]=0xbe;req.padding[3]=0xef;<!-- SIPO <DP n="10"> --><dp n="d10"/>req.padding[4]=0x00;req.padding[5]=0x00;req.padding[6]=0x00;req.padding[7]=0x0c;req.board=htonl(i);write(s,&req,sizeof req)。
然后,在步驟S26接受包含了面板信息(boardinfo)的回應(yīng)數(shù)據(jù)包。
typedef struct boardinfo{SwitchBoardType type;/*Board type*/int slot;/*Slot/ring number*/int tempSensors;/*Number of thermistors*/int temp;/*Current temperature*/int nElites;/*Number of Elites*/int chipmask;/* */eliteinfo_t elites[MAX_ELITES];/*Elite descriptions*/char PN[8];/*Part number*/char FN[8];/*FRU part number*/char EC[8];/*EC level*/char SN[8];/*Serial number*/char MN[8];/*Manufacturer ID*/}boardinfo_t。
在步驟S27,判斷面板信息的類型字段是否與預(yù)定的字段(BOARD_QM401)匹配,如果二者匹配,則過(guò)程轉(zhuǎn)到步驟S28,否則(步驟S27否),過(guò)程轉(zhuǎn)到步驟S25。
如果在步驟S27判斷出面板信息的類型字段與預(yù)定的字段匹配(步驟S27是),則在步驟S28存儲(chǔ)面板信息中的前4個(gè)小面板(elite)、每個(gè)小面板的前4個(gè)鏈接或者端口的狀態(tài)。然后過(guò)程結(jié)束。
在實(shí)際的監(jiān)控過(guò)程中,主控制部分在初始化時(shí)從數(shù)據(jù)庫(kù)中獲得Quadrics交換機(jī)的配置信息。對(duì)每一個(gè)Quadrics交換機(jī)創(chuàng)建一個(gè)監(jiān)控線程。監(jiān)控線程每隔1分鐘向Quadrics交換機(jī)采集一次數(shù)據(jù)。
雖然上面以具體的交換機(jī)為例來(lái)說(shuō)明本發(fā)明的監(jiān)控方法,但是本領(lǐng)域的技術(shù)人員應(yīng)該認(rèn)識(shí)到這僅僅是實(shí)施例,并且可以對(duì)本發(fā)明的方法進(jìn)行修改,而不脫離所附的權(quán)利要求所限定的范圍。
權(quán)利要求
1.一種監(jiān)控機(jī)群中的交換機(jī)的方法,包括步驟
a)根據(jù)機(jī)群中的多個(gè)交換機(jī)對(duì)向它們發(fā)送的簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議數(shù)據(jù)包的響應(yīng),把所述多個(gè)交換機(jī)分成支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)和不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī);
b)利用簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議從支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)獲取監(jiān)控系統(tǒng)所需的第一類監(jiān)控信息;
c)通過(guò)與不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)建立傳輸控制協(xié)議連接來(lái)獲取包括模組信息和面板信息的第二類監(jiān)控信息;
d)根據(jù)所述第一類監(jiān)控信息和所述第二類監(jiān)控信息對(duì)所述多個(gè)交換機(jī)進(jìn)行監(jiān)控。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議從簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)獲取監(jiān)控系統(tǒng)所需的第一類監(jiān)控信息的步驟包括
b1)創(chuàng)建一個(gè)簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議數(shù)據(jù)單元;
b2)把值為空的對(duì)象標(biāo)識(shí)符添加到所述簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議數(shù)據(jù)單元中;
b3)把添加了對(duì)象標(biāo)識(shí)符的所述簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議數(shù)據(jù)單元發(fā)送給所述支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī);
b4)從所述支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)的回應(yīng)數(shù)據(jù)包中獲取所述第一類監(jiān)控信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過(guò)與不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)建立傳輸控制協(xié)議連接來(lái)獲得第二類監(jiān)控信息的步驟包括
c1)建立與不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)的傳輸控制協(xié)議端口之間的傳輸控制協(xié)議連接;
c2)利用所述傳輸控制協(xié)議連接向不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)發(fā)送模組信息請(qǐng)求;
c3)從來(lái)自不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)的、響應(yīng)模組信息請(qǐng)求的回應(yīng)數(shù)據(jù)包獲取模組信息,并將其存儲(chǔ)到數(shù)據(jù)庫(kù)中;
c4)向不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)發(fā)送面板信息請(qǐng)求;
c5)從來(lái)自不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)的、響應(yīng)面板信息請(qǐng)求的回應(yīng)數(shù)據(jù)包獲取面板信息。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,每隔預(yù)定的時(shí)間間隔執(zhí)行所述利用簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議從支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)獲取監(jiān)控系統(tǒng)所需的第一類監(jiān)控信息的步驟,和所述通過(guò)與不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)建立傳輸控制協(xié)議連接來(lái)獲取包括模組信息和面板信息的第二類監(jiān)控信息的步驟。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一類監(jiān)控信息包括交換機(jī)信息和端口信息。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述交換機(jī)信息至少包括下面之一
交換機(jī)名、交換機(jī)設(shè)備描述、交換機(jī)運(yùn)行時(shí)間、交換機(jī)端口數(shù)、交換機(jī)因特網(wǎng)協(xié)議地址、子網(wǎng)掩碼和廣播地址。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述端口信息至少包括下面之一
端口編號(hào)、端口名、端口媒介訪問(wèn)控制地址、端口狀態(tài)、端口輸入字節(jié)數(shù)、端口的輸入包數(shù)、端口的輸入丟棄包數(shù)、端口的輸入流量、端口的輸入丟包率、端口的輸出字節(jié)數(shù)、端口的輸出包數(shù)、端口的輸出出錯(cuò)包數(shù)、端口的輸出流量和端口的輸出出錯(cuò)率。
8.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述模組信息請(qǐng)求和所述面板信息請(qǐng)求是通過(guò)在管理網(wǎng)內(nèi)截取所述不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)之間發(fā)送的數(shù)據(jù)包并進(jìn)行分析而生成的。
9.根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)獲取的所述模組信息的類型與預(yù)定的模組信息類型相匹配時(shí),執(zhí)行所述向不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)發(fā)送面板信息請(qǐng)求的步驟。
10.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括
c6)當(dāng)獲取的所述面板信息的類型與預(yù)定的面板信息類型匹配時(shí),將所述面板信息中的部分小面板的狀態(tài)和所述部分小面板的部分端口的狀態(tài)存儲(chǔ)到數(shù)據(jù)庫(kù)中,否則執(zhí)行所述向不支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)發(fā)送面板信息請(qǐng)求的步驟。
11.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述面板信息請(qǐng)求中包括面板的序號(hào),并且所述序號(hào)小于32。
12.根據(jù)權(quán)利要求8所述的方法,其特征在于,至少一個(gè)所述支持簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議的交換機(jī)用于所述管理網(wǎng)。
全文摘要
一種監(jiān)控機(jī)群中的交換機(jī)的方法,包括根據(jù)機(jī)群中的多個(gè)交換機(jī)對(duì)向它們發(fā)送的SNMP數(shù)據(jù)包的響應(yīng),把所述多個(gè)交換機(jī)分成支持SNMP的交換機(jī)和不支持SNMP的交換機(jī);利用SNMP從支持SNMP的交換機(jī)獲取監(jiān)控系統(tǒng)所需的第一類監(jiān)控信息;通過(guò)與不支持SNMP的交換機(jī)建立傳輸控制協(xié)議連接來(lái)獲取包括模組信息和面板信息的第二類監(jiān)控信息;根據(jù)所述第一類監(jiān)控信息和所述第二類監(jiān)控信息對(duì)所述多個(gè)交換機(jī)進(jìn)行監(jiān)控。利用上述方法,不僅能大大的方便用戶,還能提高監(jiān)控系統(tǒng)的集成度和可維護(hù)性。
文檔編號(hào)H04L12/26GK1674535SQ20041003320
公開(kāi)日2005年9月28日 申請(qǐng)日期2004年3月26日 優(yōu)先權(quán)日2004年3月26日
發(fā)明者陳然, 陳又新, 蔣曉華, 崔吉順, 易昭華, 金正操, 饒弋寧, 張羽飛, 李金麗, 程菊生 申請(qǐng)人:聯(lián)想(北京)有限公司