MRTG安装指南11Word文档下载推荐.docx
《MRTG安装指南11Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MRTG安装指南11Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
1.1mrtg的安装5
1.2Perl的安装6
1.3生成MRTG默认的配置文件(如mrtg.cfg)7
1.4启动MRTG8
1.5使用心得10
2LINUX系统下的安装11
2.1安装支持软件11
2.2MRTG的安装11
2.3配置SNMP服务12
2.4配置MRTG13
2.5运行mrtg16
图目录
图1mrtg安装5
图2perl安装6
图3path目录添加7
图4生成配置文件8
图5启动MRTG8
图6生成HTML文件9
图7生成index.html文件9
图8运行结果10
MRTG(MultiRouterTrafficGrapher,MRTG)是基于SNMP的典型网络流量统计分析工具。
它不仅耗用的系统资源小,而且是完全免费的。
它通过SNMP协议从设备得到其流量信息,并将流量负载以包含JPEG格式图形的HTML文档的方式显示给用户,以非常直观的形式显示流量负载。
是一款应用非常广泛的网络流量统计工具。
mrtg具有以下特色:
可移植性:
目前可以运行在大多数Unix系统和WindowsNT之上。
源码开放:
Mrtg是用perl编写的,源代码完全开放。
高可移植性的SNMP支持:
Mrtg采用了SimonLeinen编写的具有高可移植性的SNMP实现模块,从而不依赖于操作系统的SNMP模块支持。
支持SNMPv2c:
MRTG可以读取SNMPv2c的64位的记数器,从而大大减少了记数器回转次数。
可靠的接口标识:
被监控的设备的接口可以以IP地址、设备描述、SNMP对接口的编号及Mac地址来标识。
常量大小的日志文件:
MRTG的日志不会变大,因为这里使用了独特的数据合并算法。
自动配置功能:
MRTG自身有配置工具套件,使得配置过程非常简单。
性能:
时间敏感的部分使用C代码编写,因此具有很好的性能。
PNG格式图形:
图形采用GD库直接产生PNG格式。
可定制性:
MRTG产生的web页面是完全可以定制的。
现在就根据自己的实际工作,讲解一下如何使用MRTG来监控交换机每个端口的流量。
1WINDOWS系统下的安装
环境介绍:
MRTG安装在windows2000管理工作站上
需要管理的两台交换机:
FounderyServeriron800四层交换机(IPaddress:
10.86.11.138)
FounderyBigiron8000路由交换机(IPaddress:
10.86.11.139)
准备工作:
下载PerlforWindowsNT/2000(
注意一定要下载版本5.005或更新的。
下载:
MRTGforWindowsNT/2000
(http:
//people.ee.ethz.ch/~oetiker/webtools/mrtg/pub)
需要知道交换机设备的read-onlySNMPcommunitystring
笔者实际使用:
ActivePerl-5.8.0.804-MSWin32-x86.zip
mrtg-2.9.25.zip
两台交换机的read-onlySNMPcommunitystring都是sdcdn
注:
目前两个软件都有新的版本,请下载新的版本,同时,有些功能需要新版本支持,以前做项目对尚阳科技的接入服务器进行在线用户统计的时候发现新的MRTG2.10.13可以运行成功,但以前的版本就读不下来,所以请及时更新。
1.1mrtg的安装
只需把mrtg-2.9.25.zip解压到windows2000管理工作站上C:
\mrtg目录下即可
图1mrtg安装
1.2Perl的安装
将ActivePerl-5.8.0.804-MSWin32-x86.zip解压后,会产生一个批处理文件:
Installer.bat,双击installer.bat。
按照提示安装即可。
默认安装目录是c:
\perl。
图2perl安装
注意:
查看控制面板---系统---高级---环境变量中变量path是否包含c:
\perl\bin的路径,若未包含,须编辑加入。
图3path目录添加
1.3生成MRTG默认的配置文件(如mrtg.cfg)
运行c:
\mrtg\bin>
perlcfgmakersdcdn@10.86.11.138sdcdn@10.86.11.139--global“workdir:
c:
\netmanager“--outputmrtg.cfg
补充说明:
10.86.11.13810.86.11.139分别是两台交换机的IPaddress;
注意首先要保证c:
\netmanager目录的存在。
图4生成配置文件
1.4启动MRTG
运行命令c:
\mrtg\bin>
start/Dc:
\mrtg\binwperlmrtg–logging=eventlogmrtg.cfg
图5启动MRTG
此时在c:
\netmanager目录下产生大量的html文件
图6生成HTML文件
由于每个端口相应产生一个html文件,不利于管理,我们可以继续汇总成一个html文件,在一个页面上监测所有交换机的端口。
perlindexmakermrtg.cfg--output=c:
\netmanager\index.html
图7生成index.html文件
这时会在c:
\netmanager下产生文件index.html,打开观察
图8运行结果
至此,mrtg配置基本完成,现在您就可以轻松自如的监测交换机端口的流量了,还不抓紧体验一下!
MRTG功能多多,例如:
监测网络服务器的CPU利用率,带宽等等,感兴趣的读者可以继续研究!
到时可别忘了和大伙一起分享啊!
此种配置完成后,并不能使MRTG每5分钟运行一次,如果希望MRTG能自动运行,还需要在MRTG.CFG文件内,增加一行
RunAsDaemon:
yes就可以了。
1.5使用心得
如果想使用MRTG来读取设备其他部分信息,如:
CPU占用率,接入服务器的在线用户数等,则需要知道该信息在设备MIB库中的串值,填入生成的配置文件的相应位置即可。
同时,也可以更改配置文件中的说明文字,使之显示汉字或者更加精确的描述信息的细节,不过显示中文的时候默认是乱码...因为生成的index.html文档为显示西文,呵呵,只要改成显示中文就可以。
2LINUX系统下的安装
2.1安装支持软件
我们这里以Rehat7.2为例子讨论MRTG的配置和安装。
要安装MRTG需要安装以下软件包:
GCC、Perl、gd、libpng和zlib。
可以使用下面的命令来判断系统是否安装有这些软件包:
[root@maildoc]#rpm-qa|grepgd
gd-1.8.4-4
gd-devel-1.8.4-4
[root@maildoc]#rpm-qa|grepperl
perl-5.6.0-17
mod_perl-1.24_01-3
[root@maildoc]#rpm-qa|greplibp
libpng-1.0.12-2
libpng-devel-1.0.12-2
[root@maildoc]#rpm-qa|grepzlib
zlib-1.1.3-24
zlib-devel-1.1.3-24
[root@maildoc]#rpm-qa|grepgcc
gcc-2.96-98
gcc-g77-2.96-98
gcc-c++-2.96-98
如果发现哪个软件包没有安装,只需直接从redhat安装盘安装对应的rpm包即可,例如:
root@maildoc]#rpm-ivhzlib-1.1.3-24zlib-devel-1.1.3-24
2.2MRTG的安装
目前mrtg的最新版本为2.10.13:
[root@mailsrc]#tarxvfzmrtg-2.10.13.tar.gz
[root@mailsrc]#cdmrtg-2.10.13
[root@mailmrtg-2.10.13]#./configure--prefix=/usr/local/mrtg-2
[root@mailmrtg-2.10.13]#make
[root@mailmrtg-2.10.13]#makeinstall
到现在我们就已经正确地安装了MRTG系统。
2.3配置SNMP服务
对于不同的设备,配置SNMP支持的方法是不一致的,具体请参考设备的随机文档,一般里面都有详细的介绍。
这里我们讨论在Linux环境下配置SNMP服务器,以实现对本机流出流入数据的分析和报表(我的应用环境是使用Linux带动一个小型局域网上网,监控本机进出流量)。
在linux环境下安装snmp软件包是很容易的,只需要安装相应的软件包即可:
[root@maildoc]#rpm-qa|grepsnmp
ucd-snmp-4.2.1-7
ucd-snmp-utils-4.2.1-7
ucd-snmp-devel-4.2.1-7
这时候运行下面的命令:
[root@maildoc]#/etc/rc.d/init.d/snmpdstart
Startingsnmpd:
[OK]
如果命令输出如上所示,就表示snmp服务器启动正常。
为了配合mrtg使用,还要修改snmpd的配置,以使其允许mrtg读取其interface(网络接口)流量数据。
vi/etc/snmp/snmpd.conf
将
#viewsystemviewincludedmib2
的内容修改为:
viewmib2included.iso.org.dod.internet.mgmt.mib-2fc
然后将
accessnotConfigGroup"
"
anynoauthexactsystemviewnonenone
修改为:
anynoauthexactmib2nonenone
然后再重新启动snmpd:
/etc/rc.d/init.d/snmpdrestart
2.4配置MRTG
下一步就是要配置mrtg,实现对网络设备的监控。
mrtg的配置信息都是保存在mrtg.cfg文件中的,创建该文件并且在其中定义希望的监控特性。
幸运的是一般不需要直接手工编辑该配置文件,因为mrtg软件包提供有cfgmaker配置工具,这是一个脚本文件,根据运行参数可以自动生成mrtg.cfg配置文件。
在mrtg源码目录的bin子目录下你可以得到该工具。
首先在www服务器的DocumentRoot目录下创建一个子目录用来存放mrtg生成的统计文件,这里假设apache是默认安装,因此DocumentRoot在/var/www/html目录下,我们在该目录下创建子目录mrtg:
mkdir/var/www/html/mrtg
这里的/var/www/html/mrtg就是mrtg的工作目录。
下面就生成mrtg配置文件:
cfgmaker--global"
WorkDir:
/var/www/html/mrtg"
--global"
Options[_]:
growright,bits"
--ifref=ip
--output/etc/mrtg.cfg
public@192.168.0.1
这里的--global参数表示后面的选项是对后面指定的设备都是有效的(如果希望对多个设备进行监控时,该参数就会发生作用)。
WorkDir用来指示mrtg的工作目录;
Options用来指定一些特定的选项,这里的growright,bits是用来指定默认options配置的,对于常见的应用来说默认options配置就可以满足需求了。
ifref用来指示用什么选项来标识设备接口,这里指定使用IP地址来标识网络设备接口。
ifref可以指定为nr、ip、eth、descr、name。
nr表示用接口在MIBII库中Interface接口的ifIndex来识别接口;
IP表示使用ip地址识别接口;
eth表示使用接口的物理地址标识接口;
descr表示使用接口的描述信息来标识接口;
name表示使用接口名来标识接口。
一般来说ip地址是唯一的,但是有些情况下接口是没有IP地址的,例如交换机就会出现这种情况。
对于接口来说nr(接口号)是唯一的,因此对于一般情况使用IP地址就可以了,而对于其他一些情况则需要采用nr了。
--output/etc/mrtg.cfg"
标识将生成的配置文件存放在/etc/目录下。
public@192.168.0.1"
表示监控IP地址为192.168.0.1的设备,采用public作为共同体名通过snmp协议来监控设备192.168.0.1。
对于希望使用mrtg来对多个设备进行监控的情况,举例如下:
--ifref=descr
--ifdesc=alias
public@router1.place.xyz
public@router2.place.xyz
growright"
--ifref=name
--ifdesc=descr
public@switch1.place.xyz
--ifdesc=name
public@switch2.place.xyz>
mrtg.cfg
这里指示监控四个设备:
router1.place.xyz、router2.place.xyz、switch1.place.xyz
和switch2.place.xyz,所有的设备都采用共同体名public来进行监控。
并且两个路由器采用descr来作为设备的描述信息,而两个交换机则采用alias作为设备描述(这两者是不同的,例如对于cisco路由器来说,对于descr来说设备描述为"
Serial0"
,而对于aliasl来说则为"
LinktoHQ"
)。
对于我这里的应用环境来说,生成的mrtg.cfg内容如下:
#Createdby
#/usr/local/mrtg-2/bin/cfgmaker--global'
/var/www/html/mrtg'
--global'
growright,bits'
--output/etc/mrtg.cfg--ifref=ippublic@192.168.0.1
###GlobalConfigOptions
#forUNIX
#WorkDir:
/home/http/mrtg
#orforNT
mrtgdata
###GlobalDefaults
#togetbitsinsteadofbytesandgraphsgrowingtotheright
#Options[_]:
growright,bits
/var/www/html/mrtg
growright,bits
######################################################################
#System:
192.168.0.1
#Description:
Linux192.168.0.12.4.7-10smp#1SMPThuSep617:
09:
31EDT2001i686
#Contact:
Root<
root@localhost>
(configure/etc/snmp/snmp.local.conf)
#Location:
Unknown(edit/etc/snmp/snmpd.conf)
###Interface1>
>
Descr:
'
lo'
|Name:
'
|Ip:
127.0.0.1'
|Eth:
###
###Thefollowinginterfaceiscommentedoutbecause:
###*itisaSoftwareLoopbackinterface
#
#Target[192.168.0.1_127.0.0.1]:
/127.0.0.1:
public@192.168.0.1:
#SetEnv[192.168.0.1_127.0.0.1]:
MRTG_INT_IP="
127.0.0.1"
MRTG_INT_DESCR="
lo"
#MaxBytes[192.168.0.1_127.0.0.1]:
1250000
#Title[192.168.0.1_127.0.0.1]:
TrafficAnalysisfor127.0.0.1--192.168.0.1
#PageTop[192.168.0.1_127.0.0.1]:
<
H1>
TrafficAnalysisfor127.0.0.1--192.168.0.1<
/H1>
#<
TABLE>
TR>
<
TD>
System:
/TD>
192.168.0.1inUnknown(edit/etc/snmp/snmpd.conf)<
/TR>
Maintainer:
Root&
lt;
root@localhost&
gt;
(configure/etc/snmp/snmp.local.conf)<
Description:
lo<
ifType:
softwareLoopback(24)<
ifName:
MaxSpeed:
10.0Mbits/s<
Ip:
127.0.0.1(localhost)<
/TABLE>
###Interface2>
eth0'
211.99.43.111'
00-d0-b7-b7-bb-30'
Target[192.168.0.1_211.99.43.158]:
/211.99.43.158:
SetEnv[192.168.0.1_211.99.43.158]:
211.99.43.158"
eth0"
MaxBytes[192.168.0.1_211.99.43.158]:
Title[192.168.0.1_211.99.43.158]:
TrafficAnalysisfor211.99.43.158--192.168.0.1
PageTop[192.168.0.1_211.99.43.158]:
TrafficAnalysisfor211.99.43.158--192.168.0.1
eth0<
ethernetCsmacd(6)<
211.99.43.158(192.168.0.1)<
###Interface3>
eth1'
192.168.0.1'
00-10-4b-0c-b4-23'
Target[192.168.0.1_192.168.0.1]:
/192.168.0.1:
SetEnv[192.168.0.1_192.168.0.1]:
192.168.0.1"
eth1"
MaxBytes[192.168.0.1_192.168.0.1]:
Titl