Junos PyEZ の運用テーブルと、非構造化出力を解析するビューを使用する
Junos PyEZ 運用(op)テーブル(非構造化出力用のテーブル)は、Junos デバイスで実行された CLI コマンドまたは特定のフレキシブル PIC コンセントレータ(FPC)で実行された vty コマンドのテキスト出力からデータを抽出します。読み込みまたは Python モジュールにテーブルの定義をインポートした後は、テーブル項目を取得し、データを抽出し、操作できます。
特定のデバイスから情報を取得するには、Table インスタンスを作成し、ターゲット デバイスを Device
表すオブジェクトに関連付ける必要があります。例えば:
from jnpr.junos import Device from jnpr.junos.command.ospf_neighbor import OspfNeighborTable with Device(host='router.example.com') as dev: stats = OspfNeighborTable(dev)
Junos PyEZ アプリケーションで Table を使用してコマンドを実行し、データを取得するには、Table のメソッドを呼び出し、必須またはオプションのget()
パラメーターを指定します。テーブルで既定の引数(例えば、 args
filters
key_items
、または target
パラメーター)が定義されている場合、メソッドは引数リストでオーバーライドしない限り、get()
これらのデフォルトを使用します。
from jnpr.junos import Device from jnpr.junos.command.ospf_neighbor import OspfNeighborTable from pprint import pprint import json with Device(host='router.example.com') as dev: stats = OspfNeighborTable(dev) stats.get() pprint(json.loads(stats.to_json()))