Logiciels Cisco IOS et NX-OS : Cisco IOS Embedded Event Manager (EEM)

Applet EEM utilisés pour détecter et boucles de transfert claires de PfR

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires

Introduction

Ce document décrit les applet encastrés du gestionnaire d'événement (EEM) qui sont utilisés dans les réseaux où le routage de représentation (PfR) optimise le trafic par de plusieurs relais de cadre (BRs). On observe également quelques boucles de transfert. Les applet sont utilisés afin de collecter des données quand on observe une boucle et atténuer l'incidence d'une boucle de transfert.

Contribué par Fabrice Ducomble et Atri Basu, ingénieurs TAC Cisco.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Composants utilisés

Les informations dans ce document sont basées sur le logiciel de Cisco IOS® qui prend en charge la version 4.0 EEM.

Afin de vérifier la version EEM prise en charge par votre Cisco IOS libérez, utilisez cette commande :

Router#sh event manager version | i Embedded
Embedded Event Manager Version 4.00
Router#

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Informations générales

Quand PfR contrôle une classe du trafic (comité technique), il crée un mappage de route/liste de contrôle d'accès dynamiques (ACL) sur le BRs. Le mappage de route sur un BR avec des points de sortie sélectionnés à une sortie sélectionnée, alors qu'un mappage de route sur l'autre BRs indique une interface interne (prochain-saut = BR sélectionné).

    

Un problème se pose quand l'ACLs dynamique pas synched correctement entre le BRs différent (dû aux bogues, par exemple).

Dans cette image, le foyer est sur le comité technique appariant tous les paquets IP destinés à 172.16.1.0/24 avec le DSCP E-F. Dans ce scénario, le rubrique de liste ACL relatif est retiré du BR sélectionné (BR2), mais pas de BR-1. Les paquets de ce comité technique frappent sur le BR2 avec l'entrée de préfixe qui apparie tous les paquets IP destinés à 172.16.1.0/24. La sortie sélectionnée pour l'entrée de préfixe est Exit-1, ainsi le route-map/ACL relatif sur des points de BR2 à BR-1.

   

Les paquets de ce comité technique font une boucle maintenant entre le BRs jusqu'à ce que les portées 0 du Time to Live (TTL).

Ce document fournit les applet nécessaires EEM utilisés :

  • Détectez une boucle de transfert entre BRs
  • Collectez les informations pertinentes et effacez le PfR

Les applet utilisés dans le cas d'un combo de contrôleur principal (MC) /BR sont beaucoup plus faciles (quand MC fonctionne sur un du BRs). Le scénario avec le support de consoles multiples dédié est également couvert.

Détails d'applet EEM

Cette section décrit les Listes d'accès utilisées pour ce processus, aussi bien que des fichiers journal d'applet.

Listes d'accès utilisées

Afin de détecter des boucles de transfert, l'applet se fonde sur un ACL pour apparier des paquets avec le bas TTL.

Remarque: L'ACL s'assortissant sur TTL est pris en charge sur la version 3.7s de gamme 1000 des routeurs de service d'agrégation (ASR) (15.2(4)S) et plus tard.

Il est recommandé pour utiliser ACE s'assortissant sur 2x consécutif, relativement bas, des valeurs de TTL (20 et 21) afin d'obtenir un (et seulement un) frappé pour chaque paquet ce des boucles entre BRs. La valeur de TTL utilisée ne devrait pas être si basse afin d'éviter des hit fréquents des paquets de traceroute.

interface gig0/0 (internal interface)
 ip access-group LOOP in
!
ip access-list extended LOOP
 permit ip 10.116.48.0 0.0.31.255 any ttl range 20 21
 permit ip any any

L'ACL devrait être placé sur l'interface interne signalée dans la sortie de commande de topologie de cadre de maître de pfr d'exposition.

La plage de source ip (ici 10.116.48.0/20) devrait apparier les réseaux internes (préfixes accessibles par l'intermédiaire des interfaces internes).

Remarque: Si vous ne pouvez pas récapituler des réseaux internes dans une entrée de liste d'accès (ACE), vous pouvez utiliser plusieurs as ; cependant, le script doit être légèrement modifié afin de vérifier des nombres de hits sur plusieurs lignes.

Remarque: La caractéristique d'automatique-tunnel doit être arrêtée (aucun automatique-tunnels de mode en mode principal de PfR). Si le BRs ne sont pas directement connectés, des tunnels manuels d'Encapsulation de routage générique (GRE) doivent être créés et l'ACL être placés sur l'interface de tunnel.

Afin d'identifier que le distant site/TC est affecté par la boucle, vous pouvez ajouter un deuxième ACL sortant sur l'interface, avec des as plus spécifiques pour chaque distant site/TC.

interface gig0/0 (internal interface)
 ip access-group LOOP-DETAIL out

!
ip access-list extended LOOP-DETAIL

permit ip 10.116.48.0 0.0.31.255 10.116.132.0 0.0.0.255 ttl range 20 21
permit ip 10.116.48.0 0.0.31.255 10.116.128.0 0.0.0.255 ttl range 20 21
  .... (add here one line per remote site)
permit ip any an

L'IP de destination apparie le sous-réseau dans les différents sites distants :

10.116.132.0/24 -> site-1
10.116.128.0/24 -> site-2

Vous pouvez également ajouter plusieurs lignes par site distant si vous devez identifier le comité technique précis affecté par la boucle.

Fonctions d'applet

L'applet vérifie les hitcounts d'ACE s'assortissant sur le TTL dans la boucle d'ACL toutes les trente secondes. Basé sur les résultats de ces derniers vérifie, l'applet pourrait effectuer ces tâches :

  • Si les hitcounts dépassent un seuil configuré (THRESHOLD_1), l'applet efface le compte d'ACL et revérifie les hitcounts en quinze secondes.
  • Après les quinze secondes, si les hitcounts sont au-dessus d'un deuxième seuil (THRESHOLD_2), il pourrait y a une boucle. Vous devez collecter un ensemble de sorties et effacer le PfR afin de réparer le problème de boucle. 
  • Les deuxièmes seuils sont définis en tant que variables globales, ainsi ils sont accordés facilement sans reprise d'applet.
  • La valeur optimale pour ces seuils dépend principalement du débit de paquets moyen par comité technique.

Fichiers journal d'applet

L'applet met à jour un fichier journal qui maintient le nombre de hitcounts (quand le compte est plus grand que 0), et toutes les rencontres des boucles provisoires (quand THRESHOLD_1 n'est dépassé mais pas THRESHOLD_2) ou une vraie boucle (quand THRESHOLD_1 et THRESHOLD_2 sont dépassés).

Applet pour le combo MC/BR et d'autres scénarios de BR

Ce sont les scénarios les plus simples décrits dans ce document. La détection de boucle et l'effacement de PfR sont faits sur le même périphérique, tellement là n'est aucun besoin d'écrire la transmission d'applet du périphérique EEM. Un applet distinct fonctionne sur un combo MC/BR et tout autre BRs.

Applet sur le combo MC/BR

Cette sortie affiche les informations importantes pour l'applet utilisé sur le combo MC/BR. Voici quelques informations importantes pour cette sortie spécifique :

  • La valeur affichée pour THRESHOLD_1 est 1000, et les valeurs affichées pour THRESHOLD_2 est 500. Ceci implique que les lancements d'applet si le débit du comité technique affecté par la boucle est le supérieur à 1000/30 (33 PPS).
  • La variable de DISQUE identifie où les fichiers de log et de sortie sont poussés (affiché ici sur le bootflash).
  • L'horodateur des entrées dans le fichier journal dérivent de la sortie de commande de show clock. Les caractères au milieu (affiché ici en tant que « est ») dépendent du fuseau horaire et doivent être ajustés (voir l'action 240).
  • Les sorties qui doivent être collectées en cas de boucle sont enfoncées le fichier de script-sortie-xxxxxxx dans le bootflash, où « xxxxxx » est le nombre de secondes depuis 1970 (utilisé pour faire de seuls noms de fichier pour chaque occurrence de boucle).
  • Les commandes collectées sont répertoriées dans les actions 330, 340, 350, et 360. Quelques autres/différentes commandes peuvent être ajoutées.
event manager environment THRESHOLD_1 1000
event manager environment THRESHOLD_2 500
event manager environment DISK bootflash

!
event manager applet LOOP-MON authorization bypass
 event timer watchdog name LOOP time 30
 action 100 cli command "enable"
 action 110 cli command "show ip access-list LOOP"
 action 120 set regexp_substr 0
 action 130 regexp "range 20 21 \(([0-9]+) matches\)"
 $_cli_result _regexp_result regexp_substr
 action 140 cli command "clear ip access-list counters LOOP"
 action 150 if $regexp_substr gt 0
 action 200 set MATCHES $regexp_substr
 action 210 file open LOGS $DISK:script-logs.txt a
 action 220 cli command "enable"
 action 230 cli command "show clock"
 action 240 regexp "[0-9]+:[0-9]+:[0-9]+.[0-9]+ est [A-Za-z]+
  [A-Za-z]+ [0-9]+ 201[0-9]" $_cli_result _regexp_result

 action 250 set TIME $_regexp_result
 action 260 if $MATCHES gt $THRESHOLD_1
 action 270 wait 15
 action 280 cli command "show ip access-list LOOP"
 action 290 set regexp_substr 0
 action 300 regexp "range 20 21 \(([0-9]+) matches\)"
  $_cli_result _regexp_result regexp_substr
 action 310 if $regexp_substr gt $THRESHOLD_2
 action 320 cli command "enable"
 action 330 cli command "show ip access-list LOOP-DETAIL
  | tee /append $DISK:script-output-$_event_pub_sec.txt"
 action 340 cli command "show pfr master traffic-class perf det
  | tee /append $DISK:script-output-$_event_pub_sec.txt"
 action 350 cli command "show route-map dynamic detail
  | tee /append $DISK:script-output-$_event_pub_sec.txt"
 action 360 cli command "show ip route
  | tee /append $DISK:script-output-$_event_pub_sec.txt"

 action 370 cli command "clear pfr master *"
 action 380 cli command "clear ip access-list counters LOOP-DETAIL"
 action 390 file puts LOGS "$TIME - LOOP DETECTED - PfR CLEARED -
  matches $MATCHES > $THRESHOLD_1 and $regexp_substr
> $THRESHOLD_2 - see $DISK:script-output-$_event_pub_sec.txt"
 action 400 syslog priority emergencies msg "LOOP DETECTED -
  PfR CLEARED - see $DISK:script-output-$_event_pub_sec.txt !"
 action 410 else
 action 420 file puts LOGS "$TIME - TEMPORARY LOOP : matches
  $MATCHES > $THRESHOLD_1 and $regexp_substr < or = $THRESHOLD_2"
 action 430 cli command "clear ip access-list counters LOOP-DETAIL"
 action 440 end
 action 450 else
 action 460 cli command "en"
 action 470 cli command "clear ip access-list counters LOOP-DETAIL"
 action 480 file puts LOGS "$TIME - number of matches =
  $MATCHES < $THRESHOLD_1"
 action 490 end
 action 500 else
 action 510 cli command "clear ip access-list counters LOOP-DETAIL"
 action 520 end

Applet pour l'autre BRs

Cette section décrit l'applet utilisé pour l'autre BRs. Voici quelques informations importantes pour cette sortie spécifique :

  • L'applet exécute toutes les vingt secondes tandis que le script sur un combo MC/BR exécute toutes les trente secondes. Ceci s'assure que l'applet sur les lancements de BR avant que le PfR soit effacé par l'intermédiaire de l'applet qui exécute sur le MC/BR.
  • Un seul seuil est utilisé, tellement là n'est aucun besoin d'éviter le positif de défaut.
  • La valeur affichée pour le SEUIL est 700, et devrait être placée selon la valeur THRESHOLD_1 dans l'applet MC/BR.
  • Le fichier journal d'applet est enfoncé le fichier de script-logs.txt dans flash0. Ceci peut être changé dans l'action 170 et la variable de DISQUE.
  • L'horodateur des entrées dans le fichier journal dérivent de la sortie de commande de show clock. Les caractères au milieu (affiché ici en tant que « est ») dépend du fuseau horaire et doit être ajustés (voir l'action 190).
  • Les sorties qui doivent être collectées en cas de boucle sont enfoncées le fichier de script-sortie-xxxxxxx, où « xxxxxx » est le nombre de secondes depuis 1970 (utilisé pour faire de seuls noms de fichier pour chaque occurrence de boucle).
  • Les commandes collectées sont répertoriées dans l'action 230 et l'action 240. Quelques autres/différentes commandes peuvent être ajoutées.
event manager environment THRESHOLD 700
event manager environment DISK flash 0

!
event manager applet LOOP-BR authorization bypass
  event timer watchdog name LOOP time 20
 action 100 cli command "enable"
 action 110 cli command "show ip access-list LOOP"
 action 120 set regexp_substr 0
 action 130 regexp "range 20 21 \(([0-9]+) matches\)"
  $_cli_result _regexp_result regexp_substr
 action 140 cli command "clear ip access-list counters LOOP"
 action 150 if $regexp_substr gt 0
 action 160  set MATCHES $regexp_substr
 action 170  file open LOGS $DISK:script-logs.txt a
 action 180  cli command "show clock"
 action 190  regexp "[0-9]+:[0-9]+:[0-9]+.[0-9]+
  est [A-Za-z]+ [A-Za-z]+ [0-9]+ 201[0-9]" $_cli_result _regexp_result

 action 200  set TIME $_regexp_result
 action 210  if $MATCHES gt $THRESHOLD
 action 220   cli command "enable"
 action 230   cli command "show route-map dynamic detail | tee /append
  $DISK:script-output-$_event_pub_sec.txt"
 action 240   cli command "show ip route | tee /append
  $DISK:script-output-$_event_pub_sec.txt"
 action 250   file puts LOGS "$TIME : matches = $MATCHES >
  $THRESHOLD - see $DISK:script-output-$_event_pub_sec.txt"
 action 260   syslog priority emergencies msg "LOOP DETECTED -
  Outputs captured - see $DISK:script-output-$_event_pub_sec.txt !"
 action 270  else
 action 280   file puts LOGS "$TIME : matches = $MATCHES < or = $THRESHOLD"
 action 290  end
 action 300 end  

Applet pour le scénario dédié de MC

La détection de boucle et l'effacement de PfR/collection Stats est terminée sur les différents périphériques qui doivent avoir la transmission d'applet du l'inter-périphérique EEM. La transmission entre les périphériques se produit dans différentes manières. Ce document décrit la transmission de périphérique par l'intermédiaire des objets dépistés afin de vérifier l'accessibilité des bouclages dédiés annoncés dans l'IGP. Quand un événement est détecté, le bouclage est arrêté, qui permet à des applet sur des périphériques distants pour lancer quand l'objet qui est dépisté va off-line. Vous pouvez utiliser différents bouclages si le besoin d'informations différent d'être permuté.

Transmission d'applet

Ces applet et moyens de communication sont utilisés :

Nom d'appletOù ?Ce qui ?Déclencheur ?Transmission ?
LOOP-BRBRs

Hitcounts d'ACL de contrôle afin de détecter des boucles

PériodiqueLoop100 fermé
LOOP-MCMC- Collectez les informations de PfR
- Espaces libres PfR
Accessibilité Loop100 de pisteLoop200 fermé
COLLECT-BRBRsCollectez les informationsAccessibilité Loop200 de pisteaucun


 

Voici une image qui illustre ceci :

C'est le processus utilisé par les applet :

  1. Une boucle est détectée par l'applet LOOP-BR sur le BRs. On le suppose que la boucle est détectée sur le BR2 d'abord.
  2. L'applet ferme Loop100 sur le BR2, et les informations sont annoncées sur le Protocole IGP (Interior Gateway Protocol).
  3. L'objet dépisté pour Loop100 du BR2 va off-line sur MC, et les débuts d'applet LOOP-MC. PfR maîtrisent des sorties sont collectés, et le bouclage 200 sur MC est arrêté. Les informations sont annoncées sur l'IGP. Un dix-deuxième temporisateur de sommeil commence.
  4. L'objet dépisté pour Loop200 sur MC va off-line sur des les deux BRs. Ceci déclenche l'applet COLLECT-BR qui collecte des informations de Br-particularité.
  5. Le temporisateur de sommeil (étape 3) commence, et MC efface le PfR.

Remarque: Si BR-1 détecte la boucle avant que le PfR soit effacé, l'objet dépisté qui va off-line est ignoré sur MC (l'applet LOOP-MC exécute une fois une minute).

Créez les objets et les bouclages de piste

Cette section décrit comment créer des bouclages (assurez que les IPS sont annoncés sur l'IGP) et des objets de piste.

Objets de piste

Voici quelques points importants à maintenir dans l'esprit quand vous créez des objets de piste :

  • Un objet de piste unique est nécessaire sur BRs, qui est utilisé afin de dépister loopback200 sur MC (cette collecte des informations de déclencheurs).
  • Plusieurs objets de piste sont nécessaires sur MC :
    • Les pistes 1 et 2 sont utilisées afin de dépister loopback100 sur BR-1 et BR2, respectivement.
    • Les pistes 11 et 12 sont utilisées afin de dépister la Connectivité entre BR-1 et BR2, respectivement (évite l'effacement de PfR quand il y a des problèmes de connectivité entre BRs).
    • Dépistez 20 dépiste le logique ET entre les pistes 11 et 12. Ceci est utilisé afin de vérifier que MC obtient l'accessibilité à tout le BRs.
  • La valeur d'artère d'IP de track timer est placée à une seconde afin d'accélérer la détection de problème d'accessibilité (la valeur par défaut est de 15 secondes). 

BR-1

interface Loopback100
  ip address 10.100.100.1 255.255.255.255
!
track timer ip route 1
track 1 ip route 10.100.100.200 255.255.255.255 reachability

BR2

interface Loopback100
ip address 10.100.100.2 255.255.255.255
!
track timer ip route 1
track 1 ip route 10.100.100.200 255.255.255.255 reachability

MC

interface Loopback200
ip address 10.100.100.200 255.255.255.255
!
track timer ip route 1

track 1 ip route 10.100.100.1 255.255.255.255 reachability
track 2 ip route 10.100.100.2 255.255.255.255 reachability
track 11 ip route 10.116.100.1 255.255.255.255 reachability
track 12 ip route 10.116.100.2 255.255.255.255 reachability
track 20 list boolean and
 object 11
 object 12

Bouclages de BR et de MC

LOOP-BR

Cette section décrit comment créer des bouclages sur le BRs. Voici quelques informations importantes à maintenir dans l'esprit :

  • La valeur THRESHOLD_1 est 1000 et la valeur THRESHOLD_2 est 500. Ceci implique que les lancements d'applet si le débit du TCs affecté par la boucle est le supérieur à 1000/30 (33 p/s).
  • Le fichier journal d'applet est enfoncé le fichier de script-detect-logs.txt dans le bootflash. Ceci est changé dans l'action 210 et avec la variable de DISQUE.
  • L'horodateur des entrées dans le fichier journal dérive de la sortie d'horloge SH. Les caractères au milieu (affiché en tant que « est ") dépendent du fuseau horaire et exigent le réglage (action 240).
  • Après que vous clôturiez le Loopback100 MC notifiy, attendez cinq secondes (afin d'assurer l'IGP a le temps pour propager les informations) et rouvrez-les (action 370).
event manager environment THRESHOLD_1 100event manager environment 
  THRESHOLD_2 500event manager environment DISK bootflash

!event manager applet LOOP-BR authorization bypass

 event timer watchdog name LOOP time 30 maxrun 27
 action 100 cli command "enable"
 action 110 cli command "show ip access-list LOOP"
 action 120 set regexp_substr 0
 action 130 regexp "range 20 21 \(([0-9]+) matches\)"
  $_cli_result _regexp_result regexp_substr
 action 140 cli command "clear ip access-list counters LOOP"
 action 150 if $regexp_substr gt 0
 action 200  set MATCHES $regexp_substr
 action 210  file open LOGS $DISK:script-detect-logs.txt a
 action 220  cli command "enable"
 action 230  cli command "show clock"
 action 240  regexp "[0-9]+:[0-9]+:[0-9]+.[0-9]+
  est [A-Za-z]+ [A-Za-z]+ [0-9]+ 201[0-9]"
  $_cli_result _regexp_result

 action 250  set TIME $_regexp_result
 action 260  if $MATCHES gt $THRESHOLD_1
 action 270  wait 15
 action 280  cli command "show ip access-list LOOP"
 action 290  set regexp_substr 0
 action 300  regexp "range 20 21 \(([0-9]+) matches\)"
  $_cli_result _regexp_result regexp_substr
 action 310  if $regexp_substr gt $THRESHOLD_2
 action 320  cli command "enable"
 action 330  cli command "conf t"
 action 340  cli command "interface loop100"
 action 350  cli command "shut"
 action 360  file puts LOGS "$TIME - LOOP DETECTED - Message sent to MC -
  matches $MATCHES > $THRESHOLD_1 and $regexp_substr > $THRESHOLD_2"
 action 370  wait 5
 action 375  cli command "enable"
 action 380  cli command "conf t"
 action 390  cli command "interface loop100"
 action 400  cli command "no shut"
 action 410  else
 action 420  file puts LOGS "$TIME - TEMPORARY LOOP : matches $MATCHES >
$THRESHOLD_1 and $regexp_substr < or = $THRESHOLD_2"
 action 430  cli command "clear ip access-list counters LOOP-DETAIL"
 action 440  end
 action 450  else
 action 460  cli command "en"
 action 470  cli command "clear ip access-list counters LOOP-DETAIL"
 action 480  file puts LOGS "$TIME - number of matches =
  $MATCHES < $THRESHOLD_1"
 action 490  end
 action 500 else
 action 510  cli command "clear ip access-list counters LOOP-DETAIL"
 action 520 end

LOOP-MC

Cette section décrit comment créer des bouclages sur MC. Voici quelques informations importantes à maintenir dans l'esprit :

  • La valeur de ratelimit dépend de combien de fois l'applet fonctionne avec une valeur de ratelimit de 60 (le script fonctionne une fois par maximum minuscule). Ceci est utilisé afin d'éviter le PfR effaçant deux fois quand la même boucle est détectée par des les deux BRs.
  • Dans l'action 130, attendez deux secondes avant que vous vérifiez l'accessibilité à tout le BRs. C'est afin d'éviter un faux positif provoqué par des problèmes de connectivité entre MC et le BRs.
  • Dans l'action 240, attendez dix secondes après que vous arrêtez Loopback200, avant que vous effaciez le PfR. C'est afin de s'assurer que le BRs ont le temps pour collecter les données.
event manage environment DISK bootflash
event manager applet LOOP-MC authorization bypass

event syslog pattern "10.100.100.[0-9]/32 reachability Up->Dow" ratelimit 60
action 100 file open LOGS $DISK:script-logs.txt a
 action 110 regexp "10.100.100.[0-9]" "$_syslog_msg" _regexp_result
 action 120 set BR $_regexp_result
 action 130 wait 2
 action 140 track read 20
 action 150 if $_track_state eq "up"
 action 160  cli command "enable"
 action 170  cli command "show clock"
 action 180  regexp "[0-9]+:[0-9]+:[0-9]+.[0-9]+
  est [A-Za-z]+ [A-Za-z]+ [0-9]+ 201[0-9]"
  "$_cli_result" _regexp_result
 action 190  set TIME "$_regexp_result"
 action 200  cli command "show pfr master traffic-class perf det
  | tee /append $DISK:script-output-$_event_pub_sec.txt"
 action 210  cli command "conf t"
 action 220  cli command "interface loop200"
 action 230  cli command "shut"
 action 240  wait 10
 action 250  cli command "conf t"
 action 260  cli command "interface loop200"
 action 270  cli command "no shut"
 action 280  cli command "end"
 action 290  cli command "clear pfr master *"
 action 300  file puts LOGS "$TIME - LOOP DETECTED by $BR -
  PfR CLEARED - see $DISK:script-output-$_event_pub_sec.txt"
action 310  syslog priority emergencies msg "LOOP DETECTED by $BR -
  PfR CLEARED - see $DISK:script-output-$_event_pub_sec.txt !"
 action 320 else
 action 330  file puts LOGS "$TIME - REACHABILITY LOST with
$BR - REACHABILITY TO ALL BRs NOT OK - NO ACTION"
 action 340 end

COLLECT-BR

Cette section décrit comment collecter le BR. Les lancements d'applet dans quand un BR desserre l'accessibilité à Loopback200 (10.100.100.200) sur MC. Les commandes utilisées afin de collecter sont répertoriées dans les actions 120, 130, et 140.

event manager environment DISK bootflash
event manager applet COLLECT-BR authorization bypass

event syslog pattern "10.100.100.200/32 reachability Up->Dow" ratelimit 45
 action 100 file open LOGS $DISK:script-collect-logs.txt a
 action 110 cli command "enable"
 action 120 cli command "sh ip access-list LOOP-DETAIL |
tee /append $DISK:script-output-$_event_pub_sec.txt"
 action 130 cli command "show route-map dynamic detail
  | tee /append
$DISK:script-output-$_event_pub_sec.txt"
 action 140 cli command "show ip route | tee /append
  $DISK:script-output-$_event_pub_sec.txt"
 action 150 cli command "show clock"
 action 160 regexp "[0-9]+:[0-9]+:[0-9]+.[0-9]+ CET [A-Za-z]+ [A-Za-z]+
  [0-9]+ 201[0-9]" "$_cli_result" _regexp_result
 action 170 set TIME "$_regexp_result"
 action 180 file puts LOGS "$TIME - OUTPUTs COLLECTED -
  see $DISK:script-output-$_event_pub_sec.txt"

SYSLOG-MC

Voici le Syslog sur MC quand une boucle est détectée :

MC#
*Mar  8 08:52:12.529: %TRACKING-5-STATE: 1 ip route 10.100.100.1/32
 reachability Up->Down
MC#
*Mar  8 08:52:16.683: %LINEPROTO-5-UPDOWN:
 Line protocol on Interface Loopback200, changed state to down
*Mar  8 08:52:16.683: %LINK-5-CHANGED: Interface Loopback200,
 changed state to administratively down
MC#
*Mar  8 08:52:19.531: %TRACKING-5-STATE: 1
 ip route 10.100.100.1/32 reachability Down->Up
MC#
*Mar  8 08:52:24.727: %SYS-5-CONFIG_I: Configured from console by
  on vty0 (EEM:LOOP-MC)
*Mar  8 08:52:24.744: %PFR_MC-1-ALERT: MC is inactive due to PfR
 minimum requirements not met;
 Less than two external interfaces are operational
MC#
*Mar  8 08:52:24.757: %HA_EM-0-LOG: LOOP-MC:
 LOOP DETECTED by 10.100.100.1 - PfR CLEARED
 - see unix:script-output-1362732732.txt !
MC#
*Mar  8 08:52:26.723: %LINEPROTO-5-UPDOWN:
 Line protocol on Interface Loopback200, changed state to up
MC#
*Mar  8 08:52:26.723: %LINK-3-UPDOWN: Interface Loopback200,
 changed state to up
MC#
*Mar  8 08:52:29.840: %PFR_MC-5-MC_STATUS_CHANGE: MC is UP
*Mar  8 08:52:30.549: %TRACKING-5-STATE: 2
 ip route 10.100.100.2/32 reachability Up->Down
MC#
*Mar  8 08:52:37.549: %TRACKING-5-STATE: 2
 ip route 10.100.100.2/32 reachability Down->Up
MC#

Remarque: Ces applet peuvent être utilisés avec trois BRs ou plus avec l'accord.



Document ID: 116206