Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Utiliser des tables Junos PyEZ avec des modèles TextFSM

RÉSUMÉ Les tables d’opération Junos PyEZ peuvent référencer un modèle TextFSM, seul ou en conjonction avec une vue Junos PyEZ, pour analyser la sortie de commande CLI ou VTY à partir de n’importe quel équipement réseau.

Comprendre les modèles TextFSM

Les tables d’opération Junos PyEZ peuvent extraire des données à partir de la sortie de commande CLI ou VTY. La table peut faire référence à une vue pour mapper les champs de la sortie de la commande à des objets Python. À partir de la version 2.4.0 de Junos PyEZ, les tables d’opération Junos PyEZ peuvent également faire référence à un modèle TextFSM, seul ou en conjonction avec une vue, pour analyser la sortie de la commande. Les tables d’opération Junos PyEZ peuvent utiliser des modèles TextFSM pour analyser la sortie des commandes à partir de n’importe quel équipement réseau, indépendamment du fournisseur, du système d’exploitation réseau ou de la commande.

TextFSM est une bibliothèque Python qui analyse les sorties CLI semi-formatées, telles que la sortie de la commande show, à partir des périphériques réseau. Il a été développé par Google et publié plus tard sous la licence Apache 2.0. Le module nécessite un modèle et du texte d’entrée. Le modèle utilise des expressions régulières pour décrire comment analyser les données, et vous pouvez définir et appliquer plusieurs modèles aux mêmes données.

TextFSMCliTable permet aux utilisateurs de mapper une commande sur une plate-forme donnée au modèle qui analyse la sortie de la commande. Network to Code, une société d’automatisation du réseau, a développé un wrapper Python ainsi CliTable qu’un référentiel de modèles TextFSM pour les périphériques réseau. Vous pouvez installer la ntc-templates bibliothèque sur votre serveur Junos PyEZ ou votre environnement virtuel, selon le cas, puis référencer les modèles NTC et d’autres modèles TextFSM dans vos tables Junos PyEZ.

Les modèles NTC analysent la sortie de la commande show à partir des périphériques réseau. Chaque modèle NTC définit les champs de sortie attendus pour une commande donnée et, pour chaque élément, mappe les données à un en-tête. Le nom de fichier du modèle NTC identifie le fournisseur, le système d’exploitation réseau et la commande (avec des traits de soulignement), de sorte que le système peut facilement déterminer le modèle à utiliser pour une plate-forme et une commande données.

Prenons l’exemple du modèle juniper_junos_show_arp_no-resolve.textfsm .

Le modèle analyse la sortie de commande show arp no-resolve des équipements Junos Juniper Networks.

Les tables d’opération Junos PyEZ peuvent utiliser un modèle NTC ou un autre modèle TextFSM pour analyser la sortie de commande non structurée. La table utilise un modèle TextFSM en définissant les champs suivants. Junos PyEZ utilise les platform valeurs et command pour déterminer le nom de fichier du modèle.

  • command: command: commande générant la sortie à analyser. La commande doit correspondre à la chaîne de commande dans le nom de fichier d’un modèle NTC ou d’un autre modèle TextFSM.

  • key: key: champ défini dans le modèle TextFSM ou la vue Junos PyEZ qui est utilisé pour identifier de manière unique l’élément d’enregistrement.

  • platform: platform—Fournisseur et système d’exploitation pour le modèle TextFSM, par exemple, juniper_junos. La valeur de plate-forme doit correspondre à la chaîne de plate-forme dans le nom de fichier d’un modèle NTC ou d’un autre modèle TextFSM.

  • use_textfsm: True: indiquez que la table Junos PyEZ doit analyser la sortie de la commande à l’aide du modèle TextFSM pour la plate-forme et la commande données.

Comment utiliser les modèles TextFSM pour analyser la sortie de la commande

Les tables Junos PyEZ peuvent utiliser des modèles TextFSM, y compris les modèles NTC prédéfinis, pour analyser la sortie des commandes show des périphériques Junos.

Pour utiliser des modèles TextFSM dans une table Junos PyEZ :

  1. Installez la ntc-templates bibliothèque sur votre serveur Junos PyEZ ou votre environnement virtuel.

  2. Créez une table Junos PyEZ personnalisée qui inclut les commandarguments , key, platform, et , ainsi use_textfsm que tous les arguments supplémentaires requis pour vos opérations.

    L’application Junos PyEZ utilise les platform valeurs et command pour déterminer le nom de fichier du modèle, qui dans ce cas est juniper_junos_show_arp_no-resolve.textfsm.

  3. Créez une application Junos PyEZ qui utilise la table pour récupérer les données.

  4. Exécutez l’application.

    La table utilise le modèle NTC pour extraire les champs en sortie. Pour chaque rubrique Table, l’application renvoie la clé définie et les données de chaque champ.

Utilisation de modèles TextFSM avec des vues Junos PyEZ pour analyser la sortie d’une commande

Les tables Junos PyEZ peuvent combiner un modèle TextFSM et une vue Junos PyEZ pour analyser la sortie des commandes. Le modèle TextFSM mappe les données à un en-tête. Dans la vue, vous pouvez mapper les noms de vos variables aux en-têtes définis dans le modèle pour les champs que vous souhaitez renvoyer. Ceci est utile, par exemple, lorsque vous souhaitez utiliser des noms de variables différents de ceux définis dans le modèle ou lorsque vous souhaitez renvoyer des champs différents. Junos PyEZ renvoie uniquement les champs communs au modèle TextFSM et à la vue Junos PyEZ.

L’exemple suivant utilise le modèle juniper_junos_show_arp_no-resolve.textfsm pour analyser la sortie de la commande. Junos PyEZ View mappe les données à de nouveaux noms de variables et renvoie uniquement un sous-ensemble des champs. Pour passer en revue le modèle, consultez Comprendre les modèles TextFSM.

Pour utiliser un modèle TextFSM et une vue dans une table Junos PyEZ :

  1. Créez une table Junos PyEZ personnalisée qui inclut les commandarguments , key, platform, use_textfsmet , ainsi view que tous les arguments supplémentaires requis pour vos opérations.

  2. Créez la vue Junos PyEZ qui définit les champs de modèle à renvoyer et le nom de variable correspondant à chaque champ.

    Dans ce cas, la vue ne mappe pas le FLAGS champ défini dans le modèle TextFSM et les données analysées n’incluent pas cette valeur.

  3. Créez une application Junos PyEZ qui utilise la table pour récupérer les données.

  4. Exécutez l’application.

    La table utilise le modèle NTC et la vue pour extraire les champs en sortie. Pour chaque élément de la table, l’application renvoie la clé définie et les données des champs mappés aux noms de variables définis dans la vue.

Comment utiliser les modèles TextFSM personnalisés

Les tables Junos PyEZ peuvent utiliser les modèles TextFSM installés dans le ntc-templates package ou référencer des modèles TextFSM personnalisés. Pour utiliser des modèles TextFSM personnalisés dans votre application Junos PyEZ, vous devez préparer le modèle, puis spécifier le chemin d’accès absolu au répertoire du modèle lorsque vous définissez l’instance Table.

Pour utiliser un modèle TextFSM personnalisé dans une table Junos PyEZ :

  1. Créez un répertoire pour vos modèles personnalisés.

  2. Dans le répertoire templates, créez votre modèle et nommez le fichier à l’aide de la convention deplatform_command nom de fichier .textfsm.

  3. Créez une table Junos PyEZ qui définit les mêmes platform valeurs que le nom de fichier du command modèle.

  4. Dans votre application Junos PyEZ, spécifiez le chemin d’accès absolu au répertoire des modèles personnalisés lorsque vous définissez l’instance Table.

  5. Exécutez l’application.

Comment utiliser les tables Junos PyEZ avec des modèles TextFSM pour analyser la sortie de commande de n’importe quel fournisseur

Les tables Junos PyEZ peuvent utiliser des modèles TextFSM pour analyser la sortie des commandes à partir des périphériques réseau de n’importe quel fournisseur. Vous pouvez récupérer la sortie dans votre application Python ou lire la sortie d’un fichier. Ensuite, lorsque vous créez l’instance Junos PyEZ Table, vous pouvez passer la chaîne de sortie de la commande à l’argument Table raw au lieu de passer une Device instance.

Par exemple, considérez le modèle TextFSM suivant :

Le modèle analyse la sortie de la show alarms detail commande à partir de l’appareil donné.

L’exemple suivant définit une table Junos PyEZ qui utilise le modèle TextFSM personnalisé, cisco_xr_show_alarms_detail.textfsm, en conjonction avec une vue pour analyser la sortie de la show alarms detail commande. L’exemple utilise la netmiko bibliothèque pour récupérer les données directement à partir de l’appareil. Lorsque l’application crée l’instance Table, l’argument raw transmet la sortie de la commande et définit template_dir le chemin d’accès au répertoire contenant le modèle personnalisé.

Lorsque vous exécutez l’application, elle récupère la sortie de la commande à partir de l’appareil et utilise le modèle TextFSM dans le répertoire spécifié avec la vue pour analyser la sortie. Junos PyEZ renvoie uniquement les champs communs au modèle TextFSM et à la vue Junos PyEZ. L’application enregistre également la sortie de la commande dans un fichier, de sorte que la sortie peut être traitée ultérieurement, comme indiqué dans l’exemple suivant.

L’exemple suivant utilise le même modèle TextFSM et la même vue Junos PyEZ que l’exemple précédent, mais dans ce cas, la sortie de la commande est lue à partir d’un fichier.