¿Existe una SNIB MIB para Cisco Track Objects?

8

Mi objetivo es escribir una verificación de servicio que extraiga el estado de una lista de seguimiento de Cisco que está realizando a Boolean OR. Actualmente tengo un raspador de pantalla, pero eso no es realmente ideal en términos de escalar este tipo de verificación de servicio.

El objeto pista a continuación, simplemente saca la ruta estática si rastreados object 10y object 20son a la vez inalcanzable, lo que permite una BGP aprendió ruta por defecto para ser instalado, que es lo contrario en el estado RIB-fracaso.

Ejemplo de configuración:

!
track 10 ip sla 1 reachability
!
track 20 ip sla 2 reachability
!
track 30 list boolean or
 object 10
 object 20
!
ip sla 1
 icmp-echo 8.8.8.8 source-ip 10.10.10.10
ip sla schedule 1 life forever start-time now
ip sla 2
 icmp-echo 4.2.2.2 source-ip 10.10.10.10
ip sla schedule 2 life forever start-time now

ip route 0.0.0.0 0.0.0.0 10.10.10.1 track 30

Sería ideal extraer el número de cambios o el Boolean ORestado (arriba o abajo) de un OID.

HOSTNAME#show track 30
Track 30
  List boolean or
  Boolean OR is Up
    14716 changes, last change 02:18:47
    object 10 Up
    object 20 Up
  Tracked by:
    STATIC-IP-ROUTINGTrack-list 0

He estado cavando a través de la máquina de Google, los foros y el navegador de objetos SNMP de Cisco en vano.

una vez
fuente

Respuestas:

8

No creo que haya una manera de sondear directamente los resultados de ORSNMP, pero ciertamente puede sondear los resultados de SLA de IP y calcularlos usted mismo.

Usando el CISCO-RTTMON-MIB (1.3.6.1.4.1.9.9.42), puede verificar el valor de tiempo de espera de sus comprobaciones de accesibilidad, tomar el valor verdadero / falso que devuelve y hacer lo que ORsea ​​en el lenguaje de script que esté utilizando para encuesta a través de SNMP.


Por ejemplo, configuré una prueba similar a la tuya anterior:

track 10 ip sla 1 reachability
!
track 20 ip sla 2 reachability
!
track 30 list boolean or
 object 10
 object 20
!
ip sla 1
 icmp-echo 8.8.8.8 source-ip 10.129.10.62
ip sla schedule 1 life forever start-time now
ip sla 2
 icmp-echo 4.2.2.2 source-ip 10.129.10.62
ip sla schedule 2 life forever start-time now
!
ip route 10.171.20.0 255.255.255.252 10.129.10.61 track 30

Luego, verifiqué el resultado en IOS:

R-VOIPLAB#show track 30
Track 30
  List boolean or
  Boolean OR is Up
    2 changes, last change 00:01:21
    object 10 Up
    object 20 Up

Luego, con el seguimiento de IP SLA en su lugar, instalé el CISCO-RTTMON-MIB en mi servidor de monitoreo y caminé el valor de rttMonCtrlOperTimeoutOccurred (1.3.6.1.4.1.9.9.42.1.2.9.1.6) para su salida Verdadero / Falso .

El elemento clave a tener en cuenta es que, dado que estamos encuestando si se produjo un tiempo de espera o no, False significa que se puede llegar al destino , y True significa que no se puede acceder y se ha producido un tiempo de espera .

snmpwalk -v3 -a SHA -A SNMP-AUTH-PASS -l authNoPriv -u SNMPUSER r-voiplab rttMonCtrlOperTimeoutOccurred
CISCO-RTTMON-MIB::rttMonCtrlOperTimeoutOccurred.1 = INTEGER: false(2)
CISCO-RTTMON-MIB::rttMonCtrlOperTimeoutOccurred.2 = INTEGER: false(2)

Finalmente, bloqueé el tráfico a 8.8.8.8 desde ese cuadro, y verifiqué los resultados de Rastrear en IOS nuevamente:

R-VOIPLAB(config)#ip route 8.8.8.8 255.255.255.255 null 0
R-VOIPLAB(config)#end
R-VOIPLAB#show track 30
Track 30
  List boolean or
  Boolean OR is Up
    2 changes, last change 00:21:18
    object 10 Down
    object 20 Up
  Tracked by:
    STATIC-IP-ROUTING 0

Ahora que tenemos uno de los objetos de prueba en un Downestado, veamos los resultados del sondeo rttMonCtrlOperTimeoutOccurred nuevamente:

snmpwalk -v3 -a SHA -A SNMP-AUTH-PASS -l authNoPriv -u SNMPUSER r-voiplab rttMonCtrlOperTimeoutOccurred
CISCO-RTTMON-MIB::rttMonCtrlOperTimeoutOccurred.1 = INTEGER: true(1)
CISCO-RTTMON-MIB::rttMonCtrlOperTimeoutOccurred.2 = INTEGER: false(2)

Ahora, como dije anteriormente, solo tendría que sondear esos valores y usarlos como lo necesite en su script.

Brett Lykins
fuente
5

Tuvimos el mismo problema y encontré la solución:

Se llama Expression MIB según RFC 2982 . Puede hacer un OR lógico en este nivel creando un nuevo objeto OID SNMP que se calculará al mismo tiempo que la solicitud SNMP llega al enrutador / conmutador para este OID.

Luego, puede usar este objeto para sondear estadísticas SNMP de 2 o más sondas IP SLA ORed (a través de Expression MIB).

Puedo proporcionarle más detalles si lo desea. También prepararé una publicación de blog al respecto con instrucciones paso a paso sobre cómo crear un nuevo OID SNMP para este uso particular a través de Expression MIB.

Digamos que tiene 3 sondas HTTP SLA IP configuradas en el dispositivo y desea monitorear (a través de SNMP) el resultado ORed:

  1. IP SLA Index / rttMonHTTPStatsEntry == 3000
  2. IP SLA Index / rttMonHTTPStatsEntry == 3001
  3. IP SLA Index / rttMonHTTPStatsEntry == 3002

Puede usar el siguiente OID rttMonLatestHTTPOperSense (uno por entrada / sonda sla ip) y asignar su valor a variable para usar estos valores en la evaluación de expresiones.

Cómo:

  1. destruye una expresión antigua eventual que se crea

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.2.3.1.3.101.49.101.120.112 entero 6

  2. crear y esperar

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.2.3.1.3.101.49.101.120.112 entero 5

  3. crea el índice para usar más tarde para recuperar el resultado de la expresión

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.2.3.1.2.101.49.101.120.112 u 1

  4. la descripción de la expresión

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.1.1.4.1 s "Expression MIB - Sondas IP SLA ORing"

  5. Expresión a evaluar

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.1.1.2.1 s '((($ 1 <2) && ($ 1> 0)) || (($ 2 <2) && ($ 2 > 0)) || (($ 3 <2) && ($ 3> 0))) '

  6. establece la variable $ 1 para rttMonLatestHTTPOperSense

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.2.1.1 objectidentifier 1.3.6.1.4.1.9.9.42.1.5.1.1.6.3000

  7. establece la variable $ 2 para rttMonLatestHTTPOperSense

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.2.1.2 objectidentifier 1.3.6.1.4.1.9.9.42.1.5.1.1.6.3001

  8. establece la variable $ 3 para rttMonLatestHTTPOperSense

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.2.1.3 objectidentifier 1.3.6.1.4.1.9.9.42.1.5.1.1.6.3002

  9. establece el tipo de variable $ 1 en absoluto (para delta es 2)

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.4.1.1 entero 1

  10. establece el tipo de variable $ 2 en absoluto (para delta es 2)

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.4.1.2 entero 1

  11. establece el tipo de variable $ 3 en absoluto (para delta es 2)

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.4.1.3 entero 1

  12. Establezca las filas en expObjectTable como activas

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.10.1.1 entero 1

  13. Establezca las filas en expObjectTable como activas

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.10.1.2 entero 1

  14. Establezca las filas en expObjectTable como activas

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.10.1.3 entero 1

  15. Activa la expresión

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.2.3.1.3.101.49.101.120.112 entero 1

Solo guión:

snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.2.3.1.3.101.49.101.120.112 integer 6
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.2.3.1.3.101.49.101.120.112 integer 5
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.2.3.1.2.101.49.101.120.112 u 1
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.1.1.4.1 s "Expression MIB - IP SLA Probes ORing"
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.1.1.2.1 s '((($1 < 2) && ($1 > 0)) || (($2 < 2) && ($2 > 0)) || (($3 < 2) && ($3 > 0)))'
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.2.1.1 objectidentifier 1.3.6.1.4.1.9.9.42.1.5.1.1.6.3000
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.2.1.2 objectidentifier 1.3.6.1.4.1.9.9.42.1.5.1.1.6.3001
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.2.1.3 objectidentifier 1.3.6.1.4.1.9.9.42.1.5.1.1.6.3002
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.4.1.1 integer 1
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.4.1.2 integer 1
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.4.1.3 integer 1
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.10.1.1 integer 1
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.10.1.2 integer 1
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.10.1.3 integer 1
snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.2.3.1.3.101.49.101.120.112 integer 1
damian1baran
fuente