使用MRTG监控路由、交换设备(上)
一名真正合格的网管所做的工作不应该仅仅局限在网络故障发生后,亡羊补牢的工作虽然不算迟,但损失的产生是不可避免的。那么,如何有效地监视网络状态,能在第一时间发现网络故障,在网络还没出现问题时进行预防,并合理地划分带宽资源呢?对网络流量进行监控就可以有效地解决以上难题。现在笔者要为大家介绍的就是网络流量监控领域的行家—MRTG。
本文中,笔者向大家介绍如何通过MRTG对路由器或三层交换机进行监控。MRTG会利用SNMP协议(简单网络管理协议)监控、管理通过路由、交换设备的各个端口的流量。当然,笔者还会指导大家安装MRTG并在设备上启用SNMP协议以支持MRTG。
小知识 流量监控
大家都知道数据包形成数据流,就好比水流一样,所以我们对带宽采用流量这个名词来定义,及时了解网络流量对于排除网络故障能够起到很大的作用。很多公司都拥有路由、交换设备,这些设备担负着实现公司网络连接的重任,所以,了解通过路由、交换设备的各个端口的流量是非常重要的,只有对流量进行监控才能有效地管理网络带宽,提高企业网络的工作效率。
安装MRTG
不管我们要对何种设备进行监控,都需要找到一台操作系统为Windows 2000的计算机(计算机A),并为它安装MRTG,用来接收数据流量。在Windows系统上安装MRTG需要Perl的支持,所以我们需要先安装Perl插件。此外,由于数据流量将以网页的形式体现出来,所以需要在计算机A上安装IIS服务(由于篇幅限制,IIS的安装就不作介绍了)。
Step1:Perl的安装比较简单,目前使用的一般是Active Perl for Windows。
Step2:进行安装时,如果遇到“是否使用PPM3发送个人信息至ASPN”,我们可以跳过。
Step3:安装MRTG程序。由于MRTG是一个用Perl编写的程序,所以不需要安装,下载后直接解压即可。我们将它解压到“C:\mrtg”目录。现在我们就完成了安装工作。
小知识 Perl
和很多用JAVA编写的程序在使用时需要安装JDK一样,MRTG需要Perl程序的支持,所以在使用MRTG之前一定要在计算机A上安装Perl。Perl和JAVA一样也是一种语言,不过Perl主要在Linux和UNIX系统下使用,由于本例是在Windows下安装MRTG,而默认情况下Perl组件没有安装在Windows操作系统中,所以我们需要为计算机A安装相应的Perl语言库,就如同我们运行VB程序有时需要安装VB语言库一样。
监控Cisco设备
虽然我们在计算机A上安装了MRTG,但被监控的设备没有启用SNMP协议而且没有配置接受SNMP的目的地址,因此我们还需要在被监控设备上进行相应的配置。现在,让我们来看看如何使用计算机A监视通过Cisco 6509交换机各个端口的流量,以便数据发生异常时即时采取防护措施。
Cisco的高端产品6509交换机作为被监视设备,端口IP地址为10.91.30.1。选择安装了MRTG的计算机(计算机A)作为监视设备,IP地址为10.91.30.45。
小知识 SNMP
SNMP也叫简单网络管理协议,它用于记录网络流量信息,不管是网管软件还是流量监控软件都需要SNMP协议的支持。由于本例需要监控通过路由、交换设备各个端口的流量,所以需要在路由、交换设备上启用SNMP协议,并指定接收SNMP记录信息的目的地址。通过这些设置,路由、交换设备就可以对通过端口的数据信息进行记录并发送到指定的目的地。
1.Cisco 6509上的配置
下面我们需要进入6509将SNMP协议启动并指定数据接收目的地。
Step1:进入计算机A的命令提示符窗口,输入“telnet 10.91.30.1”登录6509设备。
Step2:输入正确的密码后,进入6509配置模式,接着输入以下指令。
snmp-server community softer RO \\设置SNMP的团体名为softer。
snmp-server trap-source FastEthernet0/1 \\以Fa0/1端口为监控源,如果不输入此行,将以设备自身的ROUTER ID作为监控源。
snmp-server contact softer@163.com \\设置管理者的邮箱地址。
snmp-server host 10.91.30.45 softer \\设置管理机的IP地址为10.91.30.45(计算机A的IP地址),并设置团体名(softer)。
snmp-server enable traps \\启动监控。
Step3:保存设置并退出后即可完成在6509设备上的所有配置。
2.计算机A上的配置
现在我们就需要在计算机A上设置MRTG让它接收6509交换机的SNMP信息,并将这些信息制作成网页的形式进行发布。在计算机A上配置好IIS的发布目录并正确安装Perl和MRTG程序后,重新启动计算机并进行如下操作。
Step1:打开计算机A的命令提示符窗口,然后进入C:\mrtg\bin目录。
Step2:输入“perl cfgmaker softer@10.91.30.1 --global "WorkDir: c:\www\ mrtg" --output mrtg.cfg”。其中,“softer”是团体名,“10.91.30.1”是6509设备上的端口IP地址。
Step3:输入“perl indexmaker mrtg.cfg>c:\wwwroot\mrtg\index.htm”后即可生成index.htm文件。
Step4:输入“perl mrtg -logging=mrtg.log mrtg.cfg”启动MRTG进行监控。从“mrtg.cfg”中读取配置并启动MRTG程序,同时记录日志信息到“mrtg.log”中。
完成以上设置工作后,我们就可以通过浏览器访问“10.91.30.45”,查看通过6509的各个端口的流量。如果你希望每5分钟刷新一次流量统计,则可以用记事本编辑“mrtg.cfg”,在最后加上“runasdaemon:yes”和“interval:5”(interval后的5表示每5分钟刷新一次,可根据实际情况进行修改)。
提示:在访问10.91.30.45查看流量时,一定要注意输入的地址应和IIS中配置的地址一致,同时还要注意虚拟目录的问题,只有输入正确的地址才能正常显示流量图。
监控华为设备
对于华为设备的监控基本上和对Cisco设备进行监控一样,只是在路由器配置命令上有些区别,而计算机A的配置步骤是一样的。在此,笔者只给出在华为2621上启用SNMP协议并指定数据接收目的地的指令。
snmp-agent community read softer \\设置团体名为softer,属性为只读。
snmp-agent sys-info contact softer@163.com \\设置管理者的邮箱地址。
snmp-agent target-host trap address 10.91.30.45 securityname softer \\设置管理机的IP地址为10.91.30. 45,而且“securityname”(即团体名)要与上面的设置一致。
snmp trap enable \\启动监控。
监控效果
大家可以从图中看到我们对核心设备6509实施的“24×7”小时的流量监控,该软件对所有已经使用的端口(即连有客户机的端口)都进行了实时监控,并绘制出了准确的图表,非常直观。如果想看到更多的分时、分段的图表,还可以直接点击流量图进一步查看。另外,我们还可利用网页制作工具对生成的网页进行修饰、编辑,制作出美观大方的专业的流量监视控制台。
通过在路由器或交换机上配置MRTG我们可以直观地了解网络中各个部分的带宽使用情况,第一时间发现异常情况,有效防范黑客和病毒的攻击。同时,还可以根据各个端口使用带宽的情况对网络带宽进行合理划分
【编辑推荐】