网络流量监控软件――MRTG(Multi Router Traffic Grapher)

一名真正合格的网管所做的工作不应该仅仅局限在服务器故障发生后,亡羊补牢的工作虽然不算迟,但也会造成一定程度的损失。那么如何有效的监视服务器的状态,在第一时间发现服务器故障及异常甚至在没出现问题前进行预防呢?对服务器的流量进行监控就可以有效的解决上面遇到的所有问题。
    今天就为大家介绍一款实用的网络流量监控软件 ――MRTG(Multi Router Traffic Grapher) ,它通过 snmp 协议从设备得到流量信息,这样我们就可以监视通过服务器网卡的流量了,另外该软件还可以把流量数据以网页图表的方式显示出来,间隔时间可以是 5 分钟, 30 分钟, 2 小时或 1 天等多个选项,对生成的网页通过一般的网页编辑软件也可以进一步修改和美工。

MRTG 小档案:
    软件版本: MRTG V 2.12.1 for windows         软件大小: 1558 KB
   
软件性质:免费软件              运行平台: Window 98/2000/NT/XP/2003
  
服务器监控篇:
    通过本文我们将学会使用计算机 B 监视通过服务器 A 网卡的流量,如果服务器 A 是一个 WEB 服务器的话我们就可以实时的监控访问该 WEB 站点的流量数据,当数据发生异常时即时采取防护措施了。
实验环境:
    服务器 A 操作系统 WIN2000SERVER WEB 服务器, IP 地址为 10.91.103.2 。计算机 B 操作系统 WIN2000PRO IP 地址为 10.91.103.5
 
 
服务器 A 上的配置:
    配置描述:由于 MRTG 是使用 SNMP 协议管理及监控流量,所以需要在服务器 A 上启用 SNMP 功能。
    STEP1 :在服务器 A 的控制面板中选择 添加或删除程序
    STEP2
:然后点击左边的 添加删除 WINDOWS 组件 ,在 WINDOWS 组件中选中 管理和监视工具 点右下方的 详细信息 按钮。

    STEP3
:在 管理和监视工具 详细信息中选择 简单网络管理协议 (即 SNMP 协议)进行安装。

    STEP4
:安装完毕后 2000SERVER 默认 community 是通用的 PUBLIC ,虽然只有只读权限,不过出于安全考虑还是建议大家进一步做设置。当然如果安全性要求不是很高的话就可以到此为止结束服务器 A 上的配置。为了保证安全我们继续打开 " 控制面板 -> 管理工具 -> 服务 ", 选择 SNMP 服务,双击进入属性对话框,选择安全选项卡标签。

    STEP5
:在 SNMP 服务安全标签中我们可以看到默认的只读权限 public 团体,为了安全我们删除他,并添加自己希望的团体名并设置相应的权限,然后在上方的 发送身份验证陷阱 前打勾,保存退出即可。
 
 
计算机 B 上的配置:
    配置描述:在 WINDOWS 系统上安装 MRTG 需要 PERL 的支持,所以我们需要先安装 PERL 插件,另外由于流量数据将以网页的形式体现所以需要在计算机 B 上安装 IIS 服务。(由于篇幅限制关于 IIS 的安装这里就不做描述了)
    STEP1 Perl 的安装比较简单,目前使用的一般是 Active Perl for windows ,我们可以到 [url]http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.0.805-MSWin32-x86.msi[/url] 下载。
    STEP2 :下载完毕直接安装遇到 是否使用 PPM3 发送个人信息至 ASPN” 时我们跳过不安装即可,整个安装过程会比较长,安装完毕重新启动计算机让 PERL 生效。
    STEP3 :安装 MRTG 程序,由于 MRTG 是一个 Perl 写的程序,所以不需要安装,下载后直接解压即可。这里我们解压到 C:\MRTG 目录。
    STEP4 :配置 MRTG ,首先进入命令行模式(开始 -> 运行 -> 输入 CMD )。进入 c:\mrtg\bin 目录。输入如下指令:
    1 perl cfgmaker [email protected] --global "WorkDir: c:\www\mrtg" --output mrtg.cfg( 团体名为 public,10.91.103.2 WEB 服务器的 IP c:\www\mrtg 为要生成的网页目录,同时也是在 IIS 中已经配置好的发布目录 , 完成该命令后会生成一个名为 mrtg.cfg 的配置文件)

    2
perl indexmaker mrtg.cfg>c:\wwwroot\mrtg\index.htm
(使用 INDEXMAKER MRTG.CFG 文件中的内容转换成 index.htm ,方便我们进行浏览管理。)

    3
perl mrtg -logging=mrtg.log mrtg.cfg (从 MRTG.CFG 中读取配置并启动 MRTG 程序,同时记录日志信息到 mrtg.log 中)执行完 perl mrtg -logging=mrtg.log mrtg.cfg 后就会发现命令行模式开始实时监控。
 
     所有工作完成以后我们就可以通过 WEB 浏览 10.91.103.5 即时查看通过 WEB 服务器 10.91.103.2 网卡的流量了。当然如果我们希望每隔一段时间监控一次的话,还需要用记事本编辑刚才生成的 mrtg.cfg 文件,在其最后添加如下两行内容:(其中 interval 后的 5 表示每 5 分钟刷新一次进行监视,我们可以根据实际情况进行修改)
    runasdaemon:yes
    interval:5
 
提示:
    在访问 10.91.103.5 查看流量时一定注意输入的地址要和 IIS 中配置的地址一致,这里还要注意虚拟目录的问题,只有输入正确的地址才能正常显示出流量图来。
总结:
    MRTG 软件已经在本人所在公司使用了很长一段时间,运行稳定没有出现过问题,对于流量大的网络也可以正常监控。读者们可以从图 5 中查看我们对公网 WEB 服务器实施的 24*7 小时监控流量图 , 当然如果想了解更多的分时分段图表还可以直接点流量图进一步查看。另外生成的网页我们还可以使用 DREAMWEAVER 等制作工具进行修饰编辑,这样就可以制作出更美观大方专业的流量监视控制台了。
 
    IT168 专稿】在上一篇文章中( 服务器安全:MRTG打造流量监视器 ),我们介绍了如何通过 MRTG 对服务器的网卡流量进行监控并以网页的格式显示出来。当然在生成网页操作过程中我们只进行了简单介绍,而且 MRTG 程序需要每次系统启动都手工加载比较麻烦。本期就为大家介绍如何通过 indexmaker 制作更高级的网页流量监视图并且配置 MRTG 随系统自动启动,当然也会涉及到一些 MRTG 管理的安全性问题。
 

一、 indexmaker 的高级使用
    indexmaker MRTG 自带的网页制作工具,通过他可以把 MRTG 生成的 CFG 文件制作成 HTML 格式的文件让我们可以使用浏览器直接查看流量信息。不过使用 perl indexmaker mrtg.cfg>c:\wwwroot\mrtg\index.htm 指令生成的网页只能监控一台服务器,要想使用一个 index.htm 文件同时监视多台服务器怎么办呢?另外由 MRTG 生成的网页是以服务器名或端口号为标识的,非常不直观,我们能不能编辑修改他使用中文标识呢?下面就由我为大家介绍如何实现这些功能。
1 、监控中心的制作
    理论上我们通过 perl indexmaker mrtg.cfg>c:\wwwroot\mrtg\index.htm 只能将一个 CFG 文件的配置信息写入 INDEX.HTM 文件,当我们想把 1.cfg,2.cfg,3.cfg 这三个 CFG 文件的配置信息都写入一个 index.htm 文件,这样通过打开 index.htm 就可以同时监视这 3 个文件所对应的设备的流量了。
    第一步:在监控机上进入命令行模式( 开始 -> 运行 ->CMD” )。
    第二步:进入 MRTG 安装目录下的 BIN 目录。
    第三步:输入
    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 文件就可以同时监控通过 1 2 3 三台设备的流量了,真正打造了自己的监控中心。
   
2 、中文标识的应用
    如果对生成的网页不进行修改的话将是英文注释,而且注释信息为端口号非常不直观。我们要把他修改为自己希望的中文名,方便我们浏览。
    第一步:没有经过修改的流量监控图都是英文注释。 对于各个端口 IP 对应的实际线路一定要做出一个对应表格来,然后我们才能根据这个表格的对应关系对 index.htm 网页进行修改。

   
第二步:例如 68 端口对应的中文名是 外网出口 ,则用记事本打开 index.htm ,通过查找 Traffic Analysis for 68 将其替换为你所希望的中文名 外网出口 即可。
    第三步:当我们完成了所有中文注释工作并保存退出后就可以浏览 index.htm ,这时会发现所有注释信息都变成了中文。

   
上面介绍的只是一个最简单的中文注释的编辑工作,当然如果你使用 DREAMWEAVER 来修改的话还可以制作出更加优美更加华丽的监控中心。
 
 
二、 MRTG 的自启动设置
    每次启动 MRTG 都要进入命令行模式输入 perl mrtg -logging=public.log public.cfg ,对于 24 小时监控的设备会带来不方便,因为一旦系统因故障重新启动的话由于不能自动进入到桌面,造成 MRTG 不能运行,使监控出现中断。

方法 1 :自动登录系统启动 MRTG 程序法
    该方法就是在 WIN2000 中设置自动登录系统,然后将 mrtg.bat 添加到启动组中。
    MRTG.BAT
的内容如下:(假设 MRTG 是安装在 e:\mrtg 目录下 , 配置文件为 public.cfg     
    e:
    cd mrtg
    cd bin
    perl mrtg -logging=public.log public.cfg
    小提示:关于如何设置 WIN2000 自动等录系统不在本文讨论的话题之内,如果有读者感兴趣可以查看电脑报以前的相关内容。
 
方法 2 :开机脚本法
    将上面保存的 mrtg.bat 文件添加到系统开机脚本中即可随系统启动而运行该文件,从而自动启动 MRTG 程序。添加开机脚本的方法为 开始 -> 运行 ->GPEDIT.MSC” ,组策略中选择 计算机配置 ->WINDOWS 设置 -> 脚本 -> 启动脚本 ”, 双击后在弹出窗口中选择 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 目录下。
    第一步:将 instsrv.exe Srvany.exe 复制到 mrtg 安装目录的 BIN 目录下。例如 c:\mrtg\bin
    第二步:在 MRTG\BIN 目录下执行 instsrv mrtg "c:\mrtg\bin\srvany.exe" 安装 MRTG 为系统服务。
    第三步:配置 SRVANY ,在注册表 hkey_local_machine\system\currentcontrolset\services\mrtg 中添加一个 parameters 项,再在 parameters 子键中添加以下项目:
application
的字串值,内容为 c:\perl\bin\perl.exe
appdirectory
的字串值,内容为 c:\mrtg\bin\
appparameters
的字串值,内容为 mrtg -logging=public.log public.cfg
 
第四步:在 控制面板 -> 管理工具 -> 服务 中找到 mrtg 服务, 将其设置为自动启动后 MRTG 即可全天监视网络流量,即使系统重新启动后程序也将以服务的形式加载。

三、 MRTG 管理的安全性
    最后我们再来谈谈关于使用 MRTG 监控流量的安全性问题,由于 MRTG 使用了 SNMP 协议,而 SNMP 协议的安全性一直没有保证,所以保证安全和流量监控是一个熊掌与鱼翅的关系,究竟做何取舍还请各个读者自己决定。不过既然我们选择了使用 MRTG 的话也要在安全上做些防护措施,如果采取系统默认的社区名的话则增加了很多危险,所以我们应该修改默认社区名,将 PUBLIC 修改为其他名字,这样才能最大限度的防止黑客的攻击,同时如果可以使用认证的话建议大家在路由器交换机上使用 SNMPv3 版本,因为 V3 版本更加安全。
总结:
    经过这两期关于 MRTG 监视工具配置的介绍,我们从无到有,从有到精的了解了 MRTG 的安装使用配置及后期工作,相信合理的使用 MRTG 对流量监控会给你的实际工作带来很大的帮助,可以最有效的防范网络及服务器故障的发生。
 
 

你可能感兴趣的:(网络,软件,监控,mrtg,流量)