Teruggaan

CLI Parsers: De basiseenheid van automatisering

by 8 november 2018

CLI parsers zijn gespecialiseerde bestanden die uw systeem in wezen het volgende vertellen:

"Voor CLI-uitvoer [X], kunt u als volgt de belangrijke variabelen [Y] & [Z] onderscheiden van de rest van de informatie en gestructureerde antwoorden voor de gebruiker produceren."

Deze zijn onmisbaar als het gaat om netwerkautomatisering, en zoals ik later zal bespreken, de bouwsteen van NetBrain's aanpasbare Qapps.

De opdrachtregelinterface is een krachtige, complexe en nogal ontmoedigende tool die elke netwerkingenieur moet leren om uit te blinken in zijn werk. CLI-beheersing is al lange tijd een teken van succes en zal dat ook in de toekomst blijven. Echter, naarmate de omvang van het netwerk toeneemt, neemt de effectiviteit van de CLI af: Stel je voor dat ik zou vragen hoe je identieke interfaceconfiguraties zou verifiëren op duizend FastEthernet0/1-interfaces op duizend apparaten.

Als je antwoord is 'open duizend SSH-sessies', dan ben je hier misschien een tijdje mee bezig.

De CLI geeft ons waardevol inzicht in onze netwerkapparaten en geeft ons granulaire controle over een apparaat. Echter, net zoals een te grote afhankelijkheid van de GUI me ervan kan weerhouden om meer bedreven te worden met de CLI, de CLI zelf wordt een knelpunt als het gaat om procesautomatisering.

Als je honderd apparaten moet aanraken om een ​​probleem op te lossen, moet je het scripten. Een groot probleem voor ingenieurs is dat hun vereiste vaardigheden het leren van een scripttaal zoals Python of Javascript niet echt afdwingen. Een groter probleem is dat de CLI de gebruiker veel ongestructureerde gegevens presenteert, wat historisch gezien niet zo geweldig is voor programmeren en een extra hindernis vormt waar de ingenieur doorheen moet springen.

Als ik het over ongestructureerde gegevens heb, zal ik het een beetje opsplitsen:

Stel je voor dat je iemands naam wilt weten. Ongestructureerde data is het equivalent van vragen om hun licentie - u moet het nog steeds lezen om te vinden wat u zoekt. EEN parser is iets dat hun licentie zou lezen, en identificeren welk gebied hun naam voor u bevat, en dit op een visueel aantrekkelijke manier presenteren

Gestructureerde versus ongestructureerde gegevens 1

NetBrain herkent de steile moeilijkheidsgraad die verschijnt wanneer mensen moeten beginnen met scripten - het is eng, verwarrend en tijdrovend in alle opzichten die het leren van een nieuwe taal kan zijn. Wanneer we onze Qapps en Runbooks als scriptloze automatisering, passen we in wezen onze CLI toe parsers op geavanceerde manieren. Onze KLI parsers

Laten we bijvoorbeeld eens kijken naar een eenvoudige ingebouwde Qapp die verzamelt basisinterface-instellingen.

Leg basisinterfaces vast Runbook Uitvoeringsstroom

Zoals je hier kunt zien, is de hele Q-app slechts een uitvoering van een programma met de naam GetIntfIntfSetting

GetIntfIntfSetting

De volgorde van deze Qapp is als volgt:

  1. Voor elk apparaat in de wachtrij
  2. Voer een show-interfaceopdracht uit
  3. Verzamel apparaatgegevens in een tabel
  4. Converteer apparaatgegevenstabel naar een globale gegevenstabel
  5. Conversie per rij uitvoeren naar een Excel-bestand.

De CLI Parser wordt van kracht tijdens stap 3 en 4. Het zou nogal wat tijd kosten om in te gaan op de details van elk logisch aspect van de parser, dus ik loop hier gewoon door de basis in deze voorbeelduitvoer:

Voorbeelduitvoer 1

Hier NetBrainde ingebouwde CLI parsers stellen het systeem in staat om gemakkelijk variabelen te identificeren zoals Interface Name [$intf], Status [$status], Inbound Packets [$pkts_input], enz. omdat we de tijd hebben genomen om te onderzoeken hoe deze output eruit ziet vanuit de CLI van deze leverancier en identificeerde handmatig de informatie die we nodig hadden om te onderzoeken.

Uitvoervariabelen

U, als ingenieur, hoeft alleen de Qapp uit te voeren, en NetBrain zal procedureel inloggen op die duizend apparaten en u vertellen wat de interfacestatussen zijn.

Voorbeeld van gestructureerde output

Dus je vraagt ​​je misschien af, wat gebeurt er als je hetzelfde moet doen, maar met een andere leverancier? Het antwoord is simpel. Hier bij NetBrain, hebben we al gemaakt parsers voor de meest voorkomende opdrachten die op een apparaat worden uitgevoerd. Of het nu gaat om…

Cisco Cisco-interface

 

Juniper

Interface Jeneverbes

 

Checkpoint

Interface controlepunt

 

F5

Interface F5

Of eigenlijk, een van de lange lijst van leveranciers die we ondersteunen, we hebben ervoor gezorgd dat u identieke gegevenssets op elk van deze platforms kunt identificeren.

In het geval dat u een meer complex nodig heeft parser, we hebben ook een heel systeem om uw eigen systeem te bouwen!

Dat is echter een onderwerp voor een andere dag.

Conclusie – Waarom CLI Parsers?

CLI Parsers behandelen de logica van staatsverandering. CLI parsers helpen u uw gegevens op de juiste manier te rangschikken om bruikbare informatie te creëren terwijl u ongestructureerde gegevens omzet in een gestructureerd formaat. Zoals eerder vermeld, elke Qapp binnen NetBrain is een verbeterde uitdrukking van een ingebouwde of aangepaste CLI Parser.

De opdrachtregel gaat nergens heen. Het zal altijd de meest efficiënte manier zijn om toegang te krijgen tot gegevens op één apparaat en deze met precisie en granulariteit te beheren. Als het echter om grote netwerken gaat, moet u de basistaken automatiseren, zodat u nog een deel van uw dag over heeft om zinvol werk te doen.

Als je geïnteresseerd bent in CLI parsers, zorg ervoor dat je uitcheckt NetBrain Gratis cursussen van de universiteit over het maken van je eigen.

 

Verwant