Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Utiliser des événements corrélés pour déclencher une stratégie d’événements

Configurez une stratégie d’événements à exécuter lorsque deux événements corrélés ou plus se produisent.

Comprendre les événements corrélés

En plus de configurer une stratégie d’événements pour qu’elle se déclenche sur un seul événement, vous pouvez également configurer une stratégie d’événements qui met en corrélation deux événements ou plus. Si les événements se produisent comme spécifié, la stratégie d’événements exécute les actions configurées. Par exemple, vous pouvez émettre certaines commandes en mode opérationnel lorsqu’un événement UI_CONFIGURATION_ERROR est généré dans les cinq minutes suivant un événement UI_COMMIT_PROGRESS. Autre exemple, vous pouvez télécharger un fichier particulier si un événement DCD_INTERFACE_DOWN est généré deux fois dans un intervalle de 60 secondes.

Pour corréler des événements dans une stratégie d’événements, incluez les instructions suivantes au niveau de la [edit event-options] hiérarchie :

Dans l’instruction events , vous pouvez énumérer plusieurs événements déclencheurs. Pour plus d’informations sur la définition d’événements dans les stratégies d’événements, consultez Présentation des stratégies d’événements et des notifications d’événements. Pour corréler ces événements avec d’autres événements, vous configurez les within instructions et/ou les attributes-match instructions.

L’instruction within définit les événements corrélatifs qui doivent (ou ne doivent pas) se produire dans un intervalle de temps spécifié avant un événement déclencheur. L attributes-match 'instruction permet au système de prendre en compte les attributs d'un événement en plus de l'événement lui-même. L attributes-match 'instruction peut corréler l'attribut d'un événement avec l'attribut d'un autre événement ou avec une expression régulière.

La stratégie d’événements n’exécute les actions configurées dans l’instruction then que si les conditions spécifiées sont remplies. Les sections suivantes expliquent comment utiliser les instructions.

Corrélation d’événements par intervalle de temps

Vous pouvez configurer une stratégie d’événements pour qu’elle s’exécute uniquement si un événement déclencheur se produit dans un intervalle de temps spécifié après un autre événement. Pour ce faire, configurez l’instruction within seconds events . La stratégie est exécutée si l’un des événements corrélatifs définis dans l’instruction within seconds events se produit dans le nombre configuré de secondes avant l’un des événements déclencheurs définis dans la première events instruction. Le nombre de secondes peut être compris entre 60 et 604 800. L’instruction not entraîne l’exécution de la stratégie uniquement si les événements corrélatifs ne se produisent pas dans l’intervalle de temps configuré avant un événement déclencheur.

Par exemple, l’appareil exécute la stratégie suivante si l’un des événements déclencheurs, event3, event4ou event5, se produit dans les 60 secondes suivant l’apparition de l’un des événements corrélés, event1 ou event2, :

Pour configurer une stratégie d’événements afin de corréler les événements par intervalle de temps :

  1. Configurez un ou plusieurs événements déclencheurs.

  2. Configurez les événements corrélatifs qui doivent ou ne doivent pas se produire avant un événement déclencheur et dans l’intervalle de temps spécifié.

    • Pour spécifier qu’un événement corrélé doit se produire dans l’intervalle de temps spécifié avant un événement déclencheur, omettez le not mot-clé.

    • Pour spécifier qu’un événement corrélé ne doit pas se produire dans l’intervalle de temps spécifié avant un événement déclencheur, incluez le not mot-clé.

  3. Configurez les actions exécutées par la stratégie d’événements si les conditions sont remplies.

Note:

L’appareil exécute une stratégie d’événements si l’un des événements corrélatifs se produit (ou ne se produit pas, si vous configurez le mot-clé) avant tout not événement déclencheur. Pour exiger que plusieurs événements corrélés se produisent (ou ne se produisent pas) avant un événement déclencheur, configurez plusieurs within instructions. Chaque instruction doit spécifier un intervalle de temps différent.

L’instruction within prend également en charge l’exécution d’une stratégie d’événement lorsque l’événement déclencheur se produit un certain nombre de fois au cours d’un intervalle de temps donné. Pour plus d’informations, consultez Déclencher une stratégie d’événements en fonction du nombre d’événements.

Corrélation d’événements en fonction d’attributs d’événement

De nombreux événements ont un ou plusieurs attributs, que vous pouvez référencer dans les stratégies d’événements. Par exemple, considérez le message de journal système suivant pour un UI_COMMIT événement :

Le message d’événement générique UI_COMMIT est : User 'username' requested 'command' operation (comment: message).

Il possède les trois attributs suivants : username, command, et message.

L’instruction attributes-match vous permet d’établir une correspondance de stratégie d’événement plus précise en comparant les attributs d’événement aux valeurs souhaitées à l’aide des equalscomparaisons , matcheset starts-with . L’énoncé met en corrélation les événements comme suit :

  • event1.attribute-name equals event2.attribute-name: n’exécute la stratégie que si l’attibute event1 et l’attribut event2 ont la même valeur.

  • event.attribute-name matches regular-expression: exécute la stratégie uniquement si la valeur de l’attribut event correspond à l’expression régulière donnée. Pour plus d’informations, consultez Utiliser des expressions régulières pour affiner l’ensemble d’événements qui déclenchent une stratégie.

  • event1.attribute-name starts-with event2.attribute-name: exécute la stratégie uniquement si la valeur de l’attribut event1 commence par la valeur de l’attribut event2 .

Les événements référencés dans les attributes-match énoncés doivent être soit l’événement déclencheur, soit les événements corrélatifs inclus dans les énoncés de la stratégie d’événements within . Vous devez définir une ou plusieurs within instructions lorsque l’instruction attributes-match :

  • Comprend un equals comparatif ou starts-with

  • Inclut une matches comparaison qui inclut une clause pour un événement qui n’est pas un événement déclencheur.

Une attributes-match instruction peut inclure plusieurs equalsinstructions , matches, et starts-with de comparaison. Le système évalue plusieurs instructions de comparaison à l’aide d’un opérateur logique ET. Par conséquent, pour exécuter la stratégie d’événements attributes-match , toutes les conditions doivent être évaluées à true.

Par exemple, supposons que vous configuriez plusieurs sondes de surveillance des performances en temps réel (RPM) et que l’une de ces sondes utilise le nom Connectivity du propriétaire et dispose d’un test nommé Management. Si vous référencez l'événement de ping_test_failed la sonde dans une stratégie d'événement, vous souhaitez distinguer le test de sonde RPM qui a généré l'événement. La stratégie d'événement suivante correspond aux attributs et test-name de lping_test_failed'événement, de sorte que la stratégie d'test-ownerévénement se déclenche uniquement pour la sonde appropriée. La stratégie d’événement ne s’exécute que si les deux conditions de correspondance sont remplies.

De même, la stratégie d’événements suivante se déclenche sur l’événement SYSTEM non standard, qui possède un messages attribut. Dans l’instruction attributes-match , toutes les instructions doivent être true pour appeler la stratégie d’événement matches :

Vous pouvez utiliser des variables de stratégie d’événement dans l’instruction attributes-match pour faire la différence entre un attribut d’événement déclencheur et un attribut d’événement corrélatif. Les événements déclencheurs sont ceux que vous configurez au niveau de la [edit event-options policy policy-name events] hiérarchie. La notation du double signe dollar ($$) représente l’événement qui déclenche une stratégie et {$$.attribute-name} correspond à la valeur de l’attribut de l’événement déclencheur. Pour corréler les événements, le signe dollar unique avec la notation nom de l’événement ($event) représente l’événement le plus récent qui correspond au nom de l’événement et {$event.attribute-name} correspond à la valeur de l’attribut associé à cet événement.

Par exemple, la stratégie d’événement suivante exécute les actions sous l’instruction then si quatre validations ou plus sont effectuées au cours d’une période de 5 minutes et que le nom d’utilisateur d’un ou de plusieurs des événements correspondants est le même que le nom d’utilisateur de l’événement déclencheur.

Il existe de nombreuses façons de rechercher les attributs que vous pouvez référencer pour un événement spécifique, par exemple :

  • Utilisez l’Explorateur de journaux système.

  • Utilisez la help syslog event commande mode opérationnel dans l’interface de ligne de commande.

  • Utilisez une aide contextuelle en mode de configuration lorsque vous configurez l’attribut.

L’application System Log Explorer vous permet de rechercher dans les messages du journal système standard un système d’exploitation et une version donnés. Les détails du message incluent les attributs que vous pouvez référencer pour cet événement.

Dans l’interface de ligne de commande, la help syslog event commande mode opérationnel affiche également la liste des attributs auxquels vous pouvez faire référence pour un événement donné. La sortie de la commande affiche les attributs d’événement entre crochets (<>). La sortie suivante montre que l’événement ACCT_ACCOUNTING_SMALL_FILE_SIZE a trois attributs que vous pouvez référencer : filename, file-size, et record-size.

Note:

Vous pouvez filtrer le résultat d’une recherche à l’aide du symbole pipe (|). Pour plus d’informations sur l’utilisation du symbole de canalisation, reportez-vous au Guide de l’utilisateur de l’interface de ligne de commande.

Vous pouvez également afficher les attributs d’événement en exécutant la set attributes-match event? commande configuration mode au niveau de la [edit event-options policy policy-name] hiérarchie, comme illustré dans l’exemple suivant :

Note:

Dans cette set commande, il n’y a pas d’espace entre le nom de l’événement et le point d’interrogation (?).

Comment représenter les événements déclencheurs et corrélés dans une stratégie d’événements

Dans les arguments de script d’événement et les instructions de stratégie d’événement prises en charge telles que l’instruction execute-commands , vous pouvez utiliser des variables de stratégie d’événement pour faire la différence entre un événement déclencheur et un événement corrélatif. Le déclenchement et la corrélation d’événements sont configurés dans les instructions suivantes au niveau de la [edit event-options policy policy-name] hiérarchie :

  • Événement déclencheur : configuré dans l’instruction events
  • Événement corrélatif : configuré dans l’instruction within seconds events

Vous pouvez utiliser des variables de stratégie d’événement des formes suivantes pour représenter les événements déclencheurs et corrélés :

  • {$$.attribute-name}: la notation du double signe dollar ($$) représente l’événement qui déclenche la stratégie. Lorsqu’elle est combinée avec un nom d’attribut, la variable se résout en la valeur de l’attribut associé à l’événement déclencheur. Par exemple, {$$.interface-name} correspond au nom d’interface associé à l’événement déclencheur.

  • {$event.attribute-name}: le signe dollar unique avec la notation du nom de l’événement ($event) représente l’événement le plus récent qui correspond à event. Lorsqu’elle est combinée avec un nom d’attribut, la variable se résout en la valeur de l’attribut associé à cet événement. Par exemple, lorsqu’une stratégie émet la show interfaces {$COSD_CHAS_SCHED_MAP_INVALID.interface-name} commande, la {$COSD_CHAS_SCHED_MAP_INVALID.interface-name} variable est résolue par le nom d’interface associé à l’événement le plus récent COSD_CHAS_SCHED_MAP_INVALID mis en cache par le processus d’événement.

  • {$*.attribute-name}: le signe dollar avec l’astérisque ($*) représente l’événement le plus récent qui correspond à l’un des événements corrélés. La variable correspond à la valeur de l’attribut associé à l’événement le plus récent qui correspond à l’un des événements corrélés spécifiés dans la configuration de la stratégie.

Dans les stratégies d’événements, vous pouvez référencer des événements spécifiques à l’aide de variables de stratégie d’événements. Tenez compte de la politique d’événement suivante :

Dans la show interfaces {$$.interface-name} commande, la valeur de l’attribut interface-name d’événement e1, e2, ou e3 est substituée à la {$$.interface-name} variable.

Dans la show interfaces {$e4.interface-name} commande, la valeur de l’attribut interface-name de l’événement le plus récent e4 est substituée à la {$e4.interface-name} variable.

Dans la show interfaces {$*.interface-name} commande, la valeur de l’attribut interface-name de l’événement le plus récent e4, e5ou e6 , est substituée à la {$*.interface-name} variable. Si l’une des situations suivantes e1: , e2, ou e3 se produit dans les 60 secondes suivant e4, e5ou e6, la valeur de l’attribut interface-name correspondant à l’événement corrélatif (e4, e5, ou e6) est substituée à la {$*.interface-name} variable. Si l’événement correspondant n’a pas d’attribut interface-name , le logiciel n’exécute pas la show interfaces {$*.interface-name} commande.

Si e1 cela se produit dans les 60 secondes suivant les deux e4 et e5, alors la valeur de l’attribut interface-name pour e4 est substituée à la {$*.interface-name} variable. Cela est dû au fait que le processus d’événements (eventd) recherche les événements corrélés dans l’ordre séquentiel, comme configuré dans l’instruction within . Dans ce cas, la commande est e4 > e5 > e6.

Exemple : corrélation d’événements en fonction de la réception d’autres événements dans un intervalle de temps spécifié

Dans cet exemple, la stratégie d’événements émet un ensemble de commandes et télécharge le fichier de sortie résultant sur un site d’archivage. La stratégie s’exécute si l’un des événements déclencheurs, event3, event4ou event5, se produit dans les 60 secondes suivant l’apparition de l’un des événements corrélés, event1 ou event2, . Le pseudocode de la stratégie est le suivant :

La stratégie d’événements spécifie deux sites d’archivage dans la configuration. L’appareil tente d’effectuer le transfert vers le premier site d’archivage de la liste et ne se déplace vers le site suivant que si le transfert échoue. La configuration de la stratégie d’événement est la suivante :

Exemple : Corrélation d’événements en fonction d’attributs d’événement

Dans la stratégie d’événement suivante, les deux événements sont corrélés si leurs valeurs d’attribut d’événement correspondent. La correspondance des attributs des deux événements permet de s’assurer que les deux événements sont liés. Dans ce cas, les adresses d’interface et les noms d’interface physique (ifd) doivent correspondre.

L’erreur RPD_KRT_IFDCHANGE se produit lorsque le processus du protocole de routage (rpd) envoie une demande au noyau pour modifier l’état d’une interface et que la demande échoue. L’erreur RPD_RDISC_NOMULTI se produit lorsqu’une interface est configurée pour la détection de routeur, mais qu’elle ne prend pas en charge les opérations de multicast IP comme requis.

Dans cet exemple, rpd_rdisc_nomulti.interface-name peut être so-0/0/0.0, et rpd_krt_ifdchange.ifd-index peut être so-0/0/0.