¿Cuándo cambia el contador de Cisco IOS SNMP "ifCounterDiscontinuityTime"?

7

Según el navegador de objetos SNMP de Cisco, el ifCounterDiscontinuityTimecontador (1.3.6.1.2.1.31.1.1.1.19) es el valor de sysUpTimela ocasión más reciente en la que uno o más de estos contadores de interfaz sufrieron una discontinuidad. ¿Cómo causar esta discontinuidad? He intentado deshabilitar la interfaz del enrutador ("apagado" y "no apagar" durante cinco segundos), quitando el cable físico durante cinco segundos del puerto del enrutador, pero el valor de ifCounterDiscontinuityTimees cero:

# 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
# 

Incluso hice que el Counter32contador de tipo se ajustara, pero el ifCounterDiscontinuityTimecero se mantuvo:

$ 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.1es un conmutador Cisco y 10107es un SNMP ifIndexpara el puerto Gi0 / 7.

¿Cuándo ifCounterDiscontinuityTimecambia el contador SNMP en Cisco IOS?

Martín
fuente
Hmm ... creo que es más un enrutador o un problema de conexión ... idk ... voy a investigar esto, pero seguro que es un tiempo de espera seguro de que tal vez la señal no obtuvo una buena respuesta.
popscapo

Respuestas:

6

IfCounterDiscontinuityTime se activa cuando las interfaces se eliminan dinámicamente de un dispositivo y luego esa misma interfaz se vuelve a agregar dinámicamente. Probé esto usando una interfaz de bucle invertido, pero creo que el comportamiento sería el mismo para la interfaz modular cuya existencia cambiaría en función de si el módulo estaba presente o no. Los pasos para reproducir esto están a continuación y hay algunas lecturas adicionales sobre este tema en el RFC aquí: https://tools.ietf.org/html/rfc2863#section-3.1.5

1. Cree el loopback 100 y descubra que es 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. Compruebe el valor actual de ifCounterDiscontinuityTime para Loopback100

[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. Elimine Loopback100 y verifique el valor de 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. Vuelva a agregar Loopback100 y verifique el valor de 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
Luke Klimasauskas
fuente
¡Gracias! Puedo confirmar que, por ejemplo, la eliminación y la inserción del WS-X4306-GBo WS-X4448-GB-RJ45de línea de tarjetas en WS-C4506el chasis también causará ifCounterDiscontinuityTimeal cambio. Entonces, ifCounterDiscontinuityTime¿registrará básicamente la marca de tiempo cuando la interfaz esté disponible para el motor SNMP? Si la interfaz ha estado disponible desde el principio, ifCounterDiscontinuityTime¿permanecerá 0?
Martin
1
Si entiendo el RFC correctamente ifCounterDiscontinuityTime registra la marca de tiempo cuando la interfaz volvió a estar presente usando el mismo ifIndex. El propósito de esto es que su software de monitoreo SNMP sabe que no debe usar los datos del contador de la interfaz obsoleta cuando se compara con los datos del nuevo contador de la interfaz. La única vez que se inicializa el valor ifCounterDiscontinuityTime es cuando se elimina una interfaz, luego se vuelve a agregar con el mismo ifIndex que tenía anteriormente; de ​​lo contrario, permanecería en cero. Espero que ayude.
Luke Klimasauskas
3

Creo que la discontinuidad se refiere a una anormalidad. Encontre esto

El valor de sysUpTime en la ocasión más reciente en la que uno o más de los contadores de esta interfaz sufrieron una discontinuidad. Los contadores relevantes son las instancias específicas asociadas con esta interfaz de cualquier objeto Counter32 o Counter64 contenido en ifTable o ifXTable. Si no se han producido tales discontinuidades desde la última reinicialización del subsistema de gestión local, este objeto contiene un valor cero.

para mí, eso implica que la "discontinuidad" está relacionada con la conversión de enteros de tamaño de bit.

Entonces, si ve el cambio de sysTime, sabe que los contadores que ahora muestran valores comprobados más pequeños que la última vez, de hecho, se han ajustado, como si hubiera reiniciado.

Craig Constantine
fuente
¡Gracias por responder! Para ser honesto, esto es un poco confuso. Si veo un sysUpTimecambio a un valor más pequeño que la última comprobación, creo que los contadores que muestran valores comprobados más pequeños que la última vez no están ajustados porque el dispositivo se volvió a cargar. ¿O te he entendido mal de alguna manera? Además, envolví un Counter32contador de tipo y no me afectó ifCounterDiscontinuityTime. Actualicé mi publicación inicial.
Martin