Je ne crois pas qu'il existe un moyen d'interroger directement les résultats du OR
via SNMP, mais vous pouvez certainement interroger les résultats IP SLA et les calculer vous-même.
À l'aide de CISCO-RTTMON-MIB (1.3.6.1.4.1.9.9.42), vous pouvez vérifier la valeur de délai d'expiration de vos vérifications d'accessibilité, prendre la valeur vraie / fausse qu'il renvoie et faire OR
dans le langage de script que vous utilisez pour sondage via SNMP.
Par exemple, j'ai configuré un test similaire au vôtre ci-dessus:
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
Ensuite, j'ai vérifié la sortie dans 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
Ensuite, avec le suivi SLA IP en place, j'ai installé le CISCO-RTTMON-MIB sur mon serveur de surveillance et pris en compte la valeur de rttMonCtrlOperTimeoutOccurred (1.3.6.1.4.1.9.9.42.1.2.9.1.6) pour sa sortie True / False .
L'élément clé à noter est que, puisque nous recherchons si un délai d'attente s'est produit ou non, False signifie que la destination est accessible , et True signifie qu'elle n'est pas accessible et qu'un délai d'attente s'est produit .
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)
Enfin, j'ai blackholé le trafic vers 8.8.8.8 à partir de cette case et vérifié à nouveau les résultats de la piste dans 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
Maintenant que nous avons l'un des objets de test dans un Down
état, voyons à nouveau les résultats de l'interrogation 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)
Maintenant, comme je l'ai indiqué ci-dessus, il vous suffira d'interroger ces valeurs et de les utiliser comme vous le souhaitez dans votre script.