使用MRTG监控路由、交换设备(下)
上篇文章我们介绍了如何通过MRTG对路由、交换设备的各个端口的流量进行监控并以网页的形式显示出来。本文中,大家将学到如何构建一个中文流量监控网页同时监控多个设备,如将三个路由设备的端口流量用一个页面显示出来,并提供相应的文字说明。同时,我们还会指导大家配置一个安全、可靠的MRTG流量监控系统。
强大的监控中心indexmaker是MRTG自带的网页制作工具,利用它可以把MRTG生成的CFG文件制作成网页格式的文件,使我们能使用浏览器查看流量信息,而且我们还可用它实现同时监视多台设备。同时,我们还可对index.htm进行编辑,让MRTG生成的网页将设备名等注释信息显示为中文。
1.成立监控中心
通过“perl indexmaker mrtg.cfg>c:\wwwroot\mrtg\index.htm”只能将一个CFG文件的配置信息写入index.htm文件,而且在实际情况中一个设备只能生成一个CFG文件,默认状态下一个监控页面只能对应一个CFG文件。因此,我们可以成立一个监控中心进行统一“监控”。
例如,我们要把1.cfg、2.cfg、3.cfg这三个CFG文件的配置信息都写入同一个index.htm网页文件,通过打开index.htm实现同时监视3个设备的流量,可按以下方法进行修改、设置。
提示:CFG文件就是保存设备各个端口信息的文件。MRTG就是通过读取这个文件将流量监控得到的数据制作成网页的,如果没有这个CFG文件我们就不会知道显示的流量图表对应的是哪个端口。
Step1:登录监控机,进入命令行模式。
Step2:进入MRTG安装目录下的bin目录。
Step3:输入以下指令:
- perl indexmaker 1.cfg>c:\wwwroot\mrtg\index.htm
- perl indexmaker 2.cfg>>c:\wwwroot\mrtg\index.htm
- perl indexmaker 3.cfg>>c:\wwwroot\mrtg\index.htm
现在,我们就可利用index.htm文件同时监控通过三台设备的流量了,一个真正的监控中心打造成功。
2.加强中文支持
如果对生成的网页不进行修改则将显示英文注释,而且注释信息为端口号,非常不直观。我们可以把它们修改为自己熟悉的中文名,方便浏览。
没有经过修改的流量监控图显示的都是英文注释信息。如果我们希望在页面中显示中文注释信息,就需要对index.htm网页进行编辑。
例如,68端口对应的中文名是“外网出口”,可用记事本打开index.htm,通过查找Traffic Analysis for 68将它替换为中文名“外网出口”即可。完成所有中文注释的编写工作并进行保存后即可浏览index.htm,这时你会发现所有的注释信息都变为中文的了。
上面所介绍的只是一个最简单的中文注释信息的编辑工作,如果你使用Dreamweaver进行修改的话还可以制作出更加华丽的监控中心。
3.自动开启MRTG
每次启动MRTG都要进入命令行模式输入“perl mrtg -logging=public.log public.cfg”指令,用于启动MRTG读取public.cfg文件中的端口信息然后对设备进行监视。这种方法对于需要24小时监控的设备不太实用。一旦系统因故障重新启动,极有可能造成MRTG不能运行,使监控出现中断。
方法1:自动登录系统启动MRTG程序
该方法就是在Windows 2000中设置自动登录系统,然后将“mrtg.bat”添加到启动组中。
mrtg.bat的内容如下(假设MRTG安装在C:\mrtg目录下,配置文件为public.cfg):
- c:
- cd mrtg
- cd bin
- perl mrtg -logging=public.log public.cfg
方法2:开机脚本法
将mrtg.bat文件添加到系统开机脚本中即可使它随系统启动而运行,从而自动启动MRTG程序。
进入组策略窗口,在“启动属性”对话框中添加mrtg.bat即可。
提示:该方法有一个问题,那就是由于mrtg.bat文件需要实时监控,这样会造成监控机登录时停留在“运行开机脚本”上,而不能正常登录系统。不过我们仍然可以通过其他计算机使用浏览器访问监控机生成的网页,并随时对流量进行查看。要取消开机脚本,可进入安全模式将mrtg.bat从开机脚本中删除。
方法3:系统服务法
把应用程序添加为服务需要Instsrv.exe和Srvany.exe。Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行(这两个软件都包含在Windows 2000 Resource Kit里)。假设Perl安装在C:\perl目录,MRTG安装在C:\mrtg目录。
Step1:将Instsrv.exe和Srvany.exe复制到mrtg安装目录的bin目录下(如C:\mrtg\bin)。
Step2:进入命令行模式,在mrtg\bin目录下执行“instsrv mrtg “c:\mrtg\bin\srvany.exe””命令使MRTG成为系统服务。
Step3:配置Srvany,在注册表hkey_lo cal_machine\system\currentcontrolset\servic es\mrtg中添加一个parameters项,并在parameters子键中添加以下项目:
application 内容为C:\perl\bin\perl.exe
appdirectory 内容为C:\mrtg\bin
appparameters 内容为mrtg -logging=public.log public.cfg
Step4:进入“服务”窗口,找到mrtg服务,将它设置为自动启动后,MRTG即可全天候监视网络流量,即使系统重新启动后程序也将以服务的形式进行加载。
4.MRTG的安全
最后我们再来谈谈使用MRTG监控流量的安全性问题。
由于MRTG使用了SNMP协议,而SNMP协议发展至今还不是很完善,在一些方面还存在着或多或少的安全问题,所以保证安全和流量监控是“熊掌与鱼”的关系,究竟如何取舍还请各位读者自己决定。
不过,既然我们选择了使用MRTG,也应该在安全上采取一些措施。采用系统默认的认证方式会增加很多危险,所以我们应该修改默认设置,将认证名PUBLIC修改为其他名称,这样才能最大限度地防止黑客的攻击。当然,最好的方法还是使用认证,建议大家在路由器、交换机上使用SNMP V3版本,因为该版本更加安全。
经过这两篇文章的说明,相信大家对MRTG已经非常了解了。合理使用MRTG对流量进行监控会给你的工作带来很大帮助。对于一些中小型企业来说,如果没有专门的经费购买流量监视设备和监控系统,完全可以采用这个免费的MRTG进行流量监视。不用烦琐的配置,你也能完成一些依靠专业设备才能完成的工作。
【编辑推荐】