说明:本例使用VM虚拟机、GNS3模拟器、GETIF工具实验Zabbix监控网络设备1、配置Cisco路由器本节以Cisco 2600路由器为例;只要支持SNMP协议的网络设备都可以使用本文档方法进行监控。
查看snmp-server系统命令:
![Zabbix监控(十三):监控网络设备插图 Zabbix监控(十三):监控网络设备插图](http://www.tiejiang.org/wp-content/uploads/2016/12/20161227082308117.jpg)
交换机配置如下:建立snmp团体,名称为public,权限为只读1(config)#snmp-server community public ro允许路由器将所有类型SNMP Trap发送出去1(config)#snmp-server enable traps
设置主机10.10.10.101接受交换机所发送过来的SNMP Trap 信息1(config)#snmp-server host 10.10.10.101 version 2c public使用loopback0接口的IP地址作为SNMP Traps发送源地址,也可用fastEthernet地址。
1(config)#snmp-server trap-source loopback02、监控交换机步骤(1)首先是需要获取Cisco 3750 SNMP 对应的OID例如:接口G1/0/5的进、出流量:
1234[root@zabbix ~]# snmpwalk -v 2c -c test 10.0.0.254 1.3.6.1.2.1.2.2.1.10.10105IF-MIB::ifInOctets.10105 = Counter32: 1663553768
[root@zabbix ~]# snmpwalk -v 2c -c test 10.0.0.254 1.3.6.1.2.1.2.2.1.16.10105IF-MIB::ifOutOctets.10105 = Counter32: 2288654478
说明:IF-MIB::ifOutOctets是OID号1.3.6.1.2.1.2.2.1.16的解释名称;10105是接口G1/0/5;Counter32是交换机计数器;后面的数值是流量,单位bytes;单位bytes和bit完全不对等,bytes = 8bit。
(2)然后是创建监控项监控OID的值:创建一个模板,在模板的Items中创建一个Item,设置如下:
![Zabbix监控(十三):监控网络设备插图1 Zabbix监控(十三):监控网络设备插图1](http://www.tiejiang.org/wp-content/uploads/2016/12/20161227082311212.jpg)
这里选择了类型SNMPv2 agent,OID对应交换机的接口G1/0/5进入流量,下面会详细讲解3、计数器溢出问题Counter32是交换机的一个计数器,这个计数器是32位是一个从0开始不断累加,那么它最大为多少呢? 2^32次方=4294967296,当计数器达到4294967296(4G)就会重新从0开始累加。
这样就会出现计数器溢出问题解决方法:(1)把取值间隔调快点,比如1分钟取一次(2)使用64 位计数器:大家可以查下交换机手册,是否支持64 位计数器,新一代交换机全支持64 位计数器;如果当前生产环境不支持64 位计数器,那么就使用第一种方法咯,加快取值间隔时间。
4、如何查询交换机OID信息进入cisco官方OID查询工具页面:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en
![Zabbix监控(十三):监控网络设备插图2 Zabbix监控(十三):监控网络设备插图2](http://www.tiejiang.org/wp-content/uploads/2016/12/20161227082311320.jpg)
那么OID从哪得知呢,这一串数字又是什么意思呢,在上图中的cisco页面往下拉,接着看:
![Zabbix监控(十三):监控网络设备插图3 Zabbix监控(十三):监控网络设备插图3](http://www.tiejiang.org/wp-content/uploads/2016/12/20161227082311411.jpg)
这颗树很大,内容很多,有兴趣的可以慢慢发掘;以下是一些常用的OID:获取端口列表及描述1[root@zabbix ~]# snmpwalk -v 2c -c test IP 1.3.6.1.2.1.2.2.1.2
获取端口UP/DOWN 情况1[root@zabbix ~]# snmpwalk -v 2c -c test IP 1.3.6.1.2.1.2.2.1.8获取端口入流量(byte)1[root@zabbix ~]# snmpwalk -v 2c -c test IP 1.3.6.1.2.1.2.2.1.10
获取端口出流量(byte)1[root@zabbix ~]# snmpwalk -v 2c -c test IP 1.3.6.1.2.1.2.2.1.16获取过去5 秒内的cpu load(百分比)1[root@zabbix ~]# snmpwalk -v 2c -c test IP 1.3.6.1.4.1.9.2.1.56.0
获取过去10 秒内的cpu load(百分比)1[root@zabbix ~]# snmpwalk -v 2c -c test IP 1.3.6.1.4.1.9.2.1.57.0获取过去15 秒内的cpu load(百分比)
1[root@zabbix ~]# snmpwalk -v 2c -c test IP 1.3.6.1.4.1.9.2.1.58.0获取内存使用情况1[root@zabbix ~]# snmpwalk -v 2c -c test IP 1.3.6.1.4.1.9.9.48.1.1.1.5
获取内存空闲情况1[root@zabbix ~]# snmpwalk -v 2c -c test IP 1.3.6.1.4.1.9.9.48.1.1.1.6另外还可以通过getif工具连接交换机或路由器,直接查看其OID,这也是我推荐的方法,下面就来搭建一个实验环境看看如何监控交换机。
5、实验一:通过Getif工具查看路由器的OID信息说明:实验环境部署在我的笔记本Win7系统下,使用GNS3搭建cisco 2600路由器和云,通过云和物理机的本地环回接口通讯,从而使用Getif来查看路由器OID。
(1)安装、设置笔记本环回网卡环回网卡的安装我就不详述了,参考:http://jingyan.baidu.com/article/046a7b3eef6d69f9c27fa9ea.html设置环回IP地址:
![Zabbix监控(十三):监控网络设备插图4 Zabbix监控(十三):监控网络设备插图4](http://www.tiejiang.org/wp-content/uploads/2016/12/20161227082311512.jpg)
(2)使用GNS3创建模拟环境,添加一个Cisco 2600路由器和一个Cloud云
![Zabbix监控(十三):监控网络设备插图5 Zabbix监控(十三):监控网络设备插图5](http://www.tiejiang.org/wp-content/uploads/2016/12/20161227082312617.jpg)
(3)配置云,连接到笔记本的环回网卡,这样路由器就桥接到物理机了
![Zabbix监控(十三):监控网络设备插图6 Zabbix监控(十三):监控网络设备插图6](http://www.tiejiang.org/wp-content/uploads/2016/12/20161227082316717.jpg)
(4)双击路由器进行设置
![Zabbix监控(十三):监控网络设备插图7 Zabbix监控(十三):监控网络设备插图7](http://www.tiejiang.org/wp-content/uploads/2016/12/20161227082317818.jpg)
别忘了还要设置团体名称:1R4(config)#snmp-server community public(5)笔记本打开CMD测试连接
![Zabbix监控(十三):监控网络设备插图8 Zabbix监控(十三):监控网络设备插图8](http://www.tiejiang.org/wp-content/uploads/2016/12/20161227082317915.jpg)
(6)使用Getif工具扫描路由器的OID信息下载及使用说明:http://www.wtcs.org/snmp4tpc/getif.htm连接路由器即可查看到详细信息:
![Zabbix监控(十三):监控网络设备插图9 Zabbix监控(十三):监控网络设备插图9](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823171012.jpg)
![Zabbix监控(十三):监控网络设备插图10 Zabbix监控(十三):监控网络设备插图10](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823181119.jpg)
![Zabbix监控(十三):监控网络设备插图11 Zabbix监控(十三):监控网络设备插图11](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823231213.jpg)
![Zabbix监控(十三):监控网络设备插图12 Zabbix监控(十三):监控网络设备插图12](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823231319.jpg)
可以点击各项再点start来查看对象返回的值现在发现OID没这么困难了吧,这工具是相当好用啊,获取windows系统的OID数据也是一样的,只要开启windows server的SNMP功能6、实验二:Zabbix监控路由器。
说明:使用VMware Workstation搭建一台Zabbix服务器虚拟机,虚拟机通过虚拟网络VMnet与物理机相连,GNS3中的云也桥接到虚拟网络,从而让Zabbix服务器可以连接到cisco路由器,进行监控。
(1)创建VM虚拟机配置Zabbix服务器在物理机上使用VMWare创建一个虚拟机,安装配置好Zabbix;设置虚拟机网络NAT到物理机:
![Zabbix监控(十三):监控网络设备插图13 Zabbix监控(十三):监控网络设备插图13](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823241411.jpg)
(2)设置VM的虚拟网络NAT使用虚拟网络VMnet8,设置IP段并开启DHCP
![Zabbix监控(十三):监控网络设备插图14 Zabbix监控(十三):监控网络设备插图14](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823241513.jpg)
(3)查看虚拟机的网卡地址,已自动分配到IP了
![Zabbix监控(十三):监控网络设备插图15 Zabbix监控(十三):监控网络设备插图15](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823251613.jpg)
(4)在物理机的本地网络连接中应该也能看到多了一个VMnet8的虚拟网卡,自动获取IP
![Zabbix监控(十三):监控网络设备插图16 Zabbix监控(十三):监控网络设备插图16](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823251718.jpg)
(5)修改GNS3中路由器F0/0接口IP12R4(config)#int f0/0R4(config)#ip add 10.10.10.102 255.255.255.0(6)修改GNS3中云的网卡取消连接线、删除云的网卡、添加新网卡(桥接到VMnet8)
(7)物理机测试PING
![Zabbix监控(十三):监控网络设备插图17 Zabbix监控(十三):监控网络设备插图17](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823251814.jpg)
可以看到都PING通了,三者现在处于同一网络内。(8)使用Getif工具连接路由器
![Zabbix监控(十三):监控网络设备插图18 Zabbix监控(十三):监控网络设备插图18](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823251916.jpg)
(9)在zabbix服务器进行测试123[root@zabbix ~]# yum install -y net-snmp net-snmp-utils net-snmp-libs[root@zabbix ~]# service snmpd start
[root@zabbix ~]# snmpwalk -v 2c -c public 10.10.10.102 1.3.6.1.2.1.2.2.1.16.1如果读者看了前面的内容就去试snmpwalk命令,不好意思,此命令无效,因为没装net-snmp,呵呵。
(10)配置zabbix进行监控了创建主机,这里不同的是设置SNMP接口而不是以往的Agent接口,SNMP的默认端口是161:
![Zabbix监控(十三):监控网络设备插图19 Zabbix监控(十三):监控网络设备插图19](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823262020.jpg)
说明:创建完主机后SNMP图标不会马上变绿,要创建下面的ITEMS并监控到数据了才会变绿创建Item,下图把use custom multipliter去掉:说明:SNMP OID可以填解释名也可以填OID数据串。
![Zabbix监控(十三):监控网络设备插图20 Zabbix监控(十三):监控网络设备插图20](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823312118.jpg)
(11)查看监控结果监控到数据后SNMP图标变绿
![Zabbix监控(十三):监控网络设备插图21 Zabbix监控(十三):监控网络设备插图21](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823322213.jpg)
在物理机上Ping路由器,指定icmp包大小为2000字节:
![Zabbix监控(十三):监控网络设备插图22 Zabbix监控(十三):监控网络设备插图22](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823392311.jpg)
观察监控图像的变化:
![Zabbix监控(十三):监控网络设备插图23 Zabbix监控(十三):监控网络设备插图23](http://www.tiejiang.org/wp-content/uploads/2016/12/201612270823392414.jpg)
上图显示的流量是17Kbps,应该是2000bit,这是因为我在use custom multipliter设置了8,意思是将值乘以8了,记得把勾去掉结论:篇幅有限,这里只举了一个监控路由器流量的例子,还有很多OID功能没有说,读者可以通过Getif好好看看,将有用的添加到监控里。
同样的原理可以将监控扩展到Windows和Linux系统,都是可以支持snmp协议的,Cacti和Nagios等监控软件都能实现,只是Zabbix本身的agent功能够用了,我就不研究了。