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()パラメーターを指定します。テーブルで既定の引数(例えば、 argsfilterskey_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()))