一名真正合格的网管所做的工作不应该仅仅局限在服务器故障发生后,亡羊补牢的工作虽然不算迟,但也会造成一定程度的损失。那么如何有效的监视服务器的状态,在第一时间发现服务器故障及异常甚至在没出现问题前进行预防呢?对服务器的流量进行监控就可以有效的解决上面遇到的所有问题。
今天就为大家介绍一款实用的网络流量监控软件
――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
对流量监控会给你的实际工作带来很大的帮助,可以最有效的防范网络及服务器故障的发生。