您的位置:首页 > 运维架构

MRTG for Windows 2003 流量监控(批处理版)

2007-04-20 08:28 330 查看
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 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
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 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: