キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
227
閲覧回数
1
いいね!
0
コメント
Tsubasa Kanai
Cisco Employee
Cisco Employee

はじめに

以前、CLICommandCollector App が別のドキュメントで紹介されました。元の App (version 1.0) では user が CLI コマンドを検索し、複数の ACI ノードからコマンド出力を並行して収集する機能を既に提供していますが、App が複数のACIノードで並行して script を実行できるようになると、より便利になるというフィードバックがありました。

そこで開発された新しい機能 Scripts は新しい version 1.2 以降で利用可能です。このドキュメントでは、その機能の使用方法について説明します。

もし CLICommandCollector App に慣れていない場合は、前のドキュメントを読むことをお勧めします。

事前準備

script ファイル と script_config.yml ファイルが含まれている zip ファイルを準備する必要がありますscript_config.yml ファイルは script のメタファイルの一種で、以下の情報を含む必要があります (これは単なる例です) :

name: "collect-port-count"
description: "Collect interface counters multiple times at specific interval."
role: ["leaf", "spine"]
script_path: "/data/techsupport/collect-port-count.sh"
root: false
command: "bash /data/techsupport/collect-port-count.sh"
option:
  - -p:
      required: true
      description: "Enter the port number. Ex) 1/15, 2/22, etc."
      default_value: "1/1"
  - -s: 
      required: false
      description: "Enter sleep length in second between each command execution."
      default_value: 60
  - -n:
      required: false
      description: "Enter how many times the script needs to collect the command outputs."
      default_value: 3
output_path:
  - "/bootflash/collect-port-count_*.log"

各 key/value は必須であり、次のような意味を持ちます:

  • name: script の名前
  • description: script の説明
  • role (apic/leaf/spine): script が実行可能なノードの役割
  • script_path: 実行ノード上における script の絶対パス
  • root: script が root 権限を要求するかどうか
  • command: ノード上で script を実行するための正確なコマンド
  • option: 必須項目か否か、説明、デフォルト値が含まれるコマンドオプション
  • output_path: script によって生成される出力ファイルの絶対パス

この例は、script の名前が "collect-port-count" であり、leaf および spine スイッチで実行でき、root権限を必要としないなどを示しています。上記の全ての key/value は必須であり、実行する script に対応する値を記入してください。
もし Unix/Linux OS をご利用の場合は、以下のように script ファイル(この例ではcollect-port-count.sh)とscript_config.yamlを zip 化します。

$ ls
collect-port-count.sh	script_config.yml
$ zip collect-port-count ./*
  adding: collect-port-count.sh (deflated 58%)
  adding: script_config.yml (deflated 54%)
$ ls
collect-port-count.sh	collect-port-count.zip	script_config.yml

script ファイルと script_config.yml ファイルを zip ファイルに圧縮したら、以下の指示に従ってください。
注意:zip ファイルの名前は、script_config.yml の "name" key の値である script の名前と同一でなければなりません。この例では、アップロードされる zip ファイルは "collect-port-count.zip" となります。

Scripts 機能の使い方

"Script List" の下にあるアップロードボタン (左側のボタン) から zip ファイルをアップロードしてください。これは script メニューページにあります。Screenshot 2024-06-07 at 13.27.12.png

ほとんどの場合、ファイルは TAC によって提供され、ACI ノード上で発生している問題を調査するために使用されます。各ノードで安全に実行して終了できる user script がある場合、それを使用することもできます。ファイルがアップロードされると、script の名前と説明が "Script List" の下に表示されます。各 Script は削除ボタンを使用して削除することができます。Screenshot 2024-06-07 at 13.28.13.png

アップロードされた script の詳細は、"Detail" ボタンをクリックすることで確認できます。script_config.yml ファイルの内容がここに反映されます。Screenshot 2024-06-07 at 14.07.04.png

script を実行したい場合は、"Operation" の下にある実行ボタン (左側のボタン) をクリックし、script を実行したいノードを選択し、必要に応じてオプション値を変更します。その後、下部の "Run" をクリックしてください。この例では、script は2つのノード、fab4-leaf1 および fab4-leaf2 で実行され、60秒間隔で (オプション-s) eth1/21 のインターフェースカウンターを (オプション -p) 5回 (オプション -n) 収集しますScreenshot 2024-06-10 at 11.44.23.png

script が開始されると、実行中の script として表示され、Node ID, PID およびステータスが表示されます。Screenshot 2024-06-10 at 13.17.46.png

各プロセスの "Status (Detail)" の下にあるボタンをクリックすることで、詳細なステータス情報を確認することもできます。このポップアップは、そのノード上で script が出す標準出力とエラー出力を表示します。Screenshot 2024-06-10 at 13.17.52.png

この例の script では、一連のコマンドが60秒間隔で実行されます。script の実行開始から数分後に "Running Scripts" の下にあるrefresh ボタンをクリックすると、"Status (Detail)" ビューが script の最新の進行状況を表示します。
Screenshot 2024-06-10 at 13.20.46.png

script が終了後、"Running Scripts" の下にある refresh ボタンをクリックすると、各ノード上の script の最新のステータスが取得され、ステータスは "Completed" になります。その後、"Operation" 列の左側のボタンである download ボタンをクリックすることで、収集されたログや標準出力&エラー出力 ("Status (Detail)" で見られるものと同一) を含む圧縮ファイルをダウンロードできます。Screenshot 2024-06-10 at 13.24.38.png

実行中の script を強制終了したり、完了したプロセスを削除したりするには、"Operation" 列の右側のボタンである delete ボタンをクリックします。それにより、"Running Scripts" の下の対応するエントリも App UI から削除されます。

最後に、この例で使用されたサンプルの zip ファイル (collect-port-count.zip) がこのドキュメントに添付されていますのでご利用ください。 

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします