基于snmp网络协议的网络流量监视系统的实现
2014-12-30贺军
摘 要:随着信息化技术的不断发展,互联网也越来越普及,网络设备的运行状态的好坏直接影响到整个网络的质量。网络设备管理人员需要登陆到每个网络设备上查看问题的原因,这样的管理方式很慢,也不容易找到问题的根源。如何将抽象的网络数据通过程序取出并显示在web页面上成为网络管理员的一种迫切的需要。还好在每个可管理的设备上都有一种snmp协议能够完成整个艰巨的任务,snmp协议可以通过管理信息库中相应内容获得设备的各方面运行信息。
关键词:snmp网络协议;流量监控;系统
基于snmp网络协议的网络流量监控系统是将各网络设备各端口的上下行流量汇总到一个数据库中,通过web方式展现给用户的系统。整个系统主要包括网络逻辑拓扑生成模块、网络设备链路流量监控模块、图形展现模块、短信告警模块组成。首先,通过网络逻辑拓扑生成模块将现有网络设备的网络链接数据添加到设备数据表中,生成网络设备的逻辑拓扑,然后,网络设备链路流量监控模块通过设备DB判别网络设备的类型,如果是网络设备通过SNMP协议采集网络设备的各端口流量;如果是服务器网络设备通过SNMP协议采集服务器的硬盘容量、内存使用量、运行软件名称等数据,将采集的数据些入到采集数据表中。如果没有采集到网络设备和服务器的数据,将设备名称写入到ERR表(错误表)中,短信告警模块每间隔10分钟扫描一次ERR表,有故障网络设备就告警。最后,当有用户请求查看网络设备各端口状态时,图形展现模块从采集数据表中查询到相应网络设备的原始数据,通过逻辑算法将原始数据计算成真实的端口流量数据,再通过调用图形展现程序生成图形,将结果输出到用户WEB页面上。(图1)
图1
具体实施方式:
第一步:安装win2003系统。
第二步:安装IIS组建,搭建win系统的php页面环境,安装MS sql2000数据库。
第三步:开启本端服务器的161,160端口(关闭防火墙,默认开启),启用各被监控网络设备的SNMP协议,并将各网络设备的读写字符串汇总并记录。
第四步:使用一种web语言编写完成自己的网络逻辑拓扑生成模块和图形展现模块。
第五步:使用php编写数据采集模块和告警模块。
网络拓扑模块编程的难点是需要写一个迭代函数,这样在出现树形网络拓扑的时候才能使整个程序简单并且高效。图形的展现模块是整个系统的难点,如何将整个原始数据图形展现到web页面上不仅要考验自己对网络数据bit和字节的换算能力,还要考验自己如何将处理后的数据图形化到自己的页面上,图形化的页面上的方式很多:flash方式、插件、web自带图形功能。任何一种图形化的展现都是非常困难的。然后就是数据采集过程模块,如何在一分钟内将多个设备的多个端口的数据写入到自己的数据库中依然是个难题,当然你可以通过多线程完成这样的任务,数据采集到后你会发现你的数据库膨胀的相当快速,大数据量快速查询又成为一个头痛的问题。解决了上面的几个主要问题后,短信的告警问题才真的成为了可能。
图形展现模块的设计:(图2,图3)
出/入流量:当选择出流量时,页面中展现的是本网络设备各个端口的出流量。当选择入流量时,页面中展现的是本网络设备各个端口的入流量。(出入是相对本网络设备而言,流出本网络设备的量为出,流入本设备的量为入)。
开始端口、结束端口:本网络设备的第一个端口,包括本网络设备中的逻辑端口(如:在高级路由器中的逻辑vlan3、vlan4等)。也可显示本网络设备的逻辑端口流量。
采集频率:这个是抽取(查询)了存储在数据表中本网络设备在不同时间段(5分钟、10分钟、15分钟、30分钟、1小时、2小时)各端口流量频率,相当于对数据表中数据的采样数据。
最大带宽:显示了本网络设备各个端口中实际最大带宽(4/3)的黄金分割带宽,目的是为了不让实际最大带宽显示出来后顶在了设备流量图最顶端,影响展现效果。最大带宽可以手动输入,当输入的数值小于本网络设备各个端口中实际最大带宽时,自动修改为最大带宽;当输入的数值大于本网络设备各端口中实际最大带宽时,按照输入数值从新展现设备流量图。
查询天数:查询天数默认是可以查询1-365天以内的所有数据,但是根据服务器的性能,显示大数据量时数据可能会溢出。建议数据在30天以内。
网络设备流量图:端口流量的折线图,一次用户请求,只能展现网络设备各端口的上行流量或下行流量。
各端口名称:从网络设备上的采集到的端口名稱。
短信告警模块的设计:
使用php语言编写实现,根据网络设备链路流量监控模块的处理机制,将没有回应的网络设备的名称和时间写入到ERR表(错误表)中,php编写的轮询程序每10分钟查询一次当前10分钟内超过错误阀值的网络设备,如果不为空就向短信告警装置发送告警信息。
本系统能够为我们日益增长的网络带宽提供实际的图形显示;为大型网络的用户提供网络设备监控及记录网络设备端口、主机网卡流量;为提供高效稳定的网络环境提供帮助。
作者简介:贺军(1977,11-),男,湖北丹江口人,助理工程师,研究方向:计算机软件,网络安全。