Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Exécuter des scripts d’événements dans une stratégie d’événements

Les scripts d’événements sont des scripts XSLT (Extensible Stylesheet Language Transformations), des scripts SLAX (Language Alternative syntaX) ou Python qu’une stratégie d’événement peut exécuter lorsqu’elle est déclenchée. Les scripts d’événements peuvent exécuter n’importe quelle fonction disponible via Junos XML ou junos XML protocol remote procedure calls (RPC). En outre, vous pouvez transmettre à un script d’événements un ensemble d’arguments que vous définissez.

Les scripts d’événements peuvent créer et exécuter une commande en mode opérationnel, recevoir la sortie de commande, inspecter la sortie et déterminer l’action appropriée suivante. Ce processus peut être répété jusqu’à ce que la source du problème soit déterminée. Le script peut ensuite vous signaler la source du problème sur l’interface cli ou modifier automatiquement la configuration de l’équipement.

Vous pouvez configurer une stratégie d’événement qui exécute des scripts d’événements et télécharge les résultats de ces scripts vers un emplacement spécifié pour analyse. Pour configurer une telle stratégie, incluez les déclarations suivantes au niveau de la [edit event-options] hiérarchie :

Dans l’énoncé events , vous pouvez lister plusieurs événements. Si un ou plusieurs des événements répertoriés se produisent, le processus événementisé exécute les actions configurées sous la then hiérarchie. Les actions de stratégie d’événement peuvent inclure l’exécution d’un ou plusieurs scripts d’événements, qui sont configurés en incluant l’instruction event-script filename . Le processus événementiel exécute les scripts dans l’ordre dans lequel ils apparaissent dans la configuration. Les scripts que vous référencez dans l’instruction event-script doivent être situés dans le répertoire /var/db/scripts/event sur le disque dur de l’équipement ou dans le répertoire /config/scripts/event/ en mémoire flash En outre, les scripts d’événements doivent être activés au niveau de la [edit event-options event-script file] hiérarchie. Pour plus d’informations, consultez Stocker et activer les scripts d’automatisation Junos.

Note:

Si les scripts sont situés en mémoire flash, vous devez configurer l’instruction load-scripts-from-flash au niveau de la [edit system scripts] hiérarchie.

Note:

Pour obtenir des informations détaillées sur les exigences et les restrictions liées à l’exécution de scripts d’automatisation Python sur des équipements exécutant Junos OS, voir Conditions d’exécution de scripts d’automatisation Python sur les équipements Junos.

Vous pouvez configurer l’instruction arguments pour transmettre des arguments à un script d’événement en tant que paires nom/valeur. Les valeurs d’argument peuvent inclure des variables qui contiennent des informations sur l’événement de déclenchement ou d’autres événements reçus. Le script d’événement peut ensuite référencer ces informations pendant l’exécution. Pour obtenir des informations détaillées sur la transmission d’arguments aux scripts d’événements, voir Configuration d’une stratégie d’événement pour transmettre des arguments à un script d’événements.

Vous pouvez configurer des scripts d’événements pour écrire leur sortie dans un fichier. Lorsque le processus événementiel exécute les scripts, il télécharge le fichier avec la sortie du script vers l’emplacement spécifié dans l’instruction destination . Dans l’instruction destination , incluez un nom de destination configuré au niveau de la [edit event-options destinations] hiérarchie. Pour plus d’informations, voir Exemple : Définir des destinations pour l’archivage de fichiers par des stratégies d’événements.

Dans l’instruction output-filename , définissez une chaîne descriptive qui sera incluse dans le nom du fichier. Chaque fichier téléchargé inclut également le nom d’hôte et l’horodatage dans le nom de fichier pour s’assurer que chaque nom de fichier est unique. Si une stratégie est déclenchée plusieurs fois sur une période d’une seconde, un numéro d’index est ajouté au nom du fichier pour s’assurer que les noms de fichiers sont toujours uniques. La plage d’indices est de 001 à 999.

À partir de la version 14.1R3 de Junos OS, la convention de nommage d’un fichier de sortie de commande généré par un script d’événement est modifiée. Lorsqu’une stratégie d’événement exécute un script d’événement et qu’il génère un fichier de sortie, le nom du fichier dépend de la version de Junos OS exécutée sur l’équipement. Avant junos OS version 14.1R3, le nom du nom du fichier avait la convention de nommage suivante :

À partir de la version 14.1R3 de Junos OS, le nom de fichier place la output-filename chaîne après l’horodatage.

Par exemple, sur un équipement nommé r1 exécutant Junos OS version 14.1R3 ou une version ultérieure, si vous configurez l’instruction output-filename comme ifl-events et que cette stratégie d’événements est déclenchée trois fois en 1 seconde, les fichiers sont nommés :

  • r1_20060623_132333_ifl événements

  • r1_20060623_132333_ifl events_001

  • events_002 r1_20060623_132333_ifl

Pour les destination déclarations et output-filename , il existe quatre scénarios de configuration :

  • Vous pouvez omettre les destination déclarations et output-filename . Cette option est logique lorsque le script d’événement n’a pas de sortie. Par exemple, le script d’événement peut exécuter uniquement request des commandes qui n’ont pas de sortie.

  • Vous pouvez inclure à la fois les destination déclarations et output-filename . Si vous incluez l’instruction output-filename dans la configuration, vous devez également l’inclure destination dans la configuration. Dans ce cas, la sortie du script est redirigée vers le fichier de sortie et le fichier est envoyé à la destination spécifiée dans la configuration.

  • Vous pouvez inclure l’instruction destination dans la configuration. Vous pouvez omettre l’instruction dans la output-filename configuration et spécifier un nom de fichier de sortie dans le script d’événement à la place. La sortie du script est envoyée à la destination spécifiée dans la configuration. Si vous n’incluez pas l’instruction destination dans la configuration, la sortie du script n’est pas téléchargée.

    Dans ce scénario, la stratégie d’événement extrait le nom du nom du script d’événement. Le script d’événement écrit le nom de fichier de sortie comme STDOUT. La syntaxe XML à utiliser dans le script d’événements est :

    L’élément <event-script-output-filename> doit être la première balise enfant de la <output> balise parente.

    Sur un équipement nommé device2, configurez une action de script d’événement avec une destination hostet omettez l’instruction output-filename . Définissez la destination host comme ftp://user@device1//tmp.

    Dans le script d’événement script1.xsl , écrivez la sortie suivante dans STDOUT :

    Configurez la policy1 stratégie d’événements comme suit :

    Dans cet exemple, le fichier /var/cmd.txt réside sur l’équipement2 . La stratégie d’événement utilise le protocole FTP (File Transfer Protocol) pour charger ce fichier dans le répertoire /tmp sur l’équipement1.

    La stratégie d’événement lit le nom de fichier de sortie /var/cmd.txt de STDOUT. Ensuite, la stratégie d’événement télécharge le fichier /var/cmd.txt vers la destination configurée, qui est le répertoire /tmp sur l’équipement1. La stratégie d’événement renomme le fichier /var/cmd.txt en device2_YYYYMMDD_HHMMSS_cmd.txt_index-number.

  • Vous pouvez inclure les destination déclarations et output-filename spécifier un nom de fichier de sortie directement dans le script d’événement. Si vous le faites, le nom de fichier de sortie spécifié dans la configuration remplace le nom de fichier de sortie spécifié dans le script d’événement.

Le format par défaut et le seul format de sortie du script d’événement est Junos Extensible Markup Language (XML).

Note:

La sortie du script d’événement est toujours émise au format XML, même si vous configurez l’instruction output-format text sous la [edit event-options policy policy-name then event-script filename] hiérarchie.

Tableau de l’historique des versions
Libération
Description
14.1R3
À partir de la version 14.1R3 de Junos OS, la convention de nommage d’un fichier de sortie de commande généré par un script d’événement est modifiée.