Windows2003 MRTG 网络流量统计 监控 监测 查看 工具 软件 配置 使用方法(CMD批处理版)
柳永法(yongfa365)'Blog 倾情奉献
配置交换机流量监控图,并加为服务
装备:perl环境:http://www.onlinedown.net/soft/8364.htm
MRTG文件:http://oss.oetiker.ch/MRTG/pub/http://www.electrasoft.com/srvany/instsrv.exe http://www.electrasoft.com/srvany/srvany.exe
把下载的文件解压放在一个新建的目录MRTG下,最后应该是:MRTG/MRTG
ActivePerl-5.8.8.820-MSWin32-x86-274739.msi
Perl.bat
MRTG.bat
MRTG/MRTG/bin/top.cfg
MRTG/MRTG/bin/instsrv.exe
MRTG/MRTG/bin/srvany.exe
把这个文件夹(MRTG)里的内容复制到c 盘根目录下
你会发现我上面写的多了几个文件Perl.bat
MRTG.bat
MRTG/MRTG/bin/top.cfg
这几个文件的内容是:
Perl.batmsiexec /i ActivePerl-5.8.8.820-MSWin32-x86-274739.msi /quiet /passive
MRTG.batnet stop MRTG
cd C:\MRTG\bin
rd /s /q D:\www\web\MRTG.yongfa365.com
md D:\www\web\MRTG.yongfa365.com
c:\perl\bin\perl cfgmaker public@192.168.0.1 public@192.168.1.1 --global "WorkDir: D:\www\web\MRTG.yongfa365.com" --output c:\MRTG\bin\CNCMRTG.cfg
c:\perl\bin\perl MRTG CNCMRTG.cfg
c:\perl\bin\perl MRTG CNCMRTG.cfg
c:\perl\bin\perl MRTG CNCMRTG.cfg
instsrv MRTG c:\MRTG\bin\srvany.exe
regedit /s MRTG.reg
type top.cfg >temp.cfg
type CNCMRTG.cfg >>temp.cfg
type temp.cfg >CNCMRTG.cfg
rem echo RunAsDaemon: yes >>CNCMRTG.cfg 这个是让页面自动刷新rem echo Interval:5 >>CNCMRTG.cfg 让他五分钟从远程取一次数据,这哥们设计的是只能是>5分钟的,小于5就报错.让用rrdtool
rem echo Language: chinese >>CNCMRTG.cfg 配置为中文输入法
rem echo Options[_]: growright, bits >>CNCMRTG.cfg 线的方向改为从右向左
perl indexmaker --output=D:\www\web\MRTG.yongfa365.com\index.htm c:\MRTG\bin\CNCMRTG.cfg
net start MRTG
start D:\www\web\MRTG.yongfa365.com\index.htm&exit
MRTG/MRTG/bin/top.cfgRunAsDaemon: yes
Interval:5
Language: chinese
Options[_]: growright, bits
OK一切都准备好了,现在开始双击perl.bat,运行完后双击MRTG.bat,然后大笑三声,然后说:我成功了.
#############################网上提供的较好的方法[一]##############################
如何在WINDOWS 2003 中配置MRTG并设置为服务
在安装使用MRTG之前,你需要在你的服务器里安装SNMP 服务。具体步骤如下:从控制面板中选择添加/删除程序,点击添加和删除windows组件。管理和监视工具中的详细资料里就可以找到简单网络管理协议,即可安装。
由于SNMP在网络上不是一个安全的协议,安装成功后,你需要立刻安全配置一下。更具体的你可以参考一下"如何在 Windows Server 2003 中为 SNMP 服务配置网络安全" http://support.microsoft.com/?kbid=324261 。我这里配置只是在本地使用SNMP,但是还是建议你通过防火墙屏蔽SNMP的161与162端口和使用IPSec。并且要配置为 obscure community string。在管理工具中,在服务中选择安全,设为只读访问。尽管community string安全问题不多,但是你还是要使community string为只读访问。
MRTG是一个用Perl编译的C程序。你还要安装ActivePerl来解决支持脚本的问题。ActivePerl可以从到http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.7.815-MSWin32-x86-211909.msi 下载。接下来下载最新的MRTG。可以到http://people.ee.ethz.ch/~oetiker/webtools/MRTG/pub/ 下载,注意要选择.zip的文件下载。这篇文章所使用的版本请到http://people.ee.ethz.ch/~oetiker/webtools/MRTG/pub/MRTG-2.13.2.zip 下载。
把MRTG解压到C:\MRTG目录下。
在你的Inetpub目录下为MRTG建立一个子目录。为了安全,不要建立在wwwroot目录下。然后,使用IIS建立一个MRTG的新站点。如果可能的话,最好能为MRTG站点配置一个主机头和一个独立的IP。也可以在一个已存在的目录下为MRTG站点建立一个合法的虚拟目录,也能达到同样的目的。
注意,在新建立的MRTG站点不要运行可执行的脚本,只提供只读访问。在NTFS下,要注意对用户的权限的设置。如果可能的话,最好对指定MRTG站点的IP来选择特定的主机。
现在,就可以把配置文件放到C:\MRTG\Bin下了,或者创建一个:
C:\MRTG\bin>c:\perl\bin\perl cfgmaker spring@localhost --global "WorkDir: c:\web\MRTG" --output MRTG.cfg
下面,我们来测试一下,在命令提示符下输入:
C:\MRTG\bin>c:\perl\bin\perl MRTG MRTG.cfg
如果连试三次以后不再出现错误提示的话,就会在在你的MRTG站点就有了一些配置文件。如果安装失败,你可以回顾一下你安装的步骤,是否有错误,并参考MRTG 的参考手册。
接下来你可能要想将MRTG设置为服务,一开机就能自动运行。你就需要下载一下SRVANY来解决这个问题。你可以参考http://www.iopus.com/guides/srvany.htm
下载好instsrv.exe和srvany.exe并把他们放在C:\MRTG\bin里面。然后执行安装。
C:\MRTG\bin>instsrv MRTG c:\MRTG\bin\srvany.exe
安装好以后需要修改注册表,建立一个MRTG.reg文件,编辑它并加上如下内容:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG\Parameters]
"Application"="c:\\perl\\bin\\wperl.exe"
"AppParameters"="c:\\MRTG\\bin\\MRTG --logging=eventlog c:\\MRTG\\bin\\MRTG.cfg"
"AppDirectory"="c:\\MRTG\\bin\\"
双击MRTG.reg并把它注册表以后,就配置好服务了。以后可以在控制面板,管理工具,服务中启动MRTG就行了。
源:http://www.cublog.cn/u/6402/showart.php?id=159064
#############################网上提供的较好的方法[二]##############################
MRTG (Multi Router Traffic Grapher,MRTG) 是一个监控网络 链路流量负载的工具软件,它可以从所有运行SNMP协议的设备(包括服务器、路由器、交换机等)抓取到信息,并自动生成包含PNG格式的图形以HTML文档方式显示给用户。
首先,要在IIS中配置一个Web站点,用于发布MRTG的监控信息,本文假设该站点的根目录为c:/MRTG,然后,获取MRTG的Win32版本和Activeperl,分别安装到d:/MRTG/和c:/usr/,为了将MRTG作为系统服务一开机就自动运行,我们还将Windows 2000 Resource Kit 中的instsrv.exe和srvany.exe复制到d:/MRTG/bin
官方网站:http://people.ee.ethz.ch/~oetiker/webtools/MRTG/
Windows 2000 Server中内含了SNMP 网络 管理协议,如果你想通过MRTG 来监控一台Windows 2000服务器的相关信息,就需要启用该Windows 2000 Server 的SNMP 协议.
系统默认的Community 是通用的Public,虽然只有只读权限,但是出于安全的考虑,最好修改一下。
SNMP使用的是UDP协议 161/162 端口
可网管交换机,路由器本来就有SNMP协议,不需添加
假设我们要监控的设备的IP是202.108.36.172
下面我们进行MRTG的配置:
1.进入 d:/MRTG/bin 目录:
cd d:/MRTG/bin
执行 cfgmaker,生成cfg文件:
perl cfgmaker public@202.108.36.172 --global "WorkDir: c:/MRTG" --output MRTG.cfg
这里的public是202.108.36.172的Community,MRTG的监控文件保存在C:/MRTG/,注意WorkDir:与c:/MRTG中间必需要有空格,输入的配置文件为MRTG.cfg,如果有多台设备要监控,可以在这里分别填入,如:
perl cfgmaker public@202.108.36.172 public@202.108.36.173 --global "WorkDir: c:/MRTG" --output MRTG.cfg
2.为了让MRTG全天24小时监控,我们在MRTG.cfg中加入以下参数,使MRTG每隔5分钟采集一次数据。
RunAsDaemon:yes
Interval:5
可以使用命令:
echo RunAsDaemon:yes >>MRTG.cfg
echo Interval:5 >>MRTG.cfg
使用中文:
echo language:chinese>>MRTG.cfg
3.使用IndexMaker生成报表首页:
perl indexmaker MRTG.cfg>c:/MRTG/index.htm
4.运行MRTG:
perl MRTG --logging=MRTG.log MRTG.cfg
访问http://yourserver/index.htm 看MRTG是否可以正常工作,生成统计图形。如果正常,终止程序,将其配置为系统服务。
将MRTG配置为系统服务:
由于MRTG需要由perl来编译执行,不能直接添加为系统服务,所以我们使用Windows 2000 Resource Kit 中的instsrv.exe和srvany.exe这
两个程序来帮助我们把MRTG添加为系统服务。
1 添加srvany.exe为服务:
instsrv MRTG "d:/MRTG/bin/srvany.exe"
2 配置srvany:
在注册表 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlset/servicesMRTG 中添加一个 parameters 子键。再在 parameters 子键中添加以下项目:
Application的字串值,内容为 C:/usr/bin/perl.exe
AppDirectory 的字串值,内容为d:/MRTG/bin/
AppParameters的字串值,内容为 MRTG --logging=MRTG.log MRTG.cfg
有用的参数
Options[_]: growright, bits
RunAsDaemon:yes
Interval:5
language:chinese
源:http://blog.sina.com.cn/u/4b467278010008kq
引用本页地址:
http://www.yongfa365.com/item/629ff67eb831cff1.html