Esiste un MIB SNMP per Cisco Track Objects


8

Il mio obiettivo è scrivere un controllo del servizio che tenga lo stato di un elenco di tracce Cisco che sta eseguendo un Boolean OR. Al momento ho uno screen raschietto, ma non è davvero l'ideale in termini di ridimensionamento di questo tipo di controllo del servizio.

L'oggetto traccia sottostante estrae semplicemente la route statica tracciata se object 10e object 20sono entrambi non raggiungibili, consentendo l'installazione di una route predefinita appresa BGP, che altrimenti si trova nello stato di errore RIB.

Esempio di configurazione:

!
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

Sarebbe ideale estrarre il numero di modifiche o lo Boolean ORstato (su o giù) da 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

Ho cercato con la macchina di Google, i forum e Cisco SNMP Object Navigator senza risultati.

Risposte:


8

Non credo che ci sia un modo per eseguire il polling diretto dei risultati ORtramite SNMP, ma puoi sicuramente eseguire il polling per i risultati di SLA IP e calcolarlo tu stesso.

Usando CISCO-RTTMON-MIB ( 1.3.6.1.4.1.9.9.42 ), puoi controllare il valore di timeout dei tuoi controlli di raggiungibilità, prendere il valore vero / falso che restituisce e fare ORin qualunque linguaggio di scripting stai usando sondaggio tramite SNMP.


Ad esempio, ho impostato un test simile al tuo sopra:

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

Quindi, ho verificato l'output in 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

Successivamente, con il tracciamento IP SLA attivo, ho installato CISCO-RTTMON-MIB sul mio server di monitoraggio e ho analizzato il valore di rttMonCtrlOperTimeoutOccurred ( 1.3.6.1.4.1.9.9.42.1.2.9.1.6 ) per l'output True / False .

L'elemento chiave da notare è che dal momento che stiamo eseguendo il polling se si è verificato un timeout o meno, False significa che la destinazione è raggiungibile e True indica che non è raggiungibile e che si è verificato un timeout .

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)

Infine, ho ridotto il traffico a 8.8.8.8 da quella casella e controllato di nuovo i risultati di traccia in IOS:

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

Ora che abbiamo uno degli oggetti test in uno Downstato, vediamo di nuovo i risultati del polling rttMonCtrlOperTimeoutOccurred:

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)

Ora, come ho detto sopra, dovresti semplicemente eseguire il polling di quei valori e usarli come è necessario nel tuo script.


5

Abbiamo avuto lo stesso problema e ho trovato la soluzione per questo:

Si chiama Expression MIB secondo RFC 2982 . È possibile eseguire OR logici su questo livello creando un nuovo oggetto OID SNMP che verrà calcolato contemporaneamente alla richiesta SNMP che arriva al router / switch per questo OID.

Successivamente è possibile utilizzare questo oggetto per eseguire il polling delle statistiche SNMP di 2 o più sonde SLA IP ORed (tramite Expression MIB).

Posso fornirti maggiori dettagli se vuoi. Preparerò anche un post sul blog con istruzioni dettagliate su come creare un nuovo OID SNMP per questo particolare utilizzo tramite Expression MIB.

Supponiamo che tu abbia 3 sonde SLA IP HTTP configurate sul dispositivo e desideri monitorare (tramite SNMP) i risultati OR:

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

È possibile utilizzare il seguente OID rttMonLatestHTTPOperSense (uno per immissione / sonda sla ip) e assegnare il suo valore alla variabile per utilizzare questi valori nella valutazione dell'espressione.

Come:

  1. distrugge un'eventuale vecchia espressione creata

    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 intero 6

  2. crea e aspetta

    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 intero 5

  3. crea l'indice da utilizzare in seguito per recuperare il risultato dell'espressione

    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 descrizione dell'espressione

    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 - Sonde IP SLA ORing"

  5. Espressione da valutare

    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. imposta la variabile $ 1 per 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. imposta la variabile $ 2 per 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. imposta la variabile $ 3 per 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. imposta il tipo di variabile $ 1 su assoluto (per delta è 2)

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.4.1.1 intero 1

  10. imposta il tipo di variabile $ 2 su assoluto (per delta è 2)

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.4.1.2 intero 1

  11. imposta il tipo di variabile $ 3 su assoluto (per delta è 2)

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.4.1.3 intero 1

  12. Impostare le righe nella tabella expObject su attivo

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.10.1.1 intero 1

  13. Impostare le righe nella tabella expObject su attivo

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.10.1.2 intero 1

  14. Impostare le righe nella tabella expObject su attivo

    snmpset -v2c -cstart123 172.0.0.1 1.3.6.1.4.1.9.10.22.1.3.2.1.10.1.3 intero 1

  15. Attiva l'espressione

    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 intero 1

Solo sceneggiatura:

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.