戻る

CLI Parsers: 自動化の基本単位

著者注 by 2018 年 11 月 8 日

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

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

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

この コマンドラインインターフェイス は強力で複雑、そしてかなり難しいツールであり、ネットワークエンジニアは仕事で成功するためにはこれを習得する必要があります。CLIの習得は長い間成功の指標であり、今後もそうあり続けるでしょう。しかし、 ネットワークのサイズが大きくなるにつれて、CLI の有効性が低下します。: 0 台のデバイスの 1 台の FastEthernetXNUMX/XNUMX インターフェイスで同一のインターフェイス構成を確認する方法を尋ねたとしたら、想像してみてください。

あなたの答えが 「千の 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 独自の作成に関する大学の無料コース。

 

関連記事