SNMP(Simple Network Management Protocol简单网络管理)协议 是现在网络管理系统(NMS)监控网络设备状态的协议,是现在网管事实上的标准,如果网络设备不支持SNMP协议的话,那就好花费大量的精力来说服NMS厂商来支持你的设备,这样得不偿失。
SNMP支持的操作和操作方法很简单的(当然协议本身还是不简单的)。
SNMP的操作:GET ,GETNEXT, SET, TRAP
SNMP将被管理对象用一个树来组织,被管理对象用OID表示(看不懂的童鞋先去看看Google百度一下snmp),通过snmp操作oid即可得到网络管理的数据。
oid长这样“.1.3.6.1.2.1.1.2.0” 子树 1 -> 3 -> 6 -> 1 -> 2 -> 1 -> 1 -> 2

ZABBIX上有强大的模版,能够根据自动发规则查询到网络设备的snmp信息,生成监控项、触发器和图表。比如目前流行的华为系列的有s5700交换机模版,适用于大部分华为交换机通用,如下所示:
zabbix上华为交换机snmp OID查询温度信息配置_第1张图片
但是,某些交换机,型号比较老,再加上snmp oid不是通用的,或者没有相关信息,这时需要自己手动查询进行配置。
在zabbix上,一般使用snmpwalk命令进行。

一、能够在官网查询到交换机的软件和硬件

进入华为官网的技术支持- 企业业务 |-信息查询助手按照交换机的型号和软件版本进行查询mib。
网址为http://support.huawei.com/onlinetoolsweb/infoM/index.do?lang=zh&domain=1
本次查询以华为交换机5700任意版本为例,查询字段为temperature,结果如下:
zabbix上华为交换机snmp OID查询温度信息配置_第2张图片
(图:查询示意)
zabbix上华为交换机snmp OID查询温度信息配置_第3张图片
(图:查询到相关信息)
我门需要查询的是能够直接显示交换机温度信息的
zabbix上华为交换机snmp OID查询温度信息配置
已经确定了oid值的信息后,我们需要在zabbix上使用snmpwalk程序查询oid值,看能是否能够返回数值,如果可以,则证明oid正确。
snmpwalk的命名为

snmpwalk -v 2c -c xxxx(snmp团体名) xx.xx.xx.xx(主机ip地址) .1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11.67108873(oid)

查询的结果如下:
zabbix上华为交换机snmp OID查询温度信息配置
返回整数字符值,38,代表当前温度38度。
一旦确定了oid,就可以直接配置监控项键值。参考配置如下图所示:
zabbix上华为交换机snmp OID查询温度信息配置_第4张图片
监测到的温度图表如下图所示:
zabbix上华为交换机snmp OID查询温度信息配置_第5张图片

二、查询不到交换机的软件和硬件信息

有时候,交换机的设备较老,或者是停止生命周期停产了,无法在官网查询到正确的oid信息。
但是在华为官网,能够搜寻到以前版本的oid信息,如下图所示:
zabbix上华为交换机snmp OID查询温度信息配置_第6张图片
我们只要按照oid的大概范围 1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11进行查询,确定能够有整数返回值的,就能确定详细的oid
命令格式如下:

snmpwalk -v 2c -c xxxx(snmp团体名) xx.xx.xx.xx(主机ip地址) .1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11(oid)

得到的输出结果如下图所示:
zabbix上华为交换机snmp OID查询温度信息配置_第7张图片
基本上就能确定该交换机的关于温度的oid具体值为
1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11.603979777
再确定完成后,我们按照该值添加监控项,如下图所示:
zabbix上华为交换机snmp OID查询温度信息配置_第8张图片
说明:
1、原有监控模版带有temperature,键值也为temperature,我更改为enterprises
2、键值应该可以随便设定
完成监控项后,添加图形
zabbix上华为交换机snmp OID查询温度信息配置_第9张图片
最后生成的图形如下图所示:
zabbix上华为交换机snmp OID查询温度信息配置_第10张图片
为了验证效果,最后登录交换机,查看温度。
如下所示:
zabbix上华为交换机snmp OID查询温度信息配置_第11张图片
证实,监控效果正确