通過SNMP查看設備CPU利用率配置舉例

通過SNMP查看設備CPU利用率配置舉例

關鍵詞:SNMPNMSAgentMIBCPU利用率

  要:NET-SNMPSNMP協議的一套開源實現工具,可作為NMSAgent。本文主要介紹NET-SNMP作為NMS通過SNMP協議查看H3C設備(作為AgentCPU利用率的配置應用。

縮略語:SNMPNMSMIB

縮略語

英文全名

中文解釋

SNMP

Simple Network Management Protocol

簡單網絡管理協議

NMS

Network Management System

網絡管理係統

MIB

Management Information Base

管理信息庫

 



簡介

SNMP是網絡中管理設備(NMS)和被管理設備(Agent)之間的通信規則。NMS通過GetSet等操作獲取、設置Agent上變量的值,從而實現對Agent的遠程管理、監控。AgentCPU利用率就是NMS經常監控的重要變量。

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

目前市場上有多種NMS產品,其中Net-SNMP作為一種開源實現的NMS在業界被廣泛使用。它提供了一套完整的應用程序,實現了SNMPv1/v2c/v3功能。本文將描述如何使用Net-SNMP工具通過訪問MIB對象獲取設備CPU利用率。

Net-SNMP使用簡介

本文主要用到Net-SNMPsnmpget功能和snmpwalk功能。

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

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

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

參數

說明

snmpget

命令關鍵字,表示執行Get操作

snmpwalk

命令關鍵字,表示執行Walk操作

OPTIONS

命令行選項(常用選項請參見1

AGENT

AgentIP地址

OID

AgentMIB對象的OID(如果是執行Get操作,OID必須是葉子節點或者是表節點實體的OID;如果是執行Walk操作,可以是所有類型對象的OID

 

表1 Net-SNMP命令行工具常用選項

選項

說明

舉例

-h

顯示命令幫助信息

-h

-v

設置使用的SNMP版本,取值為12c3

-v 1

-c

設置團體名

-c public

-a

設置認證協議類型,取值為MD5SHA

-a MD5

-A

設置認證密碼

-A 12345678

-e

設置安全引擎ID

-e 800063A203000056000000

-u

設置用戶名

-u v3user

-x

設置加密協議類型,取值為DES

-x DES

-X

設置加密密碼

-X 12345678

-m

加載MIB列表,取值為MIB文件名(取值為ALL時表示加載所有文件)

-m ALL

-m d:/net-snmp/xxx.mib

-M

指定MIB文件所在目錄列表

-M d:/nets-snmp

 

本文使用的Net-SNMP工具來自於http://www.net.snmp.org/,關於這個工具的詳細介紹,請訪問該網站。

 

相關MIB節點

本文通過訪問H3C私有MIB來查看CPU利用率。如果想要通過對象的名稱訪問該節點,在訪問前需要在NMS上先下載並編譯hh3c-entity-ext.mibh3c-entity-ext.mibMIB文件可以通過H3C公司網站進行下載。如果不編譯該MIB文件,則隻能通過對象OID進行訪問。

hh3c-entity-ext.mibH3C new風格的MIB文件,h3c-entity-ext.mibH3C 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對象描述表

對象名稱

hh3cEntityExtCpuUsage

對象OID

1.3.6.1.4.1.25506.2.6.1.1.1.1.6

對象描述

CPU實體在最後1分鍾內的利用率

對象類型

列對象

備注

l      該對象下麵包含多個實體(即葉子節點),實體的OID1.3.6.1.4.1.25506.2.6.1.1.1.1.6.n。實體不同,n(以下稱為實體編號)的取值不同

l      CPU實體的編號可以通過ENTITY-MIB文件中的entPhysicalDescrOID1.3.6.1.2.1.47.1.1.1.1.2)、entPhysicalClassOID1.3.6.1.2.1.47.1.1.1.1.5)和entPhysicalNameOID1.3.6.1.2.1.47.1.1.1.1.7)對象來確

l      如果某實體對象取值永遠為零那麼該實體不是CPU實體

 

表3 h3cEntityExtCpuUsage對象描述表

對象名稱

h3cEntityExtCpuUsage

對象OID

1.3.6.1.4.1.2011.10.2.6.1.1.1.1.6

對象描述

CPU實體在最後1分鍾內的利用率

對象類型

列對象

備注

l      該對象下麵包含多個實體(即葉子節點),實體的OID1.3.6.1.4.1.2011.10.2.6.1.1.1.1.6.n。實體不同,n(以下稱為實體編號)的取值不同

l      CPU實體的編號可以通過ENTITY-MIB文件中的entPhysicalDescrOID1.3.6.1.2.1.47.1.1.1.1.2)、entPhysicalClassOID1.3.6.1.2.1.47.1.1.1.1.5)和entPhysicalNameOID1.3.6.1.2.1.47.1.1.1.1.7)對象來確

l      如果某實體對象取值永遠為零那麼該實體不是CPU實體

 

使用SNMP v1v2c查看設備CPU利用率配置舉例

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

 

4.1  組網需求

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

l              NMS上運行Net-SNMP軟件,要求在NMS上通過SNMP v1、團體名public能夠查看Agent最後一分鍾內的CPU利用率。

圖1 使用SNMP v1v2c查看設備CPU利用率組網圖

 

4.2  配置思路

l              Agent上配置接口參數:指定接口的IP地址,保證AgentNMS路由的可達。

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

l              查看Agent支持的MIB風格,確定需要使用的MIB對象。

l              Net-SNMP軟件中的snmpget.exesnmpwalk.exe文件放到NMSC:\usr\bin路徑下,通過MIB對象查詢Agent最後1分鍾內CPU利用率。

4.3  配置步驟

4.3.1  配置Agent

# 配置AgentIP地址為192.168.1.56/24,並確保AgentNMS之間路由可達。

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版本。為了防止AgentNMS因為版本問題導致不能建立SNMP連接,建議將版本參數配置為all,表示支持v1v2cv3三個版本。

[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對象,OID1.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中的entPhysicalDescrentPhysicalClassentPhysicalName對象確定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的實體編號為1920。如果要確定主用主控板和備用主控板分別對應的實體編號,可以繼續執行以下命令:

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%。

使用SNMP v3查看設備CPU利用率配置舉例

5.1  組網需求

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

l              NMS上運行Net-SNMP軟件,要求在NMS上通過SNMP v3、用戶名v3user(認證方式為MD5,認證密碼為aaaaaaaaaa,加密算法為DES56,加密密碼是bbbbbbbbbb)能夠查看Agent最後一分鍾內的CPU利用率。

圖2 使用SNMP v3查看設備CPU利用率組網圖

 

5.2  配置思路

l              Agent上配置接口參數:指定接口的IP地址,保證AgentNMS路由的可達。

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

l              查看Agent支持的MIB風格,確定需要使用的MIB對象。

l              Net-SNMP軟件中的snmpget.exesnmpwalk.exe文件放到NMSC:\usr\bin路徑下,通過MIB對象查詢Agent最後1分鍾內CPU利用率。

5.3  配置步驟

5.3.1  配置Agent

# 配置AgentIP地址為192.168.1.56/24,並確保AgentNMS之間路由可達。

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版本。為了防止AgentNMS因為版本問題導致不能建立SNMP連接,建議將版本參數配置為all,表示支持v1v2cv3三個版本。

<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對象,OID1.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中的entPhysicalDescrentPhysicalClassentPhysicalName對象確定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的實體編號為1920。如果要確定主用主控板和備用主控板分別對應的實體編號,可以繼續執行以下命令:

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%。

 

 

Copyright © 2009 杭州華三通信技術有限公司 版權所有,保留一切權利。

非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。

本文檔中的信息可能變動,恕不另行通知。

聯係我們