Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Informations générales

Détails de l'applet EEM

Listes d'accès utilisées

Fonctions des applets

Fichiers journaux des applets

Applets pour la combinaison MC/BR et d'autres scénarios BR

Applet sur la combinaison MC/BR

Applet pour autres BR

Applets pour scénario MC dédié

Communication des applets

Créer des objets de suivi et des boucles

Suivre les objets

Boucles BR et MC

Introduction

Ce document décrit les applets Embedded Event Manager (EEM) qui sont utilisées dans les réseaux où le routage des performances (PfR) optimise le trafic via plusieurs relais de frontière (BR). Certaines boucles de transfert sont également observées. Les applets sont utilisées afin de collecter des données lorsqu'une boucle est observée et d'atténuer l'impact d'une boucle de transfert.

Conditions préalables

Conditions requises

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

Components Used

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

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

Router#sh event manager version | i Embedded

Embedded Event Manager Version 4.00

Router#

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Informations générales

Lorsque PfR contrôle une classe de trafic (TC), il crée une liste de contrôle d'accès/mappage de route dynamique sur les BR. Le mappage de route sur un routeur désigné avec une sortie sélectionnée pointe vers une sortie sélectionnée, tandis qu'un mappage de route sur d'autres routeurs désigné pointe vers une interface interne (tronçon suivant = routeur désigné sélectionné).

Un problème se produit lorsque les listes de contrôle d’accès dynamiques ne sont pas correctement synchronisées entre les différents BR (en raison de bogues, par exemple).

Dans cette image, l'accent est mis sur la correspondance de TC à tous les paquets IP destinés à 172.16.1.0/24 avec EF DSCP. Dans ce scénario, l'entrée de liste de contrôle d'accès associée est supprimée du BR sélectionné (BR-2), mais pas du BR-1. Les paquets de ce TC ont atteint BR-2 avec l'entrée de préfixe qui correspond à 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, de sorte que la route-map/ACL associée sur BR-2 pointe vers BR-1.

Les paquets de ce TC font maintenant une boucle entre les BR jusqu'à ce que la durée de vie (TTL) atteigne 0.

Ce document fournit les applets EEM nécessaires utilisées pour :

- Détecter une boucle de transfert entre les BR

- Collecter les informations pertinentes et effacer le PfR

Les applets utilisées dans le cas d'une combinaison Master Controller (MC)/BR sont beaucoup plus faciles (lorsque MC s'exécute sur l'un des BR). Le scénario avec des MC dédiés est également couvert.

Détails de l'applet EEM

Cette section décrit les listes d'accès utilisées pour ce processus, ainsi que les fichiers journaux des applets.

Listes d'accès utilisées

Afin de détecter les boucles de transfert, l'applet s'appuie sur une liste de contrôle d'accès pour faire correspondre les paquets avec une faible durée de vie.

Note: La mise en correspondance des listes de contrôle d'accès sur TTL est prise en charge sur les routeurs à services d'agrégation (ASR) de la gamme 1000 version 3.7 (15.2(4)S) et ultérieures.

Il est recommandé d'utiliser la correspondance ACE sur deux valeurs TTL consécutives, relativement basses (20 et 21) afin d'obtenir un seul résultat (et un seul) pour chaque paquet qui effectue une boucle entre les BR. La valeur TTL utilisée ne doit pas être trop faible pour éviter les accès fréquents des paquets 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

La liste de contrôle d’accès doit être placée sur l’interface interne signalée dans la sortie de la commande show pfr master border topology.

La plage IP source (ici 10.116.48.0/20) doit correspondre au(x) réseau(s) interne(s) (préfixes accessibles via les interfaces internes).

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

Note: La fonctionnalité de tunnel automatique doit être désactivée (aucun tunnel automatique de mode en mode PfR maître). Si les BR ne sont pas directement connectées, des tunnels GRE (Generic Routing Encapsulation) manuels doivent être créés et la liste de contrôle d'accès placée sur l'interface de tunnel.

Afin d'identifier quel site distant/TC est affecté par la boucle, vous pouvez ajouter une deuxième liste de contrôle d'accès sortante sur l'interface, avec des entrées de contrôle d'accès plus spécifiques pour chaque site distant/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’adresse IP de destination correspond au sous-réseau des 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 TC exact affecté par la boucle.

Fonctions des applets

L'applet vérifie le nombre d'occurrences de l'ACE correspondant sur le TTL dans la boucle ACL toutes les trente secondes. En fonction du résultat de ces vérifications, l'applet peut effectuer les tâches suivantes :

- Si le nombre d'occurrences dépasse un seuil configuré (THRESHOLD_1), l'applet efface le nombre de listes de contrôle d'accès et vérifie les nombres d'occurrences en quinze secondes.

- Après les quinze secondes, si les nombres hitcount sont supérieurs à un deuxième seuil (SEUIL_2), il peut y avoir une boucle. Vous devez collecter un ensemble de sorties et effacer le PfR afin de résoudre le problème de boucle.

- Les deux seuils sont définis comme des variables globales, donc ils sont facilement réglés sans redémarrage d'applet.

- La valeur optimale de ces seuils dépend principalement du débit moyen de paquets par TC.

Fichiers journaux des applets

L'applet conserve un fichier journal qui suit le nombre d'occurrences (lorsque le nombre est supérieur à 0), et toute rencontre de boucles temporaires (lorsque THRESHOLD_1 est dépassé mais pas THRESHOLD_2) ou une boucle réelle (lorsque THRESHOLD_1 et THRESHOLD_2 sont dépassés).

Applets pour la combinaison MC/BR et d'autres scénarios BR

Ce sont les scénarios les plus simples décrits dans ce document. La détection des boucles et la suppression du PfR sont effectuées sur le même périphérique, il n'est donc pas nécessaire d'entrer la communication de l'applet EEM du périphérique. Une applet distincte s'exécute sur une combinaison MC/BR et d'autres BR.

Applet sur la combinaison MC/BR

Cette sortie affiche des informations importantes pour l'applet utilisée dans la liste déroulante MC/BR. Voici quelques notes importantes pour ce résultat spécifique :

- La valeur affichée pour THRESHOLD_1 est 1000 et la valeur affichée pour THRESHOLD_2 est 500. Cela signifie que l'applet démarre si le taux de TC affecté par la boucle est supérieur à 1000/30 ( 33 pps).

- La variable DISK identifie l'emplacement des fichiers de journalisation et de sortie (voir ici sur bootflash).

- L'horodatage des entrées du fichier journal provient de la sortie de la commande show clock. Les caractères du milieu (représentés ici par « est ») dépendent du fuseau horaire et doivent être ajustés (voir action 240).

- Les sorties qui doivent être collectées en cas de boucle sont poussées dans le fichier script-output-xxxxxxx dans bootflash, où « xxxxxx » est le nombre de secondes depuis 1970 (utilisé pour créer des noms de fichiers uniques pour chaque occurrence de boucle).

- Les commandes collectées sont répertoriées dans les actions 330, 340, 350 et 360. Il est possible d'ajouter des commandes supplémentaires ou différentes.

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 autres BR

Cette section décrit l'applet utilisée pour les autres BR. Voici quelques notes importantes pour ce résultat spécifique :

- L'applet s'exécute toutes les vingt secondes tandis que le script d'une combinaison MC/BR s'exécute toutes les trente secondes. Cela garantit que l'applet sur le BR est lancé avant que le PfR ne soit effacé via l'applet qui s'exécute sur le MC/BR.

- Un seuil unique est utilisé, il n'est donc pas nécessaire d'éviter les défaillances positives.

- La valeur affichée pour le SEUIL est 700 et doit être définie en fonction de la valeur SEUIL_1 dans l'applet MC/BR.

- Le fichier journal de l'applet est inséré dans le fichier script-logs.txt dans flash0. Ceci peut être modifié dans l'action 170 et la variable DISK.

- L'horodatage des entrées du fichier journal provient de la sortie de la commande show clock. Les caractères du milieu (représentés ici par « est ») dépendent du fuseau horaire et doivent être ajustés (voir action 190).

- Les sorties qui doivent être collectées en cas de boucle sont poussées dans le fichier script-output-xxxxxxx, où « xxxxxx » est le nombre de secondes depuis 1970 (utilisé pour créer des noms de fichiers uniques pour chaque occurrence de boucle).

- Les commandes collectées sont répertoriées dans action 230 et action 240. Il est possible d'ajouter des commandes supplémentaires ou différentes.

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

Applets pour scénario MC dédié

La détection des boucles et la collecte de données/statistiques PfR sont terminées sur différents périphériques qui doivent avoir une communication d'applet EEM entre périphériques. La communication entre les périphériques se fait de différentes manières. Ce document décrit la communication des périphériques via des objets suivis afin de vérifier l'accessibilité des boucles dédiées annoncées dans IGP. Lorsqu'un événement est détecté, le bouclage est arrêté, ce qui permet aux applets des périphériques distants de se lancer lorsque l'objet suivi est hors connexion. Vous pouvez utiliser des boucles différentes si différentes informations doivent être échangées.

Communication des applets

Ces applets et méthodes de communication sont utilisées :

Nom de l'applet

Where?

Quoi ?

Déclencheur ?

Communication ?

LOOP-BR

BR

Vérifier le nombre d’occurrences de la liste de contrôle d’accès afin de détecter les boucles

Périodique

fermer la boucle 100

LOOP-MC

MC

- Collecter les infos PfR

- Efface PfR

Boucle d'accessibilité de la voie100

fermer la boucle 200

COLLECT-BR

BR

Collecter des informations

Boucle d'accessibilité de la voie200

none

Voici une image qui illustre ceci :

Il s'agit du processus utilisé par les applets :

1. Une boucle est détectée par l'applet LOOP-BR sur les BR. On suppose que la boucle est détectée sur BR-2 en premier.

2. L'applet ferme Loop100 sur BR-2, et les informations sont annoncées sur le protocole IGP (Interior Gateway Protocol).

3. L'objet suivi pour Loop100 de BR-2 est hors connexion sur le MC et l'applet LOOP-MC démarre. Les sorties principales PfR sont collectées et Loopback 200 sur le MC est arrêté. Les informations sont annoncées sur IGP. Une minuterie de sommeil de dix secondes commence.

4. L'objet suivi pour Loop200 sur le MC est déconnecté sur les deux BR. Cela déclenche l'applet COLLECT-BR qui collecte des informations spécifiques à BR.

5. Le compteur de veille (étape 3) commence et le MC efface le PfR.

Note: Si BR-1 détecte la boucle avant que le PfR ne soit effacé, l'objet suivi hors connexion est ignoré sur MC (l'applet LOOP-MC s'exécute une fois par minute).

Créer des objets de suivi et des boucles

Cette section décrit comment créer des boucles (s'assurer que les adresses IP sont annoncées sur le protocole IGP) et suivre les objets.

Suivre les objets

Voici quelques points importants à garder à l'esprit lorsque vous créez des objets de suivi :

- Un seul objet de piste est nécessaire sur les BR, qui est utilisé pour suivre loopback200 sur MC (ce qui déclenche la collecte de données).

- Plusieurs objets de piste sont nécessaires sur MC :

- Les pistes 1 et 2 sont utilisées afin de suivre loopback100 sur BR-1 et BR-2, respectivement.

- Les pistes 11 et 12 sont utilisées afin de suivre la connectivité entre BR-1 et BR-2, respectivement (évite l'effacement PfR en cas de problèmes de connectivité entre les BR).

- La piste 20 suit le ET logique entre les pistes 11 et 12. Ceci est utilisé afin de vérifier que MC est accessible à tous les BR.

- La valeur track timer ip route est définie sur une seconde afin d'accélérer la détection des problèmes 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

BR-2

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

Boucles BR et MC

LOOP-BR

Cette section décrit comment créer des boucles sur les BR. Voici quelques remarques importantes à garder à l'esprit :

- La valeur THRESHOLD_1 est 1000 et la valeur THRESHOLD_2 est 500. Cela signifie que l'applet démarre si le taux des TC affectés par la boucle est supérieur à 1000/30 (33 p/s).

- Le fichier journal de l'applet est inséré dans le fichier script-detect-logs.txt dans bootflash. Ceci est modifié dans l'action 210 et avec la variable DISK.

- L'horodatage des entrées du fichier journal provient de la sortie sh clock. Les caractères du milieu (représentés par 'est') dépendent du fuseau horaire et nécessitent un ajustement (action 240).

- Après avoir fermé le bouclage100 afin de notifier MC, attendez cinq secondes (afin de s'assurer que IGP a le temps de propager les informations) et rouvrez-le (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 boucles sur le MC. Voici quelques remarques importantes à garder à l'esprit :

- La valeur limite dépend de la fréquence d'exécution de l'applet avec une valeur limite de 60 (le script s'exécute une fois par minute max). Ceci est utilisé afin d'éviter le défrichement PfR deux fois lorsque la même boucle est détectée par les deux BR.

- Dans l'action 130, attendez deux secondes avant de vérifier l'accessibilité à tous les BR. Ceci afin d'éviter un faux positif causé par des problèmes de connectivité entre le MC et les BR.

- Dans l'action 240, attendez dix secondes après avoir arrêté Loopback200, avant d'effacer le PfR. Ceci afin de s'assurer que les BR ont le temps de 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. L'applet se lance lorsqu'un routeur désigné perd l'accessibilité à Loopback200 (10.100.100.200) sur MC. Les commandes utilisées pour 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 lorsqu'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#

Note: Ces applets peuvent être utilisés avec trois BR ou plus avec quelques réglages.