9.3 RMON

RMON(Remote Monitoring,远程监控)可以大大增强SNMP的提供能力,让管理站能查看更多关于节点以及节点间交互的信息。

9.3.1 RMON 概述

与SNMP类似,RMON的功能也被用于管理站,即RMON控制台和被管代理,RMON数据被存储在路由器的表格中并被发送(被请求时或因某些事件而被触发发送trap)给RMON控制台。由于RMON在最大程度上减少了常规SNMP包中被轮询的数据量,因而减少了网络流量。路由器上的RMON引擎会在本地轮询SNMP MIB变量。RMON中有两个阈值,分别是上升阈值(rising threshold)和下降阈值(falling threshold),当MIB变量的值超过某个阈值时,RMON就会创建一条日志表项并发送一条SNMP trap消息,不过在MIB变量值超过另一个阈值之前,RMON都不会为该阈值生成更多的事件。即,变量值增大到超过上升阈值时会触发一个事件,但是在该变量值低于下降阈值之前都不会触发其他事件。

如果订购的路由器没有包含RMON选项,那么将拥有告警和事件能力。在RMON选项(仅2500和AS5200系列路由器提供)中增加了统计(statistics)、历史(history)、主机(host)、前N名主机(hostTopN)、矩阵(matrix)、过滤器(filter)和捕捉(capture)等7个组。

只有2500和AS5200系列路由器的以太网接口上支持数据包捕捉机制,并且仅能捕捉包头。数据包捕捉方式有如下两种。

• Natively(本地模式):目的地是该路由器以太网接口的数据包。

• Promiscuously(杂乱模式):以太网网段上的所有数据包。

由于数据包捕捉机制是数据敏感型和处理器敏感型机制,因而如果启用了该机制,那么就应该严密监控路由器的性能和网络流量。

通过告警和事件能力(结合现有的MIB变量),可以定义主动监控区域,还可以在任意MIB对象上设置告警,这些MIB对象的值可以是整数(integer)型、计数器(counter)型、容器(gauge)型或时间戳(timetick)型。


注意: RFC 2819中定义了全部RMON组以及这些组之间的相互作用。


9.3.2 路由器的RMON配置

定义一个告警表表项以及告警所要设置的变量的命令如下。

rmon alarm number variable interval {delta | absolute} rising-threshold value [event- number] falling-threshold value [event-number] [owner string]

其中,number惟一地标识了告警表中的表项,variable是一个MIB OID,interval是MIB对象相邻两次监控的间隔时间。关键字delta或absolute规定告警是否要测试指定间隔内MIB值的变化或实际的MIB值。rising-threshold是一个阈值,达到该阈值后就会生成一个事件,当本取样值大于或等于该阈值,且上一个取样值小于该阈值时,将生成一个事件。如果命令中指定了event-number,那么该值就是取样值超过上升阈值后所触发的事件数。仅当取样值低于falling-threshold时,才会生成另一个事件,这里的falling-threshold也是一个阈值,达到该阈值后也会生成一个事件;当本取样值小于或等于falling-threshold值,且上一个取样值大于该阈值时,将会生成一个事件;仅当取样值大于rising-threshold时,才会生成另一个事件。

在RMON事件表中增加或删除事件的命令如下。

rmon event number [log] [trap community] [description string] [owner string]

当满足或超过上述告警命令中所指定的event-numberrising-thresholdfalling-threshold时,将触发该命令所定义的事件,事件发生后将会生成一条日志表项或一条SNMP trap(或两者)。在发送SNMP trap之前,需要为命令rmon event中指定的团体配置命令snmp-server communitysnmp-server host。

例9-10对接口上的大量输出错误和路由器的高CPU使用率启用了相应的事件和告警机制。可以采用完整方式来录入MIB OID,如1.3.6.1.2.1.2.2.1.20.4(表示ifOutErrors的MIB值)或1.3.6.1.4.1.9.2.1.58.0(表示Cisco CPU MIB值,以CPU忙时利用率的5分钟移动平均值来表示),路由器会自动将该OID转换成例9-10所示结果。

例9-10:对接口上的大量输出错误和路由器的高CPU使用率启用事件和告警机制。

img540a

RMON事件1记录了一个被描述为“High ifOutErrors”(与所有者jsmith相关联)的事件,该事件还将同时触发一条有关团体eventtrap的SNMP trap,出现相关告警后将创建该事件。例9-10中为MIB变量ifEntry.20.4(代表4号接口上的输出差错)配置了编号为10的RMON告警,本例中的4号接口为串行接口1。告警机制以20秒为周期监控MIB变量,当变量值上升到15或更大时,就会触发告警,从而触发事件1。如果随后的MIB OID取样显示该接口上已经没有了输出错误,那么该告警将被重置并被再次触发。

RMON事件2被描述为“High 5-minute CPU”,当MIB OIDlsystem.58.0(AvgBusy5)的取样值等于或大于50时,相关联的告警(即编号为11的告警)将会生成该事件。当CPU忙时利用率的5分钟移动平均值小于25时,该告警将被重置并被再次触发。

例9-11显示了由事件1所生成的SNMP trap。

例9-11:由例9-10中定义的事件1所生成的SNMP trap。

img540b

RFC 2819定义了详细的告警表项4。告警表项1表示告警编号,如例9-11所示,本SNMP trap是由10号告警生成的。告警表项3定义了正被采样的对象标识符,本条SNMP trap中的 OID是ifEntry.20.4(即串行接口1上的输出错误数)。告警表项4是采样类型,值为1表示该取样类型为绝对值,值为2表示该取样类型为增量。告警表项5是最后一个采样周期内的告警值。告警表项7是已定义的上升阈值,在例9-11的SNMP trap中,告警值20超过了上升阈值15,因而产生告警事件。

利用命令show rmon alarmsshow rmon events可以查看RMON的告警和事件。

例9-12显示了这两个命令的输出结果。

例9-12:利用命令show rmon alarms和show rmon events显示RMON的告警和事件表。

img540c

img541

事件和告警表中显示的时间是该事件生成时的sysUPTime值,sysUPTime表示路由器最后一次重启后到现在所经过的时间,例9-12中显示的时间值为1天0小时。