通过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 杭州华三通信技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

本文档中的信息可能变动,恕不另行通知。

联系我们