由于之前网络设备不是很多,监控网络设备接口就直接使用模版中的item来实现了,可是现在公司上线了一大批网络设备,如果要每个网络设备都做模板,添加item。。。。。。那就该废了,于是迫于压力今天来测试使用zabbix的自动发现功能实现自动发现网络设备接口,并且自动获取接口的流量值,生成流量图等功能。
这样的话就能节省大量时间,时间就是生命啊,把时间浪费在枯燥的添加网络接口的工作上就是在浪费生命!好了,废话不多说,进入正题:
首先,在交换机上面配置好snmp协议,为了简单,这里目前使用的是snmp v2协议。这里就不赘述snmp v2协议在交换机上怎么配置了,之前的博客中都介绍了怎么配置好SNMP V3协议的交换机配置,snmp v2协议配置更加简单。
配置好后交换机的snmp v2协议后需要在zabbix服务器上面使用snmpwalk命令测试看是否能获取到数据。命令如下:snmpwalk -v 2c -c xxx 10.1.1.1 ifDescr其中的xxx就是在交换机中设置的snmp的团体名。
(这里我使用的是getif软件,可以直接获取交换机的mib文件,如下图:
)
测试能获取到数据后接下来就要在zabbix服务端的web页面上创建模板了。首先进入组态---》模板中创建模板,如下图:
之后填写模版名称,如下图:
创建好模版后开始创建应用集:给应用集取个名字叫interface discovery
然后就要开始创建发现规则了,点击探索规则,创建发现规则,如下图:
下面就要配置发现规则了:
注意,如果是zabbix3.0以上的版本,SNMP OID这里要写 discovery[{#SNMPVALUE},.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr]
上图中的被涂掉的地方就是配置snmp v2团体名,键值使用ifDescr,这个snmp OID能够获取到交换机的所有接口名称。获取到名称后,自动发现规则就能够产生两个JSON格式的数据,一个是{#SNMPVALUE}:对应的里面的数据是接口名称;还有一个是{#SNMPINDEX}:对应的里面的数据是接口的id。还漏了一个知识点,其中的数据更新间隔中我设置了30秒,默认是3600秒,这个值得大小将直接影响自动发现规则发现设备的时间。
知道这些后就要开始配置项目原型了,废话不多说,直接看图:
这里填写有点问题,我们的H3C交换机的接口的in方向OID为.1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX},跟下面的截图形式有点不一样。
交换机的接口的out方向OID为.1.3.6.1.2.1.2.2.1.16.{#SNMPINDEX},跟下面的截图形式有点不一样。 大家注意下。
上面红箭头表示的都是要注意的地方,其中$1表示的就是{#SNMPVALUE}的值,下面的自定倍数和单位就不用解释了,换算成bps的速率。这样接口的in方向流量自动发现规则就配置完成了,按相同方式配置接口的out方向的流量自动发现规则就好了。
如果这里还是报错 ,大家可以到这里查看报错信息是啥?
下面开始定义自动发现的生成图形,先上图:
点击图形原型,添加原型,将刚刚创建的两个项目原型添加进去就可以了,这样,一个简单的自动发现规则就这样配置完了。下面将交换机添加进来,操作步骤如下图:
,使用这个模板就能够自动发现交换机的所有接口,并自动获取交换机的所有接口流量,生成图形!
生成图形的效果如下图所示:
上面的所有接口都是自动发现出来的!
至此,我们的zabbix配置模板自动发现功能自动识别网络设备的所有接口,并且获取所有接口的流量值,生成图形的过程就就完成了!