局域网性能监测中的MRTG
所属栏目:计算机应用论文
发布时间:2017-07-25 14:53:52 更新时间:2017-07-25 14:02:49
MRTG技术已经广泛应用于消防信息系统建设中,发挥着重要作用,本文主要介绍利用MRTG流量监测工具对局域网性能进行监测的方法及意义。
《计算机时代》1983年创刊,由中国工程院院士潘云鹤主编,全国公开发行。主要栏目有学术论坛、技术广角、网络天地、信息安全、应用实践、经验技巧、考试园地、市场纵览、企业信息化等,丰富的内容使您能够自由地遨游在电脑信息的海洋里,了解最新趋势,掌握最新技术,领略精彩纷呈的数字生活。
1 应用背景
随着消防信息化建设的深入,近年来消防信息网络基础设施建设呈现蓬勃发展的趋势。省总队及各市消防支队都构建起了本地的局域网,辖区各大(中)队也通过租用专线的方式接入支队局域网。同时,依托于公安内网,总队至各支队间广域网也已构建完毕。网络基础环境的搭建为各类消防业务系统的应用提供了基础平台,良好的网络环境也是各类业务应用系统得以发挥效用的前提。
公安内网虽然隔离于互联网,但病毒入侵、网络攻击等破坏网络性能的行为却也是频频发生,如何有效的维护局域网络性能成为任何一个网管人员不得不面对的一个严肃课题。安装杀毒软件、开启防火墙、及时升级操作系统补丁是有效维护网络性能的必要手段。除此以外,作为网络管理员更需要研究如何在网络性能下降时,快速定位影响网络性能的原因,及时排除故障使网络恢复正常。网络性能严重下降最直观的表现就是网络流量骤涨,网络速度变慢。因此,监测网络流量成为监测网络性能的最直接方法。而对于局域网的流量管理又可以将流量监测的注意力放在对重点网络设备流量的监测上,也即是可以把流量监测的重点放在局域网中路由设备端口及楼层汇聚交换机级联端口的流量监测上。
2 MRTG初探
目前,市面上的流量监测工具很多,如PRTG、华为的TrafficView等,它们中的大多数都是在MRTG(Multi Router Traffic Grapher)多路由器流量图示器基础上进行二次开发的产物,而MRTG是基于SNMP(简单网络管理协议)构建。
SNMP是简单网络管理协议的简称,该协议目前已经发展到了三代,现在的版本是SNMPv3,以前的版本有SNMPv1和SNMPv2,其中SNMPv2又有多个版本,以SNMPv2c最为常见。SNMP三个版本的变化并不太大,许多特性也都做到了向后兼容。SNMP协议定义了网络管理的“管理端”与“代理”(agent),同时,它通过“管理信息库”(Managent Information Base,MIB)定义被管设备必须要保存的数据项,如被管设备为路由器则需要保存有关其网络接口状态、传来和发出的分组通信量、丢失的数据报以及产生的差错报文等等;“管理端”通过发送get或set命令读取或修改代理(AGENT)的MIB值。
目前,市面上流行的网络路由交换设备如华为AR4640、思科7600等路由器都能做到同时兼容SNMP协议的几个版本。基于SNMP的MRTG工具通过SNMP中的get命令获取被管设备Mib树中的流量值(MIB是一个按照层次结构组织的树状结构,管理对象为定义于树中的相应叶子节点)。比之于其他的流量监测工具,MRTG还具有平台无关性(可以运行于大多数Unix系统或Windows系统之上)、源码开放、占用资源小、完全免费等优点。所有支持SNMP的网络设备(交换机、路由器、服务器等)都可以用MRTG进行流量监测。同时,MRTG是一个完全免费且公开源码的软件,该软件是用Perl和C语言编写的,由于其采用了独特的数据合并算法,因而由MRTG产生的流量记录日志不会随着时间的增长而变成很大。
3 MRTG应用经验
要利用MRTG对交换路由设备进行监控,首先要选取一台机器作为流量监控的SERVER端,安装了任何支持SNMP协议的操作系统(如Linux、Windows 2000、WinXP等)的服务器都可以胜任。以Windows 2000系统为例,默认安装下SNMP协议是处于未启用状态的,如果这台安装了Windows 2000操作系统的服务器要作为MRTG流量监控服务器,首先要在该服务器上启用SNMP协议。启用方法为在windows 2000的控制面板中选择“添加删除程序”,点击“添加/删除 windows组件”,双击“管理和监视工具”,选中“简单网络管理程序”,确定后点击“下一步”完成安装。安装好SNMP协议后,就可以进行MRTG软件的安装了。因为MRTG是用Perl语言编写的,因此,在监控服务器端还需安装Activate Perl。
同时,在被管设备端也需要开启对SNMP协议的支持。目前,市面上绝大多数的网络路由器都默认的支持SNMPv3,而老版本的MRTG程序只能支持SNMPv1。在使用较早版本的MRTG程序进行流量采集时,要首先查看被测结点是否对所有版本的SNMP协议都能支持。如果仅默认支持SNMPv3,则还需对被测结点做相应设置,否则MRTG可能无法正确获取被测结点流量。如笔者所在单位使用的华为QuaidWay AR4640路由器,默认设置只提供对SNMPv3的支持,要开放对SNMPv1的支持,则必须在路由器上执行SNMP-AGENT SYSINFO version v1 v2c v3,否则当使用较早版本的MRTG对该路由设备进行流量监测时,管理端会无法正常获取路由设备的流量,图1所示为华为-4640路由器作为被管端的设置图。
此外,采用了SNMP授权机制的设备严格限制了对其MIB值进行访问的管理员对象,只有经过被管设备端授权的管理设备才可进行读取或设置该设备MIB值的操作,如笔者单位所用的美国网件楼层交换机即有如此限制,必须登陆至交换机管理界面进行相应SNMP访问授权设置才可进行SNMP流量采集,如图2所示。
图2 网件交换机SNMP访问授权图
作为流量采集端,在安装MRTG后,需要执行相应的命令操作才可以进行对被管对象(agent)的流量进行采集。MRTG的命令操作设置方法在网站上可以查到详细的操作说明,这里不再赘述。
需要注明的是在流量采集端使用perl cfgmaker命令可以同时对多个被管设备(AGENT)端的流量进行监控,直接使用该命令生成的配置文件中默认包含了对所有被管设备所有端口流量的监测配置,如果我们不对自动生成的CFG文件进行手动修改的话,那么应用该配置文件进行监测后显示的流量页面结果将会包含所有被管端口的流量图。而在实际应用过程中,网管人员可能只关心重点设备的重点端口的流量,如我们只关心楼层交换机上联端口的流量,而无须对每个接入桌面端口的流量进行监控。要实现流量显示页面中只出现网管人员关注端口的流量图,这就需要网管人员对命令自动生成的CFG配置文件进行手动修改。在CFG文件中很容易区分出哪一段是对某一个网络设备的某一个端口的流量采集配置,我们在CFG中只需要删除无关部分,保留我们所关注的设备端口的流量配置即可,这样就可以把我们所关注所有端口流量图形显示在同一个WEB页面中,方便我们对流量的实时监测(如图3)。同时,通过对CFG文件的手动修改,还可把流量监测图WEB页面的显示中的默认英文显示修改为中文显示,使显示页面更简单易懂。
图3 mrtg流量监测图
同时,由于MRTG除了提供端口的实时流量图外,还可提供日、月、年流量统计图,从这些流量显示粒度更粗的统计图中,可以很容易寻找出设备端口的流量趋势,如单位外联端口流量图呈泊松分布,在每天非上班时间网络流量较为平稳,而从上班时间开始流量则逐渐会呈现出上升趋势。一旦网络中有异常流量的出现,有经验的网管员可以很容易的从每日的流量图中发现问题并及时做出反应。同时,使用MRTG流量分析工作通过长时间的流量采集绘制出来的流量监测图形对评价网络带宽瓶颈也有一定的作用。如笔者单位与省厅间的原出口网络带宽仅为2M,而总队与各支队间的业务流量都需经由这个出口进行交互,在总队与下级支队间的各种业务应用明显增多的前提下,通过MRTG采集后生成的图象会发现流量采集的峰值经常在接近于2M左右的位置,根据网络带宽扩容的原理,这种接近于的满载的网络带宽利用率已经明显的提出了网络需扩容的警示。由此,本单位提出了网络扩容的需求,并将网络带宽由原有2M扩展于百M,极大的提升了各种网络应用的效率。
同时,利用MRTG除了可获取网络设备流量信息外,只要能获取被控网络设备的MIB树中对应的OID值,MRTG还可以对被管网络设备的CPU利用率、内存利用率等等涉及网络性能监控的数据进行提取显示。因而,其在局域网性能监测中起着举足轻重的作用。
当然用MRTG进行流量监测也有其局限之处,与PRTG相比,它不能提供对每次采集流量的具体数值,而只能从流量显示图中进行端口流量的大致估计。不过,这一问题也并非不可解决,网管人员可以自己编程从MRTG日志(LOG)文件中提取流量值将每次的流量采集数值显示出来。另外,用MRTG进行流量监测也存在一定的滞后性,往往会是在网络问题出现一段时间后这种异常现象才能通过流量显示图直观的显示出来,同时,网络中的异常流量也不一定是由于病毒引起的,如局域网中用户在进行大容量的数据下载或上传也会引起网络流量的骤增。因此,宜将MRTG与etheral等实时流量分析工具配合使用,进一步对网络中异常流量的构成进行分析,以便确定这种异常的流量行为是否由病毒引起,方能有针对性的寻找解决办法。
4 结论
总之,对于网管人员而言,免费的MRTG流量采集工具以图形化的方式实时给网管员呈现出实时局域网流量的负载图,对更好的进行局域网性能监测提供了一个有效的途径。如能在MRTG基础上根据本单位的需求进行有针对性的二次开发,更能使其在局域网性能监测中起到事半功倍的效果。
参考文献
[1] Tobi Oetiker ,The Multi Router Traffic Grapher
[2]RFC 1157 ,A Simple Network Management Protocol (SNMP)
[3]华为, vrp3.4 命令操作手册