天天看點

網絡知識-36 通過SNMP檢視裝置CPU使用率(H3C)

作者:網絡白話

通過SNMP檢視裝置CPU使用率配置舉例

摘 要:NET-SNMP是SNMP協定的一套開源實作工具,可作為NMS或Agent。本文主要介紹NET-SNMP作為NMS通過SNMP協定檢視H3C裝置(作為Agent)CPU使用率的配置應用。

1簡介

SNMP是網絡中管理裝置(NMS)和被管理裝置(Agent)之間的通信規則。NMS通過Get和Set等操作擷取、設定Agent上變量的值,進而實作對Agent的遠端管理、監控。Agent的CPU使用率就是NMS經常監控的重要變量。

CPU使用率反映了一段時間内裝置CPU資源的使用情況。如果CPU使用率一直居高不下,說明裝置負載較重,需要對裝置目前狀況進行分析,找到引起裝置負載過重的原因,進而預防、診斷網絡故障。

目前市場上有多種NMS産品,其中Net-SNMP作為一種開源實作的NMS在業界被廣泛使用。它提供了一套完整的應用程式,實作了SNMPv1/v2c/v3功能。本文将描述如何使用Net-SNMP工具通過通路MIB對象擷取裝置CPU使用率。

2Net-SNMP使用簡介

本文主要用到Net-SNMP的snmpget功能和snmpwalk功能。

l snmpget功能:即執行一次SNMP Get操作,用來擷取Agent上指定MIB對象的值。指令行格式為snmpget [OPTIONS] AGENT OID [OID]。

l snmpwalk功能:即執行一次SNMP Walk操作,用來擷取Agent上多個MIB對象的值。指令行格式為snmpwalk [OPTIONS] AGENT [OID]。

以上兩條指令行中各參數的含義如下:

網絡知識-36 通過SNMP檢視裝置CPU使用率(H3C)
網絡知識-36 通過SNMP檢視裝置CPU使用率(H3C)

3相關MIB節點

本文通過通路H3C私有MIB來檢視CPU使用率。如果想要通過對象的名稱通路該節點,在通路前需要在NMS上先下載下傳并編譯hh3c-entity-ext.mib或h3c-entity-ext.mib,MIB檔案可以通過H3C公司網站進行下載下傳。如果不編譯該MIB檔案,則隻能通過對象OID進行通路。

hh3c-entity-ext.mib是H3C new風格的MIB檔案,h3c-entity-ext.mib是H3C compatible風格的MIB檔案。使用哪個MIB檔案由裝置目前的MIB風格決定。在Agent上使用display mib-snmp指令檢視裝置的MIB風格,如果“Current MIB style”顯示為:

l new,則需要使用hh3c-entity-ext.mib檔案中的hh3cEntityExtCpuUsage節點,該節點的較長的描述請參見表2。

l compatible,則需要使用h3c-entity-ext.mib檔案中的h3cEntityExtCpuUsage節點,該節點的較長的描述請參見表3。

表2 hh3cEntityExtCpuUsage對象描述表

網絡知識-36 通過SNMP檢視裝置CPU使用率(H3C)
網絡知識-36 通過SNMP檢視裝置CPU使用率(H3C)

4使用SNMP v1、v2c檢視裝置CPU使用率配置舉例

使用SNMP v1或者v2c版本配置基本相同,本文以SNMP v1為例。如果網絡上運作的SNMP是v2c版本的,則隻需将本舉例中snmpget工具指令中的-v參數的值改為2c即可。4.1組網需求

l 網管工作站(NMS)與裝置(Agent)通過以太網相連。

l NMS上運作Net-SNMP軟體,要求在NMS上通過SNMP v1、團體名public能夠檢視Agent最後一分鐘内的CPU使用率。

圖1 使用SNMP v1、v2c檢視裝置CPU使用率組網圖

網絡知識-36 通過SNMP檢視裝置CPU使用率(H3C)

4.2配置思路

l 在Agent上配置接口參數:指定接口的IP位址,保證Agent和NMS路由的可達。

l Agent上需要完成SNMP功能基本配置(包括SNMP的版本、SNMP團體名),使得NMS和Agent之間可以互訪。

l 檢視Agent支援的MIB風格,确定需要使用的MIB對象。

l 将Net-SNMP軟體中的snmpget.exe和snmpwalk.exe檔案放到NMS的C:\usr\bin路徑下,通過MIB對象查詢Agent最後1分鐘内CPU使用率。

4.3配置步驟

4.3.1配置Agent

# 配置Agent的IP位址為192.168.1.56/24,并確定Agent與NMS之間路由可達。

l 如果Ethernet1/1是三層接口,請進行以下配置:

<Sysname> system-view

[Sysname] interface ethernet 1/1

[Sysname-Ethernet1/1] ip address 192.168.1.56 24

[Sysname-Ethernet1/1] quit

l 如果Ethernet1/1是二層接口,請進行以下配置:

<Sysname> system-view

[Sysname] vlan 2

[Sysname-vlan2] port Ethernet 1/1

[Sysname-vlan2] quit

[Sysname] interface vlan-interface 2

[Sysname-Vlan-interface2] ip address 192.168.1.56 24

[Sysname-Vlan-interface2] quit

# 配置SNMP版本。為了防止Agent和NMS因為版本問題導緻不能建立SNMP連接配接,建議将版本參數配置為all,表示支援v1、v2c、v3三個版本。

[Sysname] snmp-agent sys-info version all

# 配置可讀屬性團體名。

[Sysname] snmp-agent community read public

# 檢視裝置目前支援的MIB檔案風格,以便決定使用哪個MIB對象。

[Sysname] display mib-style

Current MIB style: new

Next reboot MIB style: new

以上顯示資訊表明,裝置目前支援的MIB檔案風格為new,是以使用hh3cEntityExtCpuUsage對象,OID為1.3.6.1.4.1.25506.2.6.1.1.1.1.6。(如果Current MIB style顯示為compatible,則下面的配置步驟中需要将1.3.6.1.4.1.25506.2.6.1.1.1.1.6替換為1.3.6.1.4.1.2011.10.2.6.1.1.1.1.6)

4.3.2配置NMS

(1) 檢視CPU的實體編号

使用ENTITY-MIB中的entPhysicalDescr、entPhysicalClass和entPhysicalName對象确定CPU實體的編号。如果使用這些對象不能确定CPU實體的編号,或者想一次檢視裝置上所有CPU的使用率,可以直接執行4.3.2 (4)檢視所有CPU的使用率。

C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.56 1.3.6.1.2.1.47.1.1.1.1.2

iso.3.6.1.2.1.47.1.1.1.1.2.1 = STRING: "H3C S7502E"

iso.3.6.1.2.1.47.1.1.1.1.2.2 = STRING: "Container for Board Modu

iso.3.6.1.2.1.47.1.1.1.1.2.3 = STRING: "Container for Board Modu

iso.3.6.1.2.1.47.1.1.1.1.2.4 = STRING: "Container for Board Modu

iso.3.6.1.2.1.47.1.1.1.1.2.5 = STRING: "Container for Board Modu

iso.3.6.1.2.1.47.1.1.1.1.2.16 = STRING: "Container for Power Mod

iso.3.6.1.2.1.47.1.1.1.1.2.17 = STRING: "Container for Power Mod

iso.3.6.1.2.1.47.1.1.1.1.2.18 = STRING: "Container for Fan Modul

iso.3.6.1.2.1.47.1.1.1.1.2.19 = STRING: "LSQ1MPUA0"

iso.3.6.1.2.1.47.1.1.1.1.2.20 = STRING: "LSQ1MPUA0"

iso.3.6.1.2.1.47.1.1.1.1.2.21 = ""

iso.3.6.1.2.1.47.1.1.1.1.2.33 = STRING: "PSU"

iso.3.6.1.2.1.47.1.1.1.1.2.35 = STRING: "FAN"

……

以上顯示資訊表明,CPU的實體編号為19和20。如果要确定主用主要闆和備用主要闆分别對應的實體編号,可以繼續執行以下指令:

C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.56 1.3.6.1.2.1.47.1.1.1.1.7

iso.3.6.1.2.1.47.1.1.1.1.7.1 = STRING: "H3C S7502E"

iso.3.6.1.2.1.47.1.1.1.1.7.2 = STRING: "Slot 0"

iso.3.6.1.2.1.47.1.1.1.1.7.3 = STRING: "Slot 1"

iso.3.6.1.2.1.47.1.1.1.1.7.4 = STRING: "Slot 2"

iso.3.6.1.2.1.47.1.1.1.1.7.5 = STRING: "Slot 3"

iso.3.6.1.2.1.47.1.1.1.1.7.16 = STRING: "Slot 14"

iso.3.6.1.2.1.47.1.1.1.1.7.17 = STRING: "Slot 15"

iso.3.6.1.2.1.47.1.1.1.1.7.18 = STRING: "Slot 16"

iso.3.6.1.2.1.47.1.1.1.1.7.19 = STRING: "Master Board 0"

iso.3.6.1.2.1.47.1.1.1.1.7.20 = STRING: "Slave Board 1"

iso.3.6.1.2.1.47.1.1.1.1.7.21 = STRING: "Board 2"

……

以上顯示資訊表明,主用主要闆對應的實體編号為19,備用主要闆分别對應的實體編号為20。

(2) 檢視主用主要闆的CPU使用率

C:\usr\bin> snmpget -v 1 -c public 192.168.1.56 1.3.6.1.4.1.25506.2.6.1.1.1.1.6.19

将傳回下面的響應資訊:

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.19 = INTEGER: 2

以上資訊表明主用主要闆的CPU使用率為2%。

(3) 檢視備用主要闆的CPU使用率

C:\usr\bin> snmpget -v 1 -c public 192.168.1.56 1.3.6.1.4.1.25506.2.6.1.1.1.1.6.20

将傳回下面的響應資訊:

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.20 = INTEGER: 2

以上資訊表明備用主要闆的CPU使用率為2%。

(4) 檢視所有CPU的使用率

執行snmpwalk工具指令,非零值即為CPU的使用率。

C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.56 1.3.6.1.4.1.25506.2.6.1.1.1.1.6

将傳回下面的響應資訊:

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.1 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.2 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.3 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.4 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.5 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.16 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.17 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.18 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.19 = INTEGER: 2

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.20 = INTEGER: 2

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.21 = INTEGER: 3

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.33 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.35 = INTEGER: 0

……

以上資訊表明,主用主要闆(對應實體編号為19)的CPU使用率為2%,備用主要闆(對應實體編号為20)的CPU使用率為2%,接口闆(對應實體編号為21)的CPU使用率為3%。

5使用SNMP v3檢視裝置CPU使用率配置舉例

5.1組網需求

l 網管工作站(NMS)與裝置(Agent)通過以太網相連。

l NMS上運作Net-SNMP軟體,要求在NMS上通過SNMP v3、使用者名v3user(認證方式為MD5,認證密碼為aaaaaaaaaa,加密算法為DES56,加密密碼是bbbbbbbbbb)能夠檢視Agent最後一分鐘内的CPU使用率。

網絡知識-36 通過SNMP檢視裝置CPU使用率(H3C)

5.2配置思路

l 在Agent上配置接口參數:指定接口的IP位址,保證Agent和NMS路由的可達。

l Agent上需要完成SNMP功能基本配置(包括SNMP的版本、組、使用者、認證和加密參數),使得NMS和Agent之間可以互訪。

l 檢視Agent支援的MIB風格,确定需要使用的MIB對象。

l 将Net-SNMP軟體中的snmpget.exe和snmpwalk.exe檔案放到NMS的C:\usr\bin路徑下,通過MIB對象查詢Agent最後1分鐘内CPU使用率。

5.3配置步驟

5.3.1配置Agent

# 配置Agent的IP位址為192.168.1.56/24,并確定Agent與NMS之間路由可達。

l 如果Ethernet1/1是三層接口,請進行以下配置:

<Sysname> system-view

[Sysname] interface ethernet 1/1

[Sysname-Ethernet1/1] ip address 192.168.1.56 24

[Sysname-Ethernet1/1] quit

l 如果Ethernet1/1是二層接口,請進行以下配置:

<Sysname> system-view

[Sysname] vlan 2

[Sysname-vlan2] port Ethernet 1/1

[Sysname-vlan2] quit

[Sysname] interface vlan-interface 2

[Sysname-Vlan-interface2] ip address 192.168.1.56 24

[Sysname-Vlan-interface2] quit

# 配置SNMP版本。為了防止Agent和NMS因為版本問題導緻不能建立SNMP連接配接,建議将版本參數配置為all,表示支援v1、v2c、v3三個版本。

<Sysname> system-view

[Sysname] snmp-agent sys-info version all

# 設定SNMP參數:使用的使用者名為v3user,認證方式為MD5,認證密碼為aaaaaaaaaa,加密算法為DES56,加密密碼是bbbbbbbbbb。

l 根據實際需要,使用者可以自行選擇是否對互動的SNMP封包進行認證,是否對互動的SNMP封包進行加密,本舉例采用的是既認證又加密;

l 為了讓設定的認證、加密密碼在裝置重新開機後能夠繼續生效,這裡先将明文密碼加密,然後在建立使用者時直接使用加密後的密碼進行配置。

[Sysname] snmp-agent calculate-password aaaaaaaaaa mode md5 local-engineid

The secret key is: 17CED5A1298DF35A643D81EC14E0E816

[Sysname] snmp-agent calculate-password bbbbbbbbbb mode md5 local-engineid

The secret key is: 5D3250992503990147EEB03B04CF2190

[Sysname] snmp-agent group v3 test

[Sysname] snmp-agent usm-user v3 v3user test cipher authentication-mode md5 17CED5A1298DF35A643D81EC14E0E816 privacy-mode des56 5D3250992503990147EEB03B04CF2190

# 檢視裝置目前支援的MIB檔案風格,以便決定使用哪個MIB對象。

[Sysname] display mib-style

Current MIB style: new

Next reboot MIB style: new

以上顯示資訊表明,裝置目前支援的MIB檔案風格為new,是以使用hh3cEntityExtCpuUsage對象,OID為1.3.6.1.4.1.25506.2.6.1.1.1.1.6。(如果Current MIB style顯示為compatible,則下面的配置步驟中需要将1.3.6.1.4.1.25506.2.6.1.1.1.1.6替換為1.3.6.1.4.1.2011.10.2.6.1.1.1.1.6)

5.3.2配置NMS

(1) 檢視CPU的實體編号

先使用ENTITY-MIB中的entPhysicalDescr、entPhysicalClass和entPhysicalName對象确定CPU實體的編号。如果使用這些對象不能确定CPU實體的編号,或者想一次檢視裝置上所有CPU的使用率,可以直接執行5.3.2 (4)檢視所有CPU的使用率。

C:\usr\bin> snmpwalk -v 3 -a MD5 -A aaaaaaaaaa -u v3user -x DES -X bbbbbbbbbb 192.168.1.56 1.3.6.1.2.1.47.1.1.1.1.2

iso.3.6.1.2.1.47.1.1.1.1.2.1 = STRING: "H3C S7502E"

iso.3.6.1.2.1.47.1.1.1.1.2.2 = STRING: "Container for Board Modu

iso.3.6.1.2.1.47.1.1.1.1.2.3 = STRING: "Container for Board Modu

iso.3.6.1.2.1.47.1.1.1.1.2.4 = STRING: "Container for Board Modu

iso.3.6.1.2.1.47.1.1.1.1.2.5 = STRING: "Container for Board Modu

iso.3.6.1.2.1.47.1.1.1.1.2.16 = STRING: "Container for Power Mod

iso.3.6.1.2.1.47.1.1.1.1.2.17 = STRING: "Container for Power Mod

iso.3.6.1.2.1.47.1.1.1.1.2.18 = STRING: "Container for Fan Modul

iso.3.6.1.2.1.47.1.1.1.1.2.19 = STRING: "LSQ1MPUA0"

iso.3.6.1.2.1.47.1.1.1.1.2.20 = STRING: "LSQ1MPUA0"

iso.3.6.1.2.1.47.1.1.1.1.2.21 = ""

iso.3.6.1.2.1.47.1.1.1.1.2.33 = STRING: "PSU"

iso.3.6.1.2.1.47.1.1.1.1.2.35 = STRING: "FAN"

……

以上顯示資訊表明,CPU的實體編号為19和20。如果要确定主用主要闆和備用主要闆分别對應的實體編号,可以繼續執行以下指令:

C:\usr\bin> snmpwalk -v 3 -a MD5 -A aaaaaaaaaa -u v3user -x DES -X bbbbbbbbbb 192.168.1.56 1.3.6.1.2.1.47.1.1.1.1.7

iso.3.6.1.2.1.47.1.1.1.1.7.1 = STRING: "H3C S7502E"

iso.3.6.1.2.1.47.1.1.1.1.7.2 = STRING: "Slot 0"

iso.3.6.1.2.1.47.1.1.1.1.7.3 = STRING: "Slot 1"

iso.3.6.1.2.1.47.1.1.1.1.7.4 = STRING: "Slot 2"

iso.3.6.1.2.1.47.1.1.1.1.7.5 = STRING: "Slot 3"

iso.3.6.1.2.1.47.1.1.1.1.7.16 = STRING: "Slot 14"

iso.3.6.1.2.1.47.1.1.1.1.7.17 = STRING: "Slot 15"

iso.3.6.1.2.1.47.1.1.1.1.7.18 = STRING: "Slot 16"

iso.3.6.1.2.1.47.1.1.1.1.7.19 = STRING: "Master Board 0"

iso.3.6.1.2.1.47.1.1.1.1.7.20 = STRING: "Slave Board 1"

iso.3.6.1.2.1.47.1.1.1.1.7.21 = STRING: "Board 2"

……

以上顯示資訊表明,主用主要闆對應的實體編号為19,備用主要闆分别對應的實體編号為20。

(2) 檢視主用主要闆的CPU使用率

C:\usr\bin> snmpget -v 3 -a MD5 -A aaaaaaaaaa -u v3user -x DES -X bbbbbbbbbb 192.168.1.56 1.3.6.1.4.1.25506.2.6.1.1.1.1.6.19

将傳回下面的響應資訊:

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.19 = INTEGER: 1

以上資訊表明主用主要闆的CPU使用率為1%。

(3) 檢視備用主要闆的CPU使用率

C:\usr\bin> snmpget -v 3 -a MD5 -A aaaaaaaaaa -u v3user -x DES -X bbbbbbbbbb 192.168.1.56 1.3.6.1.4.1.25506.2.6.1.1.1.1.6.20

将傳回下面的響應資訊:

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.20 = INTEGER: 2

以上資訊表明備用主要闆的CPU使用率為2%。

(4) 檢視所有CPU的使用率

執行snmpwalk工具指令,非零值即為CPU的使用率。

C:\usr\bin> snmpwalk -v 3 -a MD5 -A aaaaaaaaaa -u v3user -x DES -X bbbbbbbbbb 192.168.1.56 1.3.6.1.4.1.25506.2.6.1.1.1.1.6

将傳回下面的響應資訊:

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.1 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.2 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.3 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.4 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.5 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.16 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.17 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.18 = INTEGER: 0

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.19 = INTEGER: 1

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.20 = INTEGER: 2

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.21 = INTEGER: 3

iso.3.6.1.4.1.25506.2.6.1.1.1.1.6.33 = INTEGER: 0

……

以上資訊表明,主用主要闆(對應實體編号為19)的CPU使用率為2%,備用主要闆(對應實體編号為20)的CPU使用率為2%,接口闆(對應實體編号為21)的CPU使用率為3%。

繼續閱讀