戻る

CLI Parsers: 自動化の基本単位

著者注 by 2018 年 11 月 8 日

CLI parsers は、基本的にシステムに次のことを伝える特殊なファイルです。

「CLI 出力 [X] について、重要な変数 [Y] と [Z] を残りの情報から区別し、ユーザーに対して構造化された応答を生成する方法を次に示します。」

これらは、ネットワークの自動化に関しては不可欠です。少し後で説明しますが、 NetBrainのカスタマイズ可能な Qapps。

コマンドラインインターフェイス( CLI)は、強力で複雑かつやや難解なツールであり、ネットワークエンジニアが業務で優れた成果を上げるためには習得が不可欠です。CLIの習熟は長年にわたり成功の指標とされてきましたが、今後もそうあり続けるでしょう。しかし、ネットワークの規模が大きくなるにつれて、CLIの有効性は低下します。例えば、1,000台のデバイス上の1,000個のFastEthernet0/1インターフェイスで、同一のインターフェイス構成をどのように検証するかを尋ねられたと想像してみてください。

もしあなたの答えが「1000個のSSHセッションを開く」なら、この作業にはしばらく時間がかかるかもしれません。

CLIはネットワーク機器に関する貴重な情報を提供し、機器をきめ細かく制御することを可能にします。しかし、GUIに過度に依存するとCLIの習熟度が上達しにくくなるのと同様に、プロセス自動化においてはCLI自体がボトルネックとなることがあります

問題を解決するために何百ものデバイスに触れる必要がある場合は、それをスクリプト化する必要があります。 エンジニアにとって大きな問題は、必要なスキル セットが実際には Python や Javascript などのスクリプト言語の学習を強制しないことです。 より大きな問題は、CLI がユーザーに多くの構造化されていないデータを提示することです。これは歴史的にプログラミングにはあまり適しておらず、エンジニアが飛び越えなければならない追加のハードルを作成します。

非構造化データと言うときは、少し分解してみましょう。

誰かの名前を知りたいとします。 非構造化データは、ライセンスを要求するのと同じです。探しているものを見つけるためには、それを読む必要があります。 あ parser ライセンスを読み取り、その名前が含まれている領域を特定し、視覚的に魅力的な方法で提示するものです

CLI Parser

NetBrain は、人々がスクリプトを書き始める必要があるときに現れる急激な難易度の急上昇を認識しています。新しい言語の学習はあらゆる点で恐ろしく、混乱し、時間がかかります。 Qappsと Runbooks スクリプトレスの自動化として、基本的に CLI を適用しています parser高度な方法で。 私たちのCLI parsers

例えば、基本的なインターフェース設定を収集するシンプルな組み込みQappを見てみましょう

基本的なインターフェイスをキャプチャする Runbook 実行フロー

ここでわかるように、Q-app 全体は GetIntfIntfSetting というプログラムの実行にすぎません。

GetIntfIntfSetting

この Qapp のシーケンスは次のとおりです。

  1. キュー内の各デバイスに対して
  2. show interface コマンドを実行します
  3. デバイス データをテーブルに収集する
  4. デバイス データ テーブルをグローバル データ テーブルに変換する
  5. Excelファイルへの行単位の変換を実行します。

CLI Parser ステップ 3 と 4 の間に有効になります。 parserですので、このサンプル出力の基本について説明します。

サンプル出力 1

ここでは、 NetBrainの組み込み CLI parsers このベンダーの CLI からこの出力がどのように見えるかを時間をかけて調べたため、システムはインターフェイス名 [$intf]、ステータス [$status]、インバウンド パケット [$pkts_input] などの変数を簡単に識別できます。調査する必要がある情報を手動で特定しました。

出力変数

あなたはエンジニアとして、Qapp を実行するだけで済みます。 NetBrain これらの数千のデバイスに手続き的にログインし、インターフェースのステータスが何であるかを教えてくれます。

サンプル構造化出力

だから、あなたは疑問に思うかもしれません、 同じことを別のベンダーで行う必要がある場合はどうなりますか? 答えは簡単です。 ここで NetBrain、すでに作成しています parserは、デバイスで実行される最も一般的なコマンドです。 それかどうか…

Cisco インターフェース シスコ

 

ジュニパー

インターフェース ジュニパー

 

チェックポイント

インターフェイス チェックポイント

 

F5

インターフェイス F5

または、実際には、サポートしているベンダーの長いリストのいずれでも、これらの各プラットフォームで同一のデータ セットを識別できるようにしています。

より複雑な parser、独自のシステムを構築するための完全なシステムもあります。

ただし、それは別の日のトピックです。

結論 – なぜ CLI Parsers?

CLI Parser■ 状態変化のロジックを扱います。 CLI parser非構造化データを構造化形式に変換するときに、実用的な情報を作成するためにデータを適切に並べ替えるのに役立ちます。 前述のとおり、 すべてのQapp NetBrain 組み込みまたはカスタマイズされた CLI の拡張表現です。 Parser.

コマンドラインはどこにも行きません。 これは常に、単一のデバイス上のデータにアクセスし、正確かつきめ細かく制御するための最も効率的な方法です。 ただし、大規模なネットワークになると、基本的なタスクを自動化して、有意義な作業を行う時間が XNUMX 日の一部に残されるようにする必要があります。

CLIに興味があるなら parsers、必ずチェックアウトしてください NetBrain 独自の作成に関する大学の無料コース。

 

関連記事