| MRTG(多路由器流量图示器)Windows 2000部署指南 简介 Mrtg (Multi Router Traffic Grapher,MRTG) 是一个监控网络链路流量负载的工具软件,它可以从所有运行SNMP协议的设备上(包括服务器、路由器、交换机等)抓取到信息,并自动生成包含PNG格式的图形以HTML文档方式显示给用户,如图: [center]
 [/center] 准备工作 硬件环境 IP 系统版本 用途 10.0.0.1 Windows 2000 Professional MRTG管理工作站 10.0.0.2 Windows 2000 Server 被监控的服务器 软件环境 软件名称 版本 下载地址 安装路径 MRTG 2.9.25 http://people.ee.ethz.ch/~oetiker/webtools/mrtg/ C:\Program Files\mrtg\ Active 5.8.0.805 http://www.activestate.com/Products/ActivePerl/ State C:\Perl\ Perl SNMP文件 2000光盘自带 http://www.ph4nt0m.net/down/snmp.rar IPSecPol 2000资源包 http://www.ph4nt0m.net/down/ipsecpol.rar C:\Program Files\Resource Kit\ Services 2000资源包 http://www.ph4nt0m.net/down/services.rar C:\Program Files\mrtg\bin\ Windows 2000 上SNMP的启用 Windows 2000 Server中内含了SNMP网络管理协议,如果你想通过MRTG来监控一台Windows 2000服务器的相关信息,就需要启用该Windows 2000 Server的SNMP协议。 在Windows 2000 Server的 控制面板 中,选择 添加或删除程序 ,点击 添加/删除Windows组件 : [center]
 [/center] 双击 管理和监视工具 ,选中 简单网络管理协议 ,确定 后,选择 下一步 ,完成安装: [center]
 [/center] 注:如果安装中提示插入系统光盘,而你有没有,请下载 SNMP所需系统文件 这样,我们就完成了SNMP协议在Windows 2000中的安装。但是系统默认的Community是通用的Public,虽然只有只读权限,但是出于安全性的考虑,最好修改一下。 打开 控制面板 \ 管理工具 \ 服务 ,选择 SNMP服务 ,双击进入其 属性对话框 ,点击 安全选项卡 ,就可以看到: [center]
 [/center] 在这里,可以修改SNMP的Community,大大提高SNMP的安全性。同时,Windows 2000还提供了IP的筛选,可以指定特别的IP来访问本机的SNMP。这里就不再详细说明。 注:在这里设定IP筛选,虽然只接受指定IP的SNMP查询,但是所有的人都可以看到本地的UDP 161/162端口是开放的,如果对安全性要求较高,建议使用IPSec过滤UDP 161/162端口。 通过IPSec保护SNMP 如果对安全性要求不是太高,就用SNMP的IP筛选功能即可,可以跳过本节。 由于图形界面的IPSec配置比较麻烦,不便于叙述,故本文使用Windows 2000 Resource Kit中的一个工具ipsecpol.exe,从命令行对IPSec进行配置: 下载压缩文件后,将压缩包的文件解压到一个目录,本例中为C:\Program Files\Resource Kit\,运行 命令提示行 ,进入该目录: 1.添加默认拒绝策略: ipsecpol -w REG -p SNMP策略 -r 默认拒绝 -f *+10.0.0.2:161:UDP -f *+10.0.0.2:162:UDP -n BLOCK 2.允许指定主机访问: ipsecpol -w REG -p SNMP策略 -r 允许管理工作站访问 -f 10.0.0.1+10.0.0.2:161:UDP -n PASS 3.指派策略: ipsecpol -w REG -p SNMP策略 -x 这样你就会发现,在 本地安全设置 的 IP安全策略 中,新增了一条已指派的策略 SNMP策略: [center]
 [/center] Windows 2000上MRTG管理工作站的建立 前面的文章中已经讲述了如何在Windows 2000 Server上开启SNMP协议,下面我们将详细讨论如何在Windows 2000平台下建立MRTG的管理工作站。 MRTG管理工作站并不要求建立在Windows 2000 Server的平台上,Professional也可以,只要有IIS的Web服务(或者其他的Web服务)来发布监控结果就可以了。 首先,要在IIS中配置一个Web站点,用于发布MRTG的监控信息,本文假设该站点的根目录为C:\WWWroot\MRTG\。 然后,获取MRTG的Win32版本和ActiveState Perl,分别安装到C:\Program Files\mrtg\和C:\Perl\,为了将MRTG作为系统服务一开机就自动运行,我们还将Windows 2000 Resource Kit中的instsrv.exe和srvany.exe复制到C:\Program Files\mrtg\bin\。 下面我们进行MRTG的配置: 1.进入C:\Program Files\mrtg\bin目录: cd c:\Program Files\mrtg\bin 执行CFGMaker,生成cfg文件: perl cfgmaker phantom@10.0.0.2 --global "WorkDir: C:\WWWroot\MRTG" --output phantom.cfg 这里的phantom是10.0.0.2的Community,MRTG的监控文件保存在C:\WWWroot\MRTG\,输出的配置文件为phantom.cfg,如果你有多台主机要监控,可以在这里分别填入,如: perl cfgmaker phantom@10.0.0.2 phantom@10.0.04 --global "WorkDir: C:\WWWroot\MRTG" --output phantom.cfg perl cfgmaker phantom@10.0.0.* --global "WorkDir: C:\WWWroot\MRTG" --output phantom.cfg 具体细节,参看MRTG的说明。 2.为了让MRTG全天24小时监控,我们在phantom.cfg中加入以下参数,使MRTG每隔5分钟采集一次信息: RunAsDaemon: yes Interval: 5 可以使用命令: echo RunAsDaemon: yes >>phantom.cfg echo Interval:5 >>phantom.cfg 3.使用IndexMaker生成报表首页: perl indexmaker phantom.cfg >C:\WWWroot\MRTG\index.htm 4.运行MRTG: perl mrtg --logging=phantom.log phantom.cfg 访问http://127.0.0.1/MRTG/index.htm看MRTG是否可以正常工作,生成统计图形。如果正常,终止程序,将其配置为系统服务。 将MRTG配置为系统服务: 由于MRTG需要由perl来编译执行,不能直接添加为系统服务,所以,我们使用Windows 2000 Resource Kit中的instsrv.exe和srvany.exe这两个程序来帮助我们把MRTG添加为系统服务: 1.添加srvany.exe为服务: instsrv MRTG "C:\Program Files\mrtg\bin\srvany.exe" 2.配置srvany: 在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG中,添加一个parameters项。再在parameters项中添加以下项目: Application的字串值,内容为C:\Perl\bin\perl.exe AppDirectory的字串值,内容为C:\Program Files\mrtg\bin\ AppParameters的字串值,内容为mrtg --logging=phantom.log phantom.cfg 3.在 控制面板 \ 管理工具 \ 服务 中,找到MRTG服务,启用 服务,MRTG即可全天监视指定主机的网络信息了。 [center]
 [/center] 至此,MRTG已经可以正常运作,即时监控服务器网卡流量了,当然MRTG的功能远不止这些,它可以监控任何一个支持SNMP协议的服务器/路由器的网络流量,CPU占用信息等等。如果你有兴趣可以继续参看 利用MRTG监控Windows 2000服务器高级指导 。
|