网络流量监控器mrtg全攻略Word格式.docx
- 文档编号:19041719
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:42
- 大小:52.57KB
网络流量监控器mrtg全攻略Word格式.docx
《网络流量监控器mrtg全攻略Word格式.docx》由会员分享,可在线阅读,更多相关《网络流量监控器mrtg全攻略Word格式.docx(42页珍藏版)》请在冰豆网上搜索。
//www.mrtg.org,可以从这里下载软件。
Mrtg兼容性
mrtg软件可以运行在以下的操作系统上:
Linux1.2.x,2.0.x,2.2.x,2.4.x(IntelandAlphaandSparcandPowerPC)
LinuxMIPS,LinuxS/390
SunOS4.1.3
Solaris2.4,2.5,2.5.1,2.6,7,8
AIX4.1.4,4.2.0.0,4.3.2
HPUX9,10,11
WindowsNT3.51,4.0,2k,XP
IRIX5.3,6.2
BSDIBSD/OS2.1,4.x,3.1
NetBSD1.5.x
FreeBSD2.1.x,2.2.x,3.1,3.4,4.x
OpenBSD2.x
DigitalUnix4.0
SCOOpenServer5.0
ReliantUNIX
NeXTStep3.3
OpenStep4.2
MacOSX10.1
AndaboutandothersensibleUnix
可以通过mrtg监控的设备(目前市场上绝大多数产品都支持SNMP协议,只要支持SNMP协议的设备就都可以使用MRTG来监控):
3ComNETBuilders,LANplex6012and2500
3Cometherswitchesandhubs
3ComLinkswitch100011003300
3ComSuperstackIIswitch3900,3300MX
3Com812ADSLRouter
Alantecpowerhub7000
AlliedTelesyn-8224XLand8324XL24portmanagedswitches
Annexterminalserver
AsanteHub
Ascend(Lucent)Max600,[24]00x,Pipeline50,TNT,APX-8000,MAX-6000
Alcatel(AssuredAccess)x1600,OmniSR9,OmniCore5022
AT&
TWavePoint,Lan
BayNetworks(Wellfleet)7.80andup,BayStack350T,InstantInternet,seeNortel
BreezeComAP,SA
CabletronESX-820Etherswitch,Smartswitch2000,6000androuter
CentillionTokenRingSpeedSwtich100(IBM8251TokenRingSwitch)
AbouteveryCiscoKitthereis...
CentreCOM8116
CompatibleSystems
DECBridge620,DEC900EF,900EE,Gigaswitch
ELSALancomL11(WirelessRouter)
EnterasysMatrixE5,VH-4802andVH-2402SSwitche
EricssonTirgisSeriesRASServers
ExtremeNetworks--Blackdiamond6808&
Alpine3808Layer3Switches
ForeASX200ATM
FlowPoint2200ATM/DSLRouter
Formula8200series
FoundryBigIron8000Gigabit,FastIronSwitch,ServerIronSwitch
CableModemsfromLancity,TerayonandDOCSIS
HP-networkinterfaces,disks,databaseInformix
HPAdvanceStack/ProcurveSwitch2000and2524,AdvanceStackSwitch200
HPProcurveSwitches,model4000m,2424mand2400m
IBM8260swtich(with155MBATMbladesinstalled),IBM2210ISDNRouters.
Intelswitches(details)--510T,IntelGigabitServeradapter
IMVVictronNetPro3000UPS
KentroxPacesetterPro
LantronixBridge
Lucent/XediaAccessPointT450,1000
Livingston(Lucent)IRX3.2.1R,IRX114,PM2E(R)PM3-2EOR-U
Motorola6560RegionalNode,SB3100CableModem,320,6430and6455routers
Morningstarterminalservers/routers
MGE(MerlinGerin)UPSes(details)
NetworkAppliance
NetopiaR7100CSDSL
Netscreen5/10/100
NortelNetworks,BayRoutersBCN,BLN,ASN,ARN,AN,Passport1kandPassport8k3seriesL3switches,BayStack450L2switches.
NortelNetworks,AccelarL3Switches
NokiaIP330/440/650
Nbaseethernetswitch
Novell3.11,4.11
Rmonprobes
SGI-Server(Irix5.3)
AnyserverserverrunningHP-UX,Ultrix,Solaris,SunOS,OSF,NetBSD,FreeBSD,BSDi,Linux,AIX,OpenBSD,IrixorevenWindowsoperatingsystems(badly),whenusingNET-SNMP(formerUCD-SNMP).
AppleMac(AnsnmpserviceisincludedontheOSCD>
=8.5)
ShivaAccesport
SolarisServer
SquidWebcache
US-RoboticsTotalControlModemracks
Wellfleet(laterBayNetworks):
seeNortelrouters
WaveWirelessSpeedLan8x00RFRouters
WinNT,MSProxy
Xylan(todayAlcatel)4024C24port10/100OmniStackSwitch,9kdevices,includingATMlinks.
Yamahart100i
ZyxelPrestigeP310,153X,642.
不支持mrtg的设备:
D-Linkswitches(details)
SNMP简介
一个网络管理系统一般要包含以下几个元素:
①若干个(可能很多个)需要被管理的网络设备节点,如路由器、服务器等设备,每个节点上都运行着一个称为设备代理(agent)的应用进程,其实现对被管理设备的各种被管理对象的信息如流量等的搜集和对这些被管对象的访问的支持;
②至少一个管理工作站,该管理站运行着管理平台应用系统,实现为管理员提供对被管设备的可视化的图形界面,从而使管理员可以方便的进行管理;
③一个管理协议,用来定义设备代理和管理工作站之间管理信息传送的规程。
其中管理协议的操作是在管理框架下进行的,管理框架定义了和安全相关的认证,授权,访问控制和加密策略等各种安全防护框架。
在运行TCP/IP协议的互联网环境中,管理协议标准是简单网络管理协议(SimpleNetworkManagementProtocol,SNMP),其定义了传送管理信息的协议消息格式及管理站和设备代理相互之间进行消息传送的规程。
出于业界对网络管理协议标准化的迫切要求的驱动,IETF于1990发布了SNMPv1的正式RFC文档;
其设计思想重点放在保证协议的简单性、灵活性和可扩展性上,并希望把SNMP作为一个过渡性的网管协议来作为实现对互连的网络设备进行管理时遵循的标准,待OSI的网络管理协议—CMIP的开发、实现和标准化成熟和完善到可以在业界推广之后,再用CMIP来替换SNMP。
但是由于各种的原因,CMIP并没有替代SNMP,而SNMP发展为业界的标准。
SNMP一共发展有3个主版本,分别为SNMPv1,SNMPv2和SNMPv3。
其中SNMPv2又分为若干个子版本,其中SNMPv2c应用最为广泛:
SNMPv1:
是第一个正式协议版本,在RFC1155-RFC1158中定义,该版本采用了基于共同体名的安全机制;
SNMPv2c:
这个版本被称为基于共同体名的SNMPv2,使用基于共同体名的安全机制和SNMPv2p做出的协议操作方面的扩充,由RFC1901-RFC1906定义;
SNMPv3:
该协议版本采用基于用户的安全机制,其安全机制是在SNMPv2u和SNMPv2*基础上进行大量的评议以后进行了更新,并且对协议机的逻辑功能模块的进行了划分而保证了良好的可扩充性,由RFC2271-RFC2275所定义。
运行SNMP管理系统的原理及SNMP协议
使用SNMP协议的网络管理系统管理结构工作一般包括:
管理进程通过定时向各个设备的设备代理进程发送查询请求消息(以轮询方式),来跟踪各个设备的状态;
而当设备出现异常事件如设备冷启动等时,设备代理进程主动向管理进程发送陷阱消息,汇报出现的异常事件。
这些轮询消息和陷阱消息的发送和接受规程及其格式定义都是由SNMP协议定义的;
而被管理设备将其各种管理对象的信息都存放在一个称为管理信息库(ManagementInformationBase)库结构中。
其中SNMP协议是运行在UDP协议之上,它利用的是UDP协议的161/162端口。
其中161端口被设备代理监听,等待接受管理者进程发送的管理信息查询请求消息;
162端口由管理者进程监听等待设备代理进程发送的异常事件报告陷阱消息,如Trap。
设备的所有的需要被管理的信息被看作一个各种被管理对象的集合,这些被管理对象由OSI定义在一个被称作管理信息库(ManagementInformationBase,MIB)的虚拟的信息库中。
管理对象库MIB
MIB是一个按照层次结构组织的树状结构(定义方式类似于域名系统),管理对象为定义为树中的相应叶子节点。
管理对象是按照模块的形式组织,每个对象的父节点表示该种对象属于上层的哪一个模块。
而且OSI为树中每一层的每个节点定义唯一的一个数字标识,每层中的该数字标识从1开始递增,这样树中的每个节点都可以用从根开始到目的节点的相应的标识对应的一连串的数字来表示,如1.3.6.1.2.1.1表示了MIBII中系统组子树,而1.3.6.1.2.1.1.1.0表示系统组中的系统描述(sytemDescrption)对象。
每个对象的一连串数字表示被称为对象标识符(ObjectIndentifier,OID)。
相关的一组对象的集合被定义为一个MIB模块。
这些模块使用OSI的抽象语法标记(AbstractSyntaxNotationOne,ASN.1)的一个子集写成。
该子集被定义为管理信息结构(ManagementInformation,SMI)。
SNMP的消息在发送和传输时消息是采用基本编码规则(BER)对消息进行编码。
SNMP基本的标准MIB库是MIBII,具体请参考RFC1213。
SNMP协议操作
SNMP提供有三类操作,分别为Get,Set和Trap。
Get操作实现对被管理对象所表示的管理信息的读操作。
在SNMPv1中,GET操作具体一共有两种形式
Get和GetNext操作:
Get操作指示直接读取操作参数指定的OID所表示的被管理对象的管理信息值。
GetNext操作指示读取操作参数指定的OID所表示的被管理对象在MIB树中按照字典顺序的下一个被管理对象的管理信息的值。
在SNMPv2中,增加了一种GetBulk操作,其是Get和GetNext的综合,是为了提高对被管理信息的访问的效率而增加的。
Set操作实现对被管理对象的管理信息进行写操作,其实现直接对操作参数指定的OID所表示的被管理对象对应的管理信息的值的设置。
前面几种消息是由管理工作站主动实现对被管理设备进行轮询访问时发出以得到被管理设备的各种信息;
而在被管理设备出现异常事件需要及时向管理工作站报告时,就需要Trap操作,该操作实现被管理设备向管理工作站报告设备上出现的异常事件,如网络接口出现故障或恢复工作,设备重新启动等信息。
另外在SNMPv2中新增加了一种Inform操作来实现管理站与管理站之间的通信。
其中上述操作的消息都可以在操作参数中一次指定一个或多个管理对象OID信息,也就是说一个消息一次可以实现对多个被管理对象的操作。
SNMPv1和SNMPv2c采用了一种简单的基于共同体名的安全机制:
管理站和被管设备上都存储有该充当密码作用的共同体名;
消息发送者(一般是管理者)在要发送的消息中的共同体名字段中填入对应于接收者的共同体名,然后以明文方式在网络上发送消息,接收方(被管理设备)接收到消息以后,如果消息格式是正确的,则读取该字段,与自身保存的共同体名相比较,来实现对发送消息者的认证。
在一些实现中,对应于每个共同体名还有一个机器地址列表,来表示只有地址在这个列表中的机器使用该共同体名发送的消息才认为是可信的。
这里的共同体名就担任密码的作用。
同时对应于每个共同体名都有一个访问控制权限,可能值为读或读写。
只有请求的操作和使用的共同体名的权限一致才允许进行。
详细情况请参考RFC1157、RFC1902、RFC2273、RFC2274。
MRTG的安装配置
安装支持软件
我们这里以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
MRTG的安装
目前mrtg的最新版本为2.9.17:
[root@mailsrc]#tarxvfzmrtg-2.9.17.tar.gz
[root@mailsrc]#cdmrtg-2.9.17
[root@mailmrtg-2.9.17]#./configure--prefix=/usr/local/mrtg-2
[root@mailmrtg-2.9.17]#make
[root@mailmrtg-2.9.17]#makeinstall
到现在我们就已经正确地安装了MRTG系统。
配置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
配置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.xy
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络流量 监控器 mrtg 攻略