Windows2003 MRTG 网络流量统计 工具 软件 配置 监控 使用方法(CMD批处理版)
柳永法(yongfa365)'Blog 倾情奉献
原文件地址:http://www.yongfa365.com/blog/item/629ff67eb831cff1.htm
配置交换机流量监控图,并加为服务
装备:
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.bat
msiexec /i ActivePerl-5.8.8.820-MSWin32-x86-274739.msi /quiet /passive
Mrtg.bat
net 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 [email protected] [email protected] --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
D:/www/web/mrtg.yongfa365.com/index.htm
MRTG/MRTG/bin/top.cfg
RunAsDaemon: 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 [email protected] --global "WorkDir: c:/mrtg" --output mrtg.cfg
这里的public是202.108.36.172的Community,MRTG的监控文件保存在C:/mrtg/,注意WorkDir:与c:/mrtg中间必需要有空格,输入的配置文件为mrtg.cfg,如果有多台设备要监控,可以在这里分别填入,如:
perl cfgmaker [email protected] [email protected] --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