原文地址:https://www.kclouder.cn/snmpwalk/
简单网络管理协议SNMP(Simple Network Management Protocol)是网络监控和网络设备管理的统一
协议,并被所有主流的操作系统和大量网络应用程序所支持。SNMP广泛用于管理和监控网络上的设备,大
多数专业的设备都有SNMP agent代理,这些代理被激活和配置后用于和SNMP管理 NMS(network manage
ment system)网络管理系统通信。使用SnmpWalk通过检测一组变量可用于在单个设备上读取数据,可以获
得完整的列表信息或部分列表信息。通过分析用SnmpWalk获得的网络设备扫描结果,您可以开发一个受支
持的MIBs列表,并通过这种方式获得变量和可能值的完整描述。除此之外,MIB文档包含关于SNMP变量的信
息,这些信息仅可用于编写。在分析通过SnmpWalk从硬件或软件SNMP源检索到的信息之后,您可以使用Snmp
Set和SnmpGet工具来更改和获取值。
本篇我们以Lenovo ThinkSystem服务器为例,来演示一下如何用SnmpWalk来获取服务器状态或配置信息。
这里我们使用SR650服务器,使用SnmpWalk之前,确保已经在XCC上正确配置了SNMP,有关如何 在XCC上配
置SNMP可以参考本站之前的文章:
Lenovo ThinkSystem XClarity Controller (XCC) SNMP 配置方法
获取MIB库文件
通过如下链接,根据提示选择相应的机型后,在LXCC固件下载项里面,可以看到包含有4个MIB库文件。
将这4个MIB库文件下载下来。
https://datacentersupport.lenovo.com/us/zh/
安装并配置SnmpWalk
1、以Linux系统为例, 这里使用的操作系统为RHEL7.4,使用以下命令安装所有SNMP相关的包
yum install -y *snmp*
2、运行snmpconf,根据提示创建snmp.conf 文件
3、将新生成的snmp.conf文件复制到/etc/snmp/目录并修改该文件。加入一行:
mibdirs /usr/share/snmp/mibs/
4、将前面下载的4个MIB库文件拷贝到/usr/share/snmp/mibs/目录。
解析MIB库
1、要通过SNMP获取到服务器特定的状态,需要知道每个OID所代表的含义,这就需要先对MIB库进行解析,
在Linux系统下使用以下命令进行解析。首先查看MIB库的DEFINITION。
grep DEFINITION *.mib
可以看到4个MIB库的DEFINITIONS,例如LENOVO-XCC-MIB
2、使用snmptranslate命令解析出OID的含义,例如使用以下命令解析出LENOVO-XCC-MIB这个库中所定义
的OID,并将其保存为一个TXT文件。
snmptranslate -Tz -m LENOVO-XCC-MIB > xcc-oid.txt
3、用记事本等工具打开TXT文件,就可以查看每个OID所代表的含义。
4、另外也可以通过OID Entry查看同一项中所有类型的OID是多少,例如:
snmptranslate -Tz -m LENOVO-XCC-MIB |grep 19046.11.1.1.13.1.3.1
查询OID
1、使用SnmpWalk通过OID查询服务器状态信息。例如查看服务器上硬盘的状态信息。
snmpwalk -v 3 -u jacky -A password 172.16.80.66 -On 1.3.6.1.4......
-v 3 代表使用SNMP 版本3
-u SNMP账号,注意与XCC中创建的SNMP账号匹配
-A SNMP密码,注意与XCC中创建的SNMP账号匹配
-On 要查询的OID,通过前面导出的OID翻译文本找到想要查询的项。
IP地址为Agent端的IP地址,在我们的演示环境中,就是XCC的IP地址。
3、下图是通SnmpWalk显示的RAID卡信息。我们可以看到RAID卡的型号,固件版本,及其安装的Slot槽位
等信息。
4、如果没有Linux系统,需要使用Windows,也可以使用SnmpWalk。
SnmpWalk.exe -r:172.16.80.66 -v:3 -sn:jacky -aw:password -os:1.3.6.1.4.....
-r: agent端的IP地址
-v:3 SNMP版本3
-sn: SNMP账号
-aw: SNMP密码
-os: OID
5、通过SnmpWalk.exe将OID导出到CSV文件。
SnmpWalk.exe -r:172.16.80.66 -v:3 -sn:jacky -aw:password -csv > oid.csv
6、另外,在Windows系统上,也可以使用图形界面的MIB Browser,通过MIB Browser可以快速查询到每个
OID所代表的含义,同时也可以直接通过MIB Browser查询服务器的状态.