Cisco IOS SNMP“ifCounterDiscontinuityTime”计数器何时更改?

网络工程 思科 snmp
2021-07-11 00:49:33

根据 Cisco SNMP object navigator,ifCounterDiscontinuityTime(1.3.6.1.2.1.31.1.1.1.19) 计数器是sysUpTime最近一次此接口计数器中的任何一个或多个发生不连续时的值。如何造成这种不连续性?我试图禁用路由器接口(“关机”和“不关机”五秒钟),从路由器端口移除物理电缆五秒钟,但值仍然ifCounterDiscontinuityTime为零:

# snmpwalk -v 2c -c public 192.168.1.1 1.3.6.1.2.1.31.1.1.1.19
iso.3.6.1.2.1.31.1.1.1.19.1 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.31.1.1.1.19.2 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.31.1.1.1.19.3 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.31.1.1.1.19.4 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.31.1.1.1.19.5 = Timeticks: (0) 0:00:00.00
# 

我什至导致Counter32类型计数器换行,但ifCounterDiscontinuityTime保持为零:

$ snmpwalk -v 2c -c public 192.168.1.1 ifInOctets.10107
IF-MIB::ifInOctets.10107 = Counter32: 4278115545
$ snmpwalk -v 2c -c public 192.168.1.1 1.3.6.1.2.1.31.1.1.1.19.10107
IF-MIB::ifCounterDiscontinuityTime.10107 = Timeticks: (0) 0:00:00.00
$ snmpwalk -v 2c -c public 192.168.1.1 ifInOctets.10107
IF-MIB::ifInOctets.10107 = Counter32: 18656065
$ snmpwalk -v 2c -c public 192.168.1.1 1.3.6.1.2.1.31.1.1.1.19.10107
IF-MIB::ifCounterDiscontinuityTime.10107 = Timeticks: (0) 0:00:00.00
$ 

192.168.1.1是 Cisco 交换机,10107ifIndex端口 Gi0/7的 SNMP

ifCounterDiscontinuityTimeCisco IOS中的 SNMP计数器何时更改?

2个回答

ifCounterDiscontinuityTime 在从设备动态删除接口然后动态重新添加同一接口时触发。我使用环回接口对此进行了测试,但我相信模块化接口的行为将相同,模块化接口的存在会根据模块是否存在而改变。重现此内容的步骤如下,在此处的 RFC 中有关于此主题的一些进一步阅读:https : //www.rfc-editor.org/rfc/rfc2863#section-3.1.5

1.创建loopback 100,发现是ifindex

router1#conf t
router1(config)#int loopback100
router1(config-if)#end

[user@host logs]$ snmpwalk -v 2c -c $COMMUNITY router1 .1.3.6.1.2.1.2.2.1.2 | grep Loopback
IF-MIB::ifDescr.67 = STRING: Loopback100

2.检查Loopback100的ifCounterDiscontinuityTime的当前值

[user@host logs]$ snmpwalk -v 2c -c $COMMUNITY router1 1.3.6.1.2.1.31.1.1.1.19.67
IF-MIB::ifCounterDiscontinuityTime.67 = Timeticks: (0) 0:00:00.00

3. 移除 Loopback100 并检查 ifCounterDiscontinuityTime 的值

router1(config)#no int loopback 100

[user@host logs]$ snmpwalk -v 2c -c $COMMUNITY router1 1.3.6.1.2.1.31.1.1.1.19.67
IF-MIB::ifCounterDiscontinuityTime.67 = No Such Instance currently exists at this OID

4.重新添加Loopback100,查看ifCounterDiscontinuityTime的值

router1(config)#int loopback 100

[user@host logs]$ snmpwalk -v 2c -c $COMMUNITY router1 1.3.6.1.2.1.31.1.1.1.19.67
IF-MIB::ifCounterDiscontinuityTime.67 = Timeticks: (111308186) 12 days, 21:11:21.86

我认为不连续性是指异常。我发现了这个

sysUpTime 在此接口的任何一个或多个计数器最近出现中断的情况下的值。相关计数器是与包含在 ifTable 或 ifXTable 中的任何 Counter32 或 Counter64 对象的此接口相关联的特定实例。如果自上次本地管理子系统重新初始化后没有发生这种不连续性,则该对象包含零值。

对我来说,这意味着“不连续性”与位大小整数翻转有关。

因此,如果您看到 sysTime 更改,您就会知道现在显示小于上次检查时间的值的计数器实际上已经回绕,就好像您已经重新启动一样。