用MRTG实现网络流量监控

2010-08-28 10:50:27来源:西部e网作者:

    随着各单位网络的快速发展,网管们越来越渴望通过对网络状态和流量的监视来了解网络运行状况,提高网络的安全和控制。这里我们就带各位网管一起用MRTG来进行高效管理的方法。

  最常用的管理协议就是简单的网络管理协议(SNMP,Simple Network Management Protocol)。而我们用的MRTG(Multi Router Traffic Grapher)就是通过SNMP协议实现管理工作站与设备代理进程间的通讯,完成对设备的管理和运行状态的监视。

  MRTG网络流量监视系统由WEB服务器、Active Perl 、SNMP协议和MRTG流量采集四部分构成,由于MRTG系统的运行需要系统组件“管理和监视工具”,所以在安装MRTG系统前,请确认操作系统组件“管理和监视工具”已经安装。整个系统的安装配置步骤如下:

  1、 安装WEB服务器

  MRTG系统的流量信息是以网页的形式存放在管理工作站上,网上的任何机器都可以通过浏览器来查看网络的流量信息。所以在使用MRTG系统前,需安装一个WEB服务器,并将流量信息存放到WEB的主目录上或子目录上,以便进行WEB查看。本文中我们使用IIS5.0服务器作为WEB服务器,安装的平台为Windows XP,大家可以根据自己的实际情况选择平台。

  WEB服务器安装完成后,创建c:\web\mrtg(根据磁盘情况和个人喜好,自己确定目录位置和名称)目录,用于存放流控主页和MRTG产生的流量信息文件,并将该目录设为WEB服务器的主目录。

  2、 安装Active Perl for Windows

  MRTG是用Perl语言编写的,它需要在Perl语言解释器环境下运行,所以在使用MRTG前需要安装Perl语言解释器Active Perl。我们使用Active Perl for Windows来运行MRTG系统。可以从www.activestate.com/Products/ActivePerl/处下载Active Perl的最新版本,当前版本为Active Perl 5.8.6.811。

  3、 配置被监控设备的SNMP协议

  要实现对设备的监控,需要在被监控的设备上设置SNMP协议。这里我们以常用的思科(CISCO )路由器为例进行说明。

  配置如下:

  snmp-server community NetCtrl01 R

  snmp-server packetsize 2048

  snmp-server enable traps snmp authentication

  snmp-server enable traps vtp

  snmp-server enable traps config

  snmp-server enable traps entity

  snmp-server host 192.168.1.66 NetCtrl01

  如果你是单位的内联网系统管理员,其实,使用网络设备的现有SNMP配置就可以了,不需额外增加东西。

  4、 安装MRTG网络监视

  有了以上环境,就可以安装MRTG监视系统了,这是MRTG安装的核心。可以从people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/ 下载,现在最新的版本是mrtg-2.11.1.zip 。下载后解压到c:\mrtg 目录下。

  具体安装步骤如下如下:

  ① 从Windows中进入DOS环境下;

  ② 进入目录c:\ mrtg\bin

  ③ 使用perl mrtg 命令测试MRTG是否正确,即输入perl mrtg后按回车,系统返回到DOS,无异常现象出现;

  ④ 生成相应网络设备的MRTG系统的配置文件,本例为4个设备:Cisco 3662、Cisco 7206、Cisco 4006、Cisco 4506。在目录c:\ mrtg\bin下,输入如下命令:

    perl cfgmaker NetCtrl01@192.168.1.55 --global "WorkDir: c:\web\mrtg\3662" --output “c:\web\mrtg\3662\cisco3662.cfg”

    perl cfgmaker NetCtrl01@192.168.1.65 --global "WorkDir: c:\web\mrtg\7206" --output “c:\web\mrtg\7206\cisco7206.cfg”

    perl cfgmaker NetCtrl01@192.168.1.75 --global "WorkDir: c:\web\mrtg\4006" --output “c:\web\mrtg\4006\cisco4006.cfg”

    perl cfgmaker NetCtrl01@192.168.1.85 --global "WorkDir: c:\web\mrtg\4506" --output “c:\web\mrtg\4506\cisco4506.cfg”

  这样,在对应目录下,就生成了相应设备的MRTG配置文件了。

  执行完成后,将绑定网络设备的所有端口,并在output指定的目录下生成指定的MRTG配置文件。

  ⑤ 运行下面的命令,生成设备当时的流量相关文件

  C:\mrtg\bin>perl mrtg c:\web\mrtg\3662\cisco3662.cfg

  C:\mrtg\bin>perl mrtg c:\web\mrtg\7206\cisco7206.cfg

  C:\mrtg\bin>perl mrtg c:\web\mrtg\4006\cisco4006.cfg

  C:\mrtg\bin>perl mrtg c:\web\mrtg\4506\cisco4506.cfg

  命令执行后,在WorkDir指定的目录里生成以IP+端口命名的网页和一些png图片,这些图片就是网络当时的流量图。刚开始生成后很多都是空白的,需要让它自动运行一段时间后才可以有图形表现出来。

  这样,我们就很轻松地建立起了一个完整的统一网管系统。当然,我们还可以使用indexmaker命令来生产流量网页的索引文件、编制自动批处理文件和统一管理网页,来完善我们的管理操作。

关键词:MRTG网络流量

相关阅读: