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 功能。
snmpget 功能:即执行一次 SNMP Get 操作,用来获取 Agent 上指定 MIB 对象的
值。命令行格式为 snmpget [OPTIONS] AGENT OID [OID]。
snmpwalk 功能:即执行一次 SNMP Walk 操作,用来获取 Agent 上多个 MIB 对
象的值。命令行格式为 snmpwalk [OPTIONS] AGENT [OID]。
以上两条命令行中各参数的含义如下:
参数 说明
snmpget
命令关键字,表示执行 Get 操作
snmpwalk
命令关键字,表示执行 Walk 操作
OPTIONS
命令行选项(常用选项请参见表 1)
AGENT
Agent 的 IP 地址
OID
Agent 上 MIB 对象的 OID(如果是执行 Get 操作,OID 必须是叶子节点或者是表节点实体的
OID;如果是执行 Walk 操作,可以是所有类型对象的 OID)
%
表 1%Net-SNMP 命令行工具常用选项
选项 说明 举例
-h
显示命令帮助信息
-h
-v
设置使用的 SNMP 版本,取值为 1、2c 或 3
-v 1
-c
设置团体名
-c public
-a
设置认证协议类型,取值为 MD5 或 SHA
-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