Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Python の Junos Snapshot Administrator の概要

Python(jsnapy)のJunos Snapshot Administratorを使用すると、Junos® OSを実行しているネットワークデバイスのランタイム環境のスナップショットをキャプチャして監査できます。デバイスの運用および設定ステータスを取得して検証し、デバイスに対する運用上の変更を確認できます。スナップショットのスコープを定義し、スナップショット データのテスト条件をカスタマイズする構成ファイルを作成します。

Python の Junos Snapshot Administrator を使用すると、Junos OS を実行している単一のデバイスまたはデバイスのリストに対して、以下の機能を実行できます。

  • デバイス上のランタイム環境のスナップショットを取得します。

  • 2 つのスナップショットを比較します。

  • デバイスのランタイム環境を、事前定義された基準に照らし合わせて監査します。

  • 他のPythonプログラムのモジュールとして使用してください。

  • テスト結果を含む電子メール警告を送信します。

  • スナップショットをSQLiteデータベースに保存して比較します。

たとえば、デバイスのソフトウェアまたはハードウェアをアップグレードする前に、デバイスのインストール前およびインストール後のスナップショットを取得し、2つのスナップショットを比較できます。その後、デバイスの運用上の変更を確認し、予想される変更の一覧からこれらの変更を検証できます。

図 1 は、Python での Junos Snapshot Administrator の操作概要を示しています。

図 1: Junos Snapshot Administrator in Python の運用の概要 Junos Snapshot Administrator in Python Operational Overview

Python の Junos Snapshot Administrator は、Mac OS X や多くの Linux ディストリビューションなど、Python をサポートできる OS を実行しているリモート サーバーにインストールされます。jsnapyサーバーはJunos PyEZを使用して、ネットワーク接続されたJunos OSデバイスにSSHv2経由でNETCONF接続を確立します。jsnapyは、YAMLフォーマットの設定ファイルと接続およびテスト基準のテストファイルを使用して、NETCONF接続を介してデバイスにRPCリクエストを送信します。RPC 応答は、スナップショットの形式でサーバーで受信されます。jsnapy は、サーバーのコマンドラインから実行することも、他の Python アプリケーションにモジュールとして含めることもできます。「Python モジュールとして実行している場合の Python での Junos Snapshot Administratorについて」を参照してください

スナップショットはテキストファイルまたは XML ファイルとしてフォーマットされ、サーバー上のディレクトリ/etc/jsnapy/にあるファイルで指定されたjsnapy.cfg場所に保存されます。jsnapy を使用してディレクトリに/etc/jsnapyインストールされるディレクトリとファイルの完全なリストは、 Python での Junos スナップショット アドミニストレータのインストール オプションで、スナップショットをサーバー上の SQLite データベースに格納できます。その後、Jsnapyはスナップショットを他のスナップショットまたは事前定義された基準と比較して、構成変更の影響を監査したり、適切なデバイス構成を確認したりできます。

Junosデバイスがjsnapyと連携するための唯一の要件は、NETCONFとSSHを有効にすることです。

Python の Junos Snapshot Administrator は、その操作に関する情報をコンソールとファイルにデフォルトで記録します/var/log/jsnapy/jsnapy.log。実行されるロギングのレベルは、 、 、 、INFOまたはファイル内の/etc/jsnapy/logging.ymlパラメーターを変更することによって設定できますDEBUGCRITICAL ERRORこのファイルを使用して、ロギング・レベルの変更、コンソールへのロギングの無効化、または jsnapy が使用するログ・ファイルの場所と名前の変更を行うことができます。ログレベルは、CLIからjsnapyを呼び出すときにオプション-vを使用することで、一時的にdebugに設定できます。

jsnapy –snap PRE -f config_file.yml -v.