Retour

CLI Parsers : l'unité de base de l'automatisation

by Le 8 novembre 2018

CLI parsers sont des fichiers spécialisés qui indiquent essentiellement à votre système ce qui suit :

"Pour la sortie CLI [X], voici comment distinguer les variables importantes [Y] et [Z] du reste des informations et produire des réponses structurées pour l'utilisateur."

Ceux-ci sont indispensables lorsqu'il s'agit d'automatisation de réseau, et comme j'y reviendrai un peu plus tard, la pierre angulaire de NetBrainLes Qapps personnalisables de .

L'interface de ligne de commande est un outil puissant, complexe et plutôt intimidant que tout ingénieur réseau doit apprendre pour exceller dans son travail. La maîtrise CLI est depuis longtemps un gage de succès et le sera encore à l'avenir. Cependant, à mesure que la taille du réseau augmente, l'efficacité de la CLI diminue: Imaginez si je vous demandais comment vérifier des configurations d'interface identiques sur un millier d'interfaces FastEthernet0/1 sur un millier d'appareils.

Si votre réponse est 'ouvrir un millier de sessions SSH', alors vous pouvez être à cela pendant un certain temps.

La CLI nous donne un aperçu précieux de nos périphériques réseau et nous permet un contrôle granulaire sur un périphérique. Cependant, tout comme une dépendance excessive à l'interface graphique peut m'empêcher d'être plus compétent avec la CLI, la CLI elle-même devient un point d'étranglement lorsqu'il s'agit d'automatisation des processus.

Si vous devez toucher une centaine d'appareils pour résoudre un problème, vous devrez le scripter. Un gros problème pour les ingénieurs est que leurs compétences requises n'imposent pas vraiment l'apprentissage d'un langage de script comme Python ou Javascript. Un problème plus important est que la CLI présente à l'utilisateur beaucoup de données non structurées, ce qui n'est historiquement pas très bon pour la programmation et crée un obstacle supplémentaire que l'ingénieur doit franchir.

Quand je parle de données non structurées, permettez-moi de les décomposer un peu :

Imaginez que vous vouliez connaître le nom de quelqu'un. Les données non structurées équivaut à demander leur licence – vous auriez toujours besoin de les lire pour trouver ce que vous cherchez. UNE parser est quelque chose qui lira leur licence, et identifiera la zone contenant leur nom pour vous, et le présentera d'une manière visuellement attrayante

Données structurées vs non structurées 1

NetBrain reconnaît le pic de difficulté abrupt qui apparaît chaque fois que les gens ont besoin de commencer à écrire des scripts - c'est effrayant, déroutant et chronophage de toutes les façons dont l'apprentissage d'une nouvelle langue peut l'être. Lorsque nous présentons nos Qapps et Runbooks en tant qu'automatisation sans script, nous appliquons essentiellement notre CLI parsers de manière avancée. Notre CLI parsers

Par exemple, regardons un simple Qapp intégré qui collecte paramètres d'interface de base.

Capturer les interfaces de base Runbook Flux d'exécution

Comme vous pouvez le voir ici, l'ensemble de Q-app n'est qu'une exécution d'un programme appelé GetIntfIntfSetting

GetIntfIntfSetting

La séquence de ce Qapp est la suivante :

  1. Pour chaque périphérique dans la file d'attente
  2. Exécuter une commande show interface
  3. Collecter les données de l'appareil dans une table
  4. Convertir la table de données de l'appareil en une table de données globale
  5. Exécuter la conversion par lignes dans un fichier excel.

La CLI Parser entre en vigueur au cours des étapes 3 et 4. Il faudrait un certain temps pour entrer dans les détails de chaque aspect logique de la parser, donc je vais juste passer en revue les bases dans cet exemple de sortie ici :

Exemple de sortie 1

Ici, NetBrainL'interface de ligne de commande intégrée de parsers permettent au système d'identifier facilement des variables telles que le nom de l'interface [$intf], le statut [$status], les paquets entrants [$pkts_input], etc. car nous avons pris le temps d'examiner à quoi ressemble cette sortie à partir de la CLI de ce fournisseur et identifié manuellement les informations que nous aurions besoin d'examiner.

Variables de sortie

En tant qu'ingénieur, vous n'avez qu'à exécuter le Qapp, et NetBrain se connectera de manière procédurale à ces milliers d'appareils et vous indiquera quels sont les statuts de l'interface.

Exemple de sortie structurée

Alors vous vous demandez peut-être, que se passe-t-il lorsque vous devez faire la même chose mais avec un autre fournisseur ? La réponse est simple. Ici à NetBrain, nous avons déjà créé parsers pour les commandes les plus courantes exécutées sur un appareil. Que ce soit…

Cisco Cisco d'interface

 

Genévrier

Genévrier d'interface

 

Point de contrôle

Point de contrôle d'interface

 

F5

Interface F5

Ou vraiment, n'importe lequel de la longue liste de fournisseurs que nous prenons en charge, nous nous sommes assurés que vous pouvez identifier des ensembles de données identiques sur chacune de ces plates-formes.

Dans le cas où vous auriez besoin d'une solution plus complexe parser, nous avons également tout un système pour créer le vôtre !

C'est, cependant, un sujet pour un autre jour.

Conclusion – Pourquoi CLI Parsers?

CLI Parsers traitent de la logique du changement d'état. CLI parsers vous aide à séquencer correctement vos données afin de créer des informations exploitables lorsque vous convertissez des données non structurées en un format structuré. Comme indiqué précédemment, chaque Qapp dans NetBrain est une expression améliorée d'une CLI intégrée ou personnalisée Parser.

La ligne de commande ne va nulle part. Ce sera toujours le moyen le plus efficace d'accéder aux données sur un seul appareil et de les contrôler avec précision et granularité. Cependant, lorsqu'il s'agit de grands réseaux, vous devez automatiser les tâches de base afin qu'il reste encore une partie de votre journée pour effectuer un travail significatif.

Si vous êtes intéressé par CLI parsers, assurez-vous de vérifier NetBrain Cours gratuits de l'université sur la création de votre propre.

 

Services Connexes