资源预览内容
第1页 / 共61页
第2页 / 共61页
第3页 / 共61页
第4页 / 共61页
第5页 / 共61页
第6页 / 共61页
第7页 / 共61页
第8页 / 共61页
第9页 / 共61页
第10页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
SNMP与MRTG 网络流量监测 目录 基于SNMP的监测SNMPMRTGRRDTools 2 基于SNMP的监测 SNMP SimpleNetworkManagementProtocol目前TCP IP网络中应用最为广泛的网络管理协议 专为网络管理者所设计的网络管理协议 主要目的是用来管理网络上各式各样的设备 SNMP提供了一组网络流量参数 基于SNMP的流量监测软件MRTG已经被广泛地使用 3 目录 基于SNMP的监测SNMPMRTGRRDTools 4 简单网络管理协议 SNMP 简单网络管理协议是应用层协议定义如下内容 管理站向管理代理进行读 写的操作管理代理主动向管理站发送的告警报文 TRAP 命令和响应的报文格式相应的授权和鉴别机制 5 SNMP网络管理的参考模型 6 UDP是SNMP首选并常用的传输协议 但SNMP也可以在非UDP的传输域中运行 SNMP网络管理的参考模型 由以下4个主要部分组成 管理者 NetworkManager 管理代理 ManagedAgent 管理信息库 ManagementInformationBase 管理协议 ManagementProtocol 7 管理者 NetworkManager Manager实际上是一台运行特殊管理软件的计算机 Manager运行一个或多个管理进程 这些进程通过SNMP协议在网络上与代理通信 发送命令以及接收应答 该协议允许管理进程查询代理的本地对象的状态和值 必要时对其进行修改 许多Manager都具有图形用户界面 允许网络管理人员检查网络状态并在需要时采取行动 8 管理代理 管理代理可以是主机 路由器 交换机 打印机以及任何可以与外界交流状态信息的设备 每个代理都要维护一个本地数据库 存放它的状态 记录 管理代理响应Manager的请求 向Manager主动发送重要的事件报告 Trap 9 SNMPAgent 管理信息库 MIB SNMP模型的最主要部分就是定义以下内容 记录什么信息信息如何进行通信每个设备都具有多个变量来描述其状态 在SNMP中 这些变量叫做对象 Object 网络的所有对象都存放在一个叫做管理信息库 MIB 的数据结构中 10 管理信息库 MIB 管理信息库是所有由SNMP管理的对象的集合 每个管理对象在MIB中都有相应的 并且是唯一的位置 具有唯一的名字和对象标识符 OID 11 SNMP对象标识符 OID 层次化结构 12 MIB名称 MIB名称使用层次关系 从国际标准化组织 ISO 开始 往下的各级子层分别是 组织 子层 美 国防部 子层 互联网 子层 管理 子层 直到MIB子层 层次关系的每一部分都分配一个标号 而名称也写在表示层次关系的标号系列中 各标号用圆点 分开 在system子层中用来记录系统名称的MIB变量 如sysName的全名 iso org dod internet mgmt mib 2 system sysName其中iso为国际标准化组织 org为组织 dod为 美 国防部 internet为互联网 mgmt为管理 mib 2表示RFC1213的MIB II定义 system为MIB II中的系统组 MIB的OID名称可能非常长 当发送和接收报文时 SNMP不是把OID称作为正文串来存储的 而是用ASN 1的数字形式表示每个名称 sysName变量的名称所用的数字标号序列便是1 3 6 1 2 1 1 5 13 SNMP消息类型 在SNMPv1标准中共定义了五种消息类型GetRequest 管理者要求被管理实体代理给出网络信息GetNextRequest 管理者要求给出管理信息库存放的下一个信息SetRequest 改变被管理实体中的变量的值GetResponse 代理对GetRequest GetNextRequest SetRequest要求作出响应 响应包含错误和状态信息Trap 代理向管理者发出事件报告 14 SNMP消息类型 在SNMPv2标准中增加了两种Get Bulk Request 允许管理站检索大块数据 提高效率 这条原语是SNMPv2中对Get Next Request的改进 可以一次将一个对象的全部变量读出 也可进行一些表格操作 Inform Request 允许一个管理者发送一个TRAP信息给另外一个管理者 并请求回应 SNMPv2中引入这条原语 使管理者与管理者之间的通信成为可能 15 v2 SNMP操作 16 SNMP消息格式 17 SNMP消息格式 Version 协议版本号 Community SNMP团体名称 PDU 协议数据单元 PDUType PDU类型 分别为7种协议操作 RequestID 请求标识域 把从SNMP管理者请求与从SNMP代理的响应联系在一起 每个从SNMP管理者发出的请求都有一个Get Response从代理返回 这些请求 响应的SNMP报文对使用同样的请求标识符 ErrorStatus 错误状态域 表示处理请求时发生的一些意外事件 协议对此有具体规定 ErrorIndex 错误索引域 指出了变量链表域中产生错误的变量 变量链表域 包含了所请求的管理信息 一个单位包含一个变量名和它的值 18 Community 团体 Community 一种类似于密码的字段 使用一个团体名来访问该团体内的对象 通常一个代理定义两个Community 一个用于读取所有管理对象 另外一个用于可以修改的管理对象 也就是使用读团体能够用来获取对象 GetRequest或GetNextRequest 使用写团体来修改对象 SetRequest 用户可以定义设备MIB的任何对象集合 然后赋予某个特定的Community具有只读或读写这个对象集合的权限 这个对象集合称为视图 View 19 Community 简单 使用方便 但容易窃取 伪造报文 最初SNMPv2版本 曾经考虑了一些安全机制 但没有得到采纳 SNMPv3定义了一系列对于网络安全和访问控制的管理功能 目前大多数厂商普遍支持的版本还是SNMPv1和v2 20 v1 v2 v3 目录 基于SNMP的监测SNMPMRTGRRDTools 21 MRTG MRTG MultiRouterTrafficGrapher 多路由器流量图表绘制器 基于Perl MRTG是一个用来监视网络链路的流量负载的工具 MRTG能够生成包含当前流量真实图形表示的PNG图像的HTML页面 22 MRTG统计结果 23 MRTG监测内容 MRTG并不仅限于监测流量 可以利用MRTG来监测任何SNMP参数 比如监控cpu负载 登入数量 cpu温度 网络端口流量 系统内存使用率 磁盘剩余空间 设备session数 RAS RemoteAccessSystem 在线用户数等信息 24 cpu负载 25 RAM系统负载 26 上线人数 27 路由器端口流量 28 交换机端口流量 29 VLAN的流量 30 某路由器端口日流量图 31 MRTG的优点 软件方法实现 可以安装在一般PC服务器上 对于处理能力要求不高 流量信息直接来自网络设备 不需要对于网络进行改造或增加网络部件 配置简单 费用低 安装 定制简单 结果采用Web方式输出方便实用 免费产品 在世界各地有很多的开发人员不断对其升级和改进 32 MRTG的缺点 只包括字节数 报文数等最基本的内容 对于略为复杂的流量监测要求 这种手段无能为力 使用文本式的数据库 数据不能重复使用 只能按日 周 月 年来查看数据 只能画两个DS DataSource 输入和输出 目前MRTG广泛地用于网络投资较低 流量监测要求不高的各种场合 33 数据合并 MRTG提供日 周 月 年的流量记录 处理方式是MRTG把数据记录下来 然后自动合计 效果 数据文件不至于随着时间成长地太大 不过仍保留过去两年来流量趋势的信息 34 数据记录文件 1096071900203770895569559011 第一行是从开始运行MRTG以来的流量总数 其意义 时间接收字节数发送字节数1096071900387620387620 其余行是流量采集的各时间段的数据 其意义 时间平均接收速率平均发送速率最大接收速率最大发送速率10960716004088294088291096071300466927466927109607100040302840322910960707003674183674181096070400387534399835 35 数据记录格式 MRTG习惯5分钟记录一次 一天要做288次 一年需要10万多行的数据 但实际的状况是 每五钟值存603笔每30分钟值存603笔每2小时值存603笔每一天值存800笔 36 数据保存时间 每五钟值 603X5 3015分钟约50小时每五分钟资料过了50个小时后就会都变成30分钟平均值 如果需要50个多小时前的每五分钟值 无法再从MRTG中找到 每30分钟值 603X30 18090分钟约13天每2小时值 603X2 1206小时约50天每一天值 800天 37 MRTG模块 MRTG主要由四个模块组成 SNMP模块用于网络状态变量数据的收集 日志文件记录收集到的流量数据 RateUp模块用于快速生成统计图形 配置模块用于辅助用户生成MRTG的配置文件 38 MRTG SNMP模块 日志模块 RateUp模块 配置模块 SNMP模块 该模块以SNMP协议为基础 通过访问网络设备的SNMP状态变量来获取所需的统计信息 为了解决可移植问题MRTG 2用SIMONLEINEN的PERLSNMP模块替代了以前所使用的CMUsnmpget PERLSNMP完全用PERL语言写成 因此独立于所运行的平台 39 MRTG SNMP模块 日志模块 MRTG以ASCII文本形式来记录测得的流量数据 并定时由日志模块对其进行更新 定期对数据进行合并 有效地避免了数据记录的膨胀 从而能够支持长期的网络监测任务 40 MRTG SNMP模块 日志模块 RateUp模块 RateUp模块 完成统计图形的生成和驱动日志模块更新日志 在RateUp中 图形的快速生成是由GDLibrary来完成的 41 MRTG SNMP模块 日志模块 RateUp模块 配置模块 为了方便用户的使用 MRTG 2提供了一个配置工具cfgmaker来辅助用户生成配置文件 cfgmaker利用SNMP协议读取路由器的接口信息表 自动地为用户产生一个关于该路由器的框架配置文件 用户对其略作编辑修改即可 42 MRTG SNMP模块 日志模块 RateUp模块 配置模块 MRTG的配置文件 MRTG配置文件中可以设置需要监测的目标变量 格式如下 Target Target Name target variable community devicetarget variable以OID的形式定义被测SNMP变量 community是用来访问路由器的SNMP口令 通常使用缺省的监视团体口令 pubilc device是被监测的设备的域名或IP地址 一般使用cfgmaker来自动生成默认配置文件 43 常用的一些SNMP变量的OID ifOperStatus 1 3 6 1 2 1 2 2 1 8 工作状态 ifInOctets 1 3 6 1 2 1 2 2 1 10 下行流量 ifInDiscards 1 3 6 1 2 1 2 2 1 13 丢弃的下行流量 ifOutOctets 1 3 6 1 2 1 2 2 1 16 上行流量 ifOutDiscards 1 3 6 1 2 1 2 2 1 19 丢弃的上行流量 ifOutQLen 1 3 6 1 2 1 2 2 1 21 上行流量队列长度 44 网络接口 1 3 6 1 2 1 2 下载 mrtg最新下载网址 http oss oetiker ch mrtg 由于MRTG是一个用Perl编写的程序 不需要安装 下载后直接解压即可 在Windows系统上安装MRTG
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号