监控网络链路流量负载软件Mrtg使用指南_第1页
监控网络链路流量负载软件Mrtg使用指南_第2页
监控网络链路流量负载软件Mrtg使用指南_第3页
监控网络链路流量负载软件Mrtg使用指南_第4页
监控网络链路流量负载软件Mrtg使用指南_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

监控网络链路流量负载软件Mrtg使用指南 (1)发布时间:2005.06.28 09:34 来源:赛迪网 作者:技术应用Mrtg简介MRTG的安装SNMP简介Mrtg(Multi Router Traffic Grapher,MRTG)是一个监控网络链路流量负载的工具软件,它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML文档方式显示给用户,以非常直观的形式显示流量负载(可以在网站http:/www.stat.ee.ethz.ch/mrtg/得到mrtg的输出结果示例).Mrtg简介Mrtg(Multi Router Traffic Grapher,MRTG)是一个监控网络链路流量负载的工具软件,它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML文档方式显示给用户,以非常直观的形式显示流量负载(可以在网站http:/www.stat.ee.ethz.ch/mrtg/得到mrtg的输出结果示例)。关于mrtg的最详细的信息可以从http:/people.ee.ethz.ch/oetiker/webtools/mrtg得到。mrtg具有以下特色:可移植性:目前可以运行在大多数Unix系统和Windows NT之上。源码开放:Mrtg是用perl编写的,源代码完全开放。高可移植性的SNMP支持:Mrtg采用了Simon Leinen编写的具有高可移植性的SNMP实现模块,从而不依赖于操作系统的SNMP模块支持。支持SNMPv2c:MRTG可以读取SNMPv2c的64位的记数器,从而大大减少了记数器回转次数。可靠的接口标识:被监控的设备的接口可以以IP地址、设备描述、SNMP对接口的编号及Mac地址来标识。常量大小的日志文件:MRTG的日志不会变大,因为这里使用了独特的数据合并算法。自动配置功能:MRTG自身有配置工具套件,使得配置过程非常简单。性能:时间敏感的部分使用C代码编写,因此具有很好的性能。PNG格式图形:图形采用GD库直接产生PNG格式。可定制性:MRTG产生的web页面是完全可以定制的。mrtg的主页是,可以从这里下载软件。Mrtg兼容性mrtg软件可以运行在以下的操作系统上:Linux 1.2.x, 2.0.x, 2.2.x, 2.4.x (Intel and Alpha and Sparc and PowerPC)Linux MIPS, Linux S/390SunOS 4.1.3Solaris 2.4, 2.5, 2.5.1, 2.6, 7, 8AIX 4.1.4, , 4.3.2HPUX 9,10,11WindowsNT 3.51, 4.0, 2k, XPIRIX 5.3, 6.2BSDI BSD/OS 2.1, 4.x, 3.1NetBSD 1.5.xFreeBSD 2.1.x, 2.2.x, 3.1, 3.4, 4.xOpenBSD 2.xDigital Unix 4.0SCO Open Server 5.0Reliant UNIXNeXTStep 3.3OpenStep 4.2Mac OS X 10.1And about and other sensible Unix可以通过mrtg监控的设备(目前市场上绝大多数产品都支持SNMP协议,只要支持SNMP协议的设备就都可以使用MRTG来监控):监控信息如下:监控信息MRTG的安装目前mrtg的最新版本为2.9.17:rootmail src# tar xvfz mrtg-2.9.17.tar.gzrootmail src# cd mrtg-2.9.17rootmail mrtg-2.9.17# ./configure -prefix=/usr/local/mrtg-2rootmail mrtg-2.9.17# makerootmail mrtg-2.9.17# make install到现在我们就已经正确地安装了MRTG系统。配置SNMP服务对于不同的设备,配置SNMP支持的方法是不一致的,具体请参考设备的随机文档,一般里面都有详细的介绍。这里我们讨论在Linux环境下配置SNMP服务器,以实现对本机流出流入数据的分析和报表(我的应用环境是使用Linux带动一个小型局域网上网,监控本机进出流量)。在linux环境下安装snmp软件包是很容易的,只需要安装相应的软件包即可:rootmail doc# rpm -qa|grep snmpucd-snmp-4.2.1-7ucd-snmp-utils-4.2.1-7ucd-snmp-devel-4.2.1-7这时候运行下面的命令:rootmail doc# /etc/rc.d/init.d/snmpd startStarting snmpd: OK 如果命令输出如上所示,就表示snmp服务器启动正常。为了配合mrtg使用,还要修改snmpd的配置,以使其允许mrtg读取其interface(网络接口)流量数据。vi /etc/snmp/snmpd.conf将#view systemview included mib2的内容修改为:view mib2 included .ernet.mgmt.mib-2 fc然后将access notConfigGroup any noauth exact systemview none none修改为:access notConfigGroup any noauth exact mib2 none none然后再重新启动snmpd:/etc/rc.d/init.d/snmpd restart配置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.cfgpublic这里的-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表示监控IP地址为的设备,采用public作为共同体名通过snmp协议来监控设备。对于希望使用mrtg来对多个设备进行监控的情况,举例如下:cfgmaker -global WorkDir: /var/www/html/mrtg-global Options_: growright,bits-ifref=descr-ifdesc=aliaspublicrouter1.place.xyzpublicrouter2.place.xyz-global Options_: growright-ifref=name-ifdesc=descrpublicswitch1.place.xyz-ifdesc=namepublicswitch2.place.xyz mrtg.cfg这里指示监控四个设备:router1.place.xyz、router2.place.xyz、switch1.place.xyz和switch2.place.xyz,所有的设备都采用共同体名public来进行监控。并且两个路由器采用descr来作为设备的描述信息,而两个交换机则采用alias作为设备描述(这两者是不同的,例如对于cisco路由器来说,对于descr来说设备描述为Serial0,而对于aliasl来说则为Link to HQ)。对于我这里的应用环境来说,生成的mrtg.cfg内容如下:mrtg.cfgbr运行mrtg一旦生成正确的配置文件,就运行下面的命令:/usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg这将查询被监控的设备并在工作目录下创建初始的流量图和web页面,在前三次运行时可能会报告遗失日志文件的告警信息,不要理睬这些信息,只需要连续运行三次以后再运行就不会产生告警信息了。如果仍然出现告警那么就需要察看问题出在哪里了。使用手工运行mrtg并不能定时产生适当的统计信息,因此最好还是定时自动运行mrtg来生成统计信息,默认为五分钟运行一次。作为root身份crontab -e进入编辑状态,添加内容如下:*/5 * * * * /usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg然后就可以通过浏览器访问地址/mrtg/选择适当的接口地址察看流量信息了。如果希望生成类似于http:/www.stat.ee.ethz.ch/mrtg/的信息,就需要自己手工编辑一个index.html文档存放在/var/www/html/mrtg目录下,内容为接口说明以及该接口的日统计信息的图即可。SNMP简介一个网络管理系统一般要包含以下几个元素:若干个(可能很多个)需要被管理的网络设备节点,如路由器、服务器等设备,每个节点上都运行着一个称为设备代理(agent)的应用进程,其实现对被管理设备的各种被管理对象的信息如流量等的搜集和对这些被管对象的访问的支持;至少一个管理工作站,该管理站运行着管理平台应用系统,实现为管理员提供对被管设备的可视化的图形界面,从而使管理员可以方便的进行管理;一个管理协议,用来定义设备代理和管理工作站之间管理信息传送的规程。其中管理协议的操作是在管理框架下进行的,管理框架定义了和安全相关的认证,授权,访问控制和加密策略等各种安全防护框架。在运行TCP/IP协议的互联网环境中,管理协议标准是简单网络管理协议(Simple Network Management Protocol,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协议定义的;而被管理设备将其各种管理对象的信息都存放在一个称为管理信息库(Management Information Base)库结构中。其中SNMP协议是运行在UDP协议之上,它利用的是UDP协议的161/162端口。其中161端口被设备代理监听,等待接受管理者进程发送的管理信息查询请求消息;162端口由管理者进程监听等待设备代理进程发送的异常事件报告陷阱消息,如Trap。设备的所有的需要被管理的信息被看作一个各种被管理对象的集合,这些被管理对象由OSI定义在一个被称作管理信息库(Management Information Base,MIB)的虚拟的信息库中。管理对象库MIBMIB是一个按照层次结构组织的树状结构(定义方式类似于域名系统),管理对象为定义为树中的相应叶子节点。管理对象是按照模块的形式组织,每个对象的父节点表示该种对象属于上层的哪一个模块。而且OSI为树中每一层的每个节点定义唯一的一个数字标识,每层中的该数字标识从1开始递增,这样树中的每个节点都可以用从根开始到目的节点的相应的标识对应的一连串的数字来表示,如.2.1.1表示了MIBII中系统组子树,而..0表示系统组中的系统描述(sytem Descrption)对象。每个对象的一连串数字表示被称为对象标识符(Object Indentifier,OID)。相关的一组对象的集合被定义为一个MIB模块。这些模块使用OSI的抽象语法标记(Abstract Syntax Notation One,ASN.1)的一个子集写成。该子集被定义为管理信息结构(Management Information,SMI)。SNMP的消息在发送和传输时消息是采用基本编码规则(BER)对消息进行编码。SNMP基本的标准MIB库是MIBII,具体请参考RFC 1213。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采用了一种简单的基于共同体名的安全机制:管理站和被管设备上都存储有该充当密码作用的共同体名;消息发送者(一般是管理者)在要发送的消息中的共同体名字段中填入对应于接收者的共同体名,然后以明

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论