《网络流量监测-SNMP与MRTG.ppt》由会员分享,可在线阅读,更多相关《网络流量监测-SNMP与MRTG.ppt(61页珍藏版)》请在三一办公上搜索。
1、SNMP与MRTG,网络流量监测,2,目录,基于SNMP的监测SNMPMRTGRRD Tools,3,基于SNMP的监测,SNMP:Simple Network Management Protocol目前TCP/IP网络中应用最为广泛的网络管理协议。专为网络管理者所设计的网络管理协议,主要目的是用来管理网络上各式各样的设备。SNMP提供了一组网络流量参数。基于SNMP的流量监测软件MRTG已经被广泛地使用。,4,目录,基于SNMP的监测SNMPMRTGRRD Tools,5,简单网络管理协议(SNMP),简单网络管理协议是应用层协议定义如下内容:管理站向管理代理进行读、写的操作管理代理主动向管
2、理站发送的告警报文(TRAP)命令和响应的报文格式相应的授权和鉴别机制,6,SNMP网络管理的参考模型,UDP是SNMP首选并常用的传输协议,但SNMP也可以在非UDP的传输域中运行,7,SNMP网络管理的参考模型,由以下4个主要部分组成:管理者(Network Manager)管理代理(Managed Agent)管理信息库(Management Information Base)管理协议(Management Protocol),8,管理者(Network Manager),Manager实际上是一台运行特殊管理软件的计算机。Manager运行一个或多个管理进程,这些进程通过SNMP协议在
3、网络上与代理通信,发送命令以及接收应答。该协议允许管理进程查询代理的本地对象的状态和值,必要时对其进行修改。许多Manager都具有图形用户界面,允许网络管理人员检查网络状态并在需要时采取行动。,9,管理代理,管理代理可以是主机、路由器、交换机、打印机以及任何可以与外界交流状态信息的设备。每个代理都要维护一个本地数据库,存放它的状态、记录。管理代理响应Manager的请求,向Manager主动发送重要的事件报告(Trap)。,SNMPAgent,10,管理信息库(MIB),SNMP模型的最主要部分就是定义以下内容:记录什么信息信息如何进行通信每个设备都具有多个变量来描述其状态。在SNMP中,这
4、些变量叫做对象(Object)。网络的所有对象都存放在一个叫做管理信息库(MIB)的数据结构中。,11,管理信息库(MIB),管理信息库是所有由SNMP管理的对象的集合。每个管理对象在MIB中都有相应的,并且是唯一的位置,具有唯一的名字和对象标识符(OID)。,12,SNMP对象标识符(OID)层次化结构,13,MIB名称,MIB名称使用层次关系,从国际标准化组织(ISO)开始,往下的各级子层分别是“组织”子层、“(美)国防部”子层、“互联网”子层、“管理”子层,直到MIB子层。层次关系的每一部分都分配一个标号,而名称也写在表示层次关系的标号系列中,各标号用圆点(.)分开。在system子层中
5、用来记录系统名称的MIB变量,如sysName的全名:其中iso为国际标准化组织,org为组织,dod为(美)国防部,internet为互联网,mgmt 为管理,mib-2表示RFC 1213的MIB-II定义,system为MIB-II中的系统组。MIB的OID名称可能非常长。当发送和接收报文时,SNMP不是把OID称作为正文串来存储的,而是用ASN.1的数字形式表示每个名称。sysName变量的名称所用的数字标号序列便是,14,SNMP消息类型,在SNMPv1标准中共定义了五种消息类型 GetRequest:管理者要求被管理实体代理给出网络信息GetNextRequest:管理者要求给出管
6、理信息库存放的下一个信息SetRequest:改变被管理实体中的变量的值GetResponse:代理对GetRequest、GetNextRequest、SetRequest要求作出响应,响应包含错误和状态信息Trap:代理向管理者发出事件报告,15,SNMP消息类型,在SNMPv2标准中增加了两种Get-Bulk-Request:允许管理站检索大块数据,提高效率。这条原语是SNMPv2中对Get-Next-Request的改进,可以一次将一个对象的全部变量读出,也可进行一些表格操作。Inform-Request:允许一个管理者发送一个TRAP信息给另外一个管理者,并请求回应。SNMPv2中引
7、入这条原语,使管理者与管理者之间的通信成为可能。,v2,16,SNMP操作,17,SNMP消息格式,18,SNMP消息格式,Version:协议版本号。Community:SNMP团体名称。PDU:协议数据单元。PDU Type:PDU类型,分别为7种协议操作。Request ID:请求标识域,把从SNMP管理者请求与从SNMP代理的响应联系在一起,每个从SNMP管理者发出的请求都有一个Get-Response从代理返回,这些请求/响应的SNMP报文对使用同样的请求标识符。Error Status:错误状态域,表示处理请求时发生的一些意外事件,协议对此有具体规定。Error Index:错误索
8、引域,指出了变量链表域中产生错误的变量。变量链表域:包含了所请求的管理信息,一个单位包含一个变量名和它的值。,19,Community,团体(Community):一种类似于密码的字段,使用一个团体名来访问该团体内的对象。通常一个代理定义两个Community:一个用于读取所有管理对象,另外一个用于可以修改的管理对象。也就是使用读团体能够用来获取对象(GetRequest或GetNextRequest),使用写团体来修改对象(SetRequest)。用户可以定义设备MIB的任何对象集合,然后赋予某个特定的Community具有只读或读写这个对象集合的权限。这个对象集合称为视图(View)。,2
9、0,Community,简单,使用方便,但容易窃取、伪造报文。最初SNMPv2版本,曾经考虑了一些安全机制,但没有得到采纳,SNMPv3定义了一系列对于网络安全和访问控制的管理功能。目前大多数厂商普遍支持的版本还是SNMPv1和v2,v1,v2,v3,?,?,?,21,目录,基于SNMP的监测SNMPMRTGRRD Tools,22,MRTG,MRTG:Multi Router Traffic Grapher,多路由器流量图表绘制器。基于Perl。MRTG是一个用来监视网络链路的流量负载的工具。MRTG能够生成包含当前流量真实图形表示的PNG图像的HTML页面。,23,MRTG统计结果,24,
10、MRTG监测内容,MRTG并不仅限于监测流量,可以利用MRTG来监测任何SNMP参数,比如监控cpu负载、登入数量、cpu温度、网络端口流量、系统内存使用率、磁盘剩余空间、设备session数、RAS(Remote Access System)在线用户数等信息。,25,cpu负载,26,RAM 系统负载,27,上线人数,28,路由器端口流量,29,交换机端口流量,30,VLAN的流量,31,某路由器端口日流量图,32,MRTG的优点,软件方法实现,可以安装在一般PC服务器上,对于处理能力要求不高。流量信息直接来自网络设备,不需要对于网络进行改造或增加网络部件。配置简单、费用低。安装、定制简单,
11、结果采用Web方式输出方便实用。免费产品,在世界各地有很多的开发人员不断对其升级和改进。,33,MRTG的缺点,只包括字节数、报文数等最基本的内容。对于略为复杂的流量监测要求,这种手段无能为力。使用文本式的数据库,数据不能重复使用;只能按日、周、月、年来查看数据;只能画两个DS(Data Source)(输入和输出)。目前MRTG广泛地用于网络投资较低、流量监测要求不高的各种场合。,34,数据合并,MRTG提供日、周、月、年的流量记录。处理方式是MRTG把数据记录下来,然后自动合计.效果:数据文件不至于随着时间成长地太大,不过仍保留过去两年来流量趋势的信息。,35,数据记录文件,1096071
12、900 2037708955 69559011/第一行是从开始运行MRTG以来的流量总数,其意义:/时间 接收字节数 发送字节数1096071900 3876 20 3876 20/其余行是流量采集的各时间段的数据,其意义:/时间 平均接收速率 平均发送速率 最大接收速率 最大发送速率 1096071600 4088 29 4088 291096071300 4669 27 4669 271096071000 4030 28 4032 291096070700 3674 18 3674 181096070400 3875 34 3998 35,36,数据记录格式,MRTG 习惯 5分钟 记录
13、一次,一天要做 288 次,一年需要 10 万多行的数据。但实际的状况是:每五钟值存 603 笔每30 分钟值存 603笔 每2 小时值存 603 笔 每一天值存 800 笔,37,数据保存时间,每五钟值:603 X 5=3015分钟 约50小时每五分钟资料过了 50 个小时后就会都变成 30 分钟平均值,如果需要50 个多小时前的每五分钟值,无法再从 MRTG 中找到。每30 分钟值:603 X 30=18090分钟 约13天每2 小时值:603 X 2=1206小时 约50天每一天值:800天,38,MRTG模块,MRTG主要由四个模块组成:SNMP模块用于网络状态变量数据的收集;日志文件
14、记录收集到的流量数据;RateUp模块用于快速生成统计图形;配置模块用于辅助用户生成MRTG的配置文件。,MRTG,SNMP模块,日志模块,RateUp模块,配置模块,39,SNMP模块,该模块以SNMP协议为基础,通过访问网络设备的SNMP状态变量来获取所需的统计信息。为了解决可移植问题MRTG-2用SIMON LEINEN 的PERL SNMP模块替代了以前所使用的CMU snmpget。PERL SNMP完全用PERL语言写成,因此独立于所运行的平台。,MRTG,SNMP模块,40,日志模块,MRTG以ASCII文本形式来记录测得的流量数据,并定时由日志模块对其进行更新。定期对数据进行合
15、并,有效地避免了数据记录的膨胀,从而能够支持长期的网络监测任务。,MRTG,SNMP模块,日志模块,41,RateUp模块,RateUp模块:完成统计图形的生成和驱动日志模块更新日志。在RateUp中,图形的快速生成是由GD Library来完成的。,MRTG,SNMP模块,日志模块,RateUp模块,42,配置模块,为了方便用户的使用,MRTG-2提供了一个配置工具cfgmaker来辅助用户生成配置文件。cfgmaker利用SNMP协议读取路由器的接口信息表,自动地为用户产生一个关于该路由器的框架配置文件,用户对其略作编辑修改即可。,MRTG,SNMP模块,日志模块,RateUp模块,配置模
16、块,43,MRTG的配置文件,MRTG配置文件中可以设置需要监测的目标变量,格式如下:TargetTarget-Name:target-variable:communitydevicetarget-variable以OID的形式定义被测SNMP变量;community是用来访问路由器的SNMP口令,通常使用缺省的监视团体口令:pubilc;device是被监测的设备的域名或IP地址。一般使用cfgmaker来自动生成默认配置文件。,44,常用的一些SNMP变量的OID,ifOperStatus:(工作状态)(下行流量)(丢弃的下行流量)(上行流量)(丢弃的上行流量)(上行流量队列长度),网络接
17、口(),45,下载,mrtg最新下载网址:由于MRTG是一个用Perl编写的程序,不需要安装,下载后直接解压即可。在Windows系统上安装MRTG需要Perl的支持,所以需要先安装Perl。可从课件FTP上获得,也可自网站下载:,46,安装SNMP,Windows上SNMP的启用 控制面板中,选择程序和功能,点击启用或关闭Windows功能:,47,安装SNMP,选中简单网络管理协议:按确定即可安装SNMP协议。,48,安装SNMP,系统默认的Community是通用的Public,虽然只有只读权限,但是出于安全性的考虑,最好修改一下。打开 控制面板 系统和安全 管理工具 服务,选择 SNM
18、P服务,双击进入其属性对话框,点击安全选项卡,就可以看到:,49,安装SNMP,可修改SNMP的Community,提高SNMP的安全性选择:接受来自任何主机的SNMP数据包,50,MRTG管理工作站的建立,获取MRTG的Win32/64版本,安装到c:mrtg-*.*按标准流程安装Perl运行 附件(win7)或Windows系统(win8)-命令提示符,启动命令行窗口。注意,需要点右键-以管理员身份运行,51,MRTG的配置,在命令行下进行以下操作进入c:mrtg-*.*bin目录:cd c:mrtg-*.*bin执行CFGMaker,生成cfg文件:perl cfgmaker Commu
19、nityIP-output myconfig.cfg这里的(IP)填写待监测对象的IP;Community是填写待监测对象的Community,将本次配置输出为文件myconfig.cfg cfgmaker会自动设置要监控的MIB变量,默认监测网络接口每秒上行、下行比特数,52,MRTG的配置,用记事本打开c:mrtg-*.*binmyconfig.cfg,修改以下部分,设置产生图表的文件夹目录#or for NT#WorkDir:c:mrtgdata去掉上一行WorkDir前面的#,就可生效为了让MRTG持续监控,在myconfig.cfg中加入以下行,就加在刚才的WorkDir行下方即可R
20、unAsDaemon:yes,53,MRTG的配置,如果c:mrtgdata文件夹不存在,先创建它在前面的命令行窗口中,使用IndexMaker生成报表首页:perl indexmaker myconfig.cfg-output c:mrtgdataindex.htm运行MRTG:perl mrtg-logging=mylog.log myconfig.cfg 前两次运行可能会报错,因为缺少历史数据文件,可忽略。访问c:mrtgdataindex.htm看MRTG是否可以正常工作,生成统计图形上网产生流量,每隔5分钟,上述网页会更新,54,目录,基于SNMP的监测SNMPMRTGRRD Too
21、ls,55,RRDtool,为了克服MRTG的缺点,MRTG的开发人员又开发了RRDtool,一个基于Perl 的功能强大的数据储存和图形生成工具,最初设计目的是为流量统计分析工具MRTG提供更好的数据存储性能和更强的图形生成功能。它有以下优点:1、使用rrd存储格式,数据能重复使用,比如可以将一个rrd文件中的数据与另一个rrd文件中的数据相加。2、可以定义任意时间段画图,即你可以画出一张半年以来的数据的图,也可以画出一张半小时以来的图。3、能画任意个DS。4、能任意组合数据。,56,RRDtool介绍,RRDtool是指Round Robin Database 工具(环状数据库)Round robin是一种处理定量数据、以及当前元素指针的技术。当数据超过指定量的时候,最早的一笔将被移出,因此数据量不会增大。针对同一个数据源,RRDtool可以建立多个数据库文件,一般情况RRDtool对不同精度,建立不同的数据库文件,如一个文件存放每5分钟采集的数据,第二个文件存放每半小时采集的数据,第三个文件存放每2小时采集的数据,第四个文件存放每天采集的数据。下载:,57,RRDtool使用方法,建文件增加数据画图,58,流量小时图示例,59,流量日图示例,60,流量周图示例,61,下节课程预告专用监测设备,