Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

イベント ポリシーでイベント スクリプトを実行する

イベント スクリプト は、XSLT(Extensible Stylesheet Language Transformations)スクリプト、Stylesheet Language Alternative syntaX(SLAX)スクリプト、またはイベント ポリシーがトリガーされたときに実行できる Python スクリプトです。イベント スクリプトは、Junos XML または Junos XML プロトコルリモート プロシージャ コール(RPC)を介して利用可能な任意の機能を実行できます。さらに、定義した一連の引数をイベント スクリプトに渡すこともできます。

イベント スクリプトは、運用モード コマンドをビルドして実行し、コマンド出力を受信し、出力を検査して、次の適切なアクションを決定できます。この処理は、問題の原因が特定されるまで繰り返すことができる。その後、スクリプトから問題の原因を CLI で報告したり、デバイス設定を自動的に変更したりできます。

イベント スクリプトを実行し、そのスクリプトの出力を特定の場所にアップロードして分析するイベント ポリシーを構成できます。このようなポリシーを設定するには、 階層レベルで以下のステートメントを [edit event-options] 含めます。

ステートメントでは、複数の events イベントを一覧表示できます。リストされている 1 つ以上のイベントが発生した場合、イベント処理は 階層の下で設定されたアクションを then 実行します。イベントポリシーアクションには、 ステートメントを含めて構成された1つ以上のイベントスクリプトの実行を event-script filename 含めることができます。イベント処理は、設定に表示された順序でスクリプトを実行します。ステートメントで event-script 参照するスクリプトは、デバイスのハード ディスクの /var/db/scripts/event ディレクトリ、またはフラッシュ メモリの /config/scripts/event/ ディレクトリに配置する必要があります。さらに、イベント スクリプトは 階層レベルで [edit event-options event-script file] 有効にする必要があります。詳細については、「 Junos 自動化スクリプトの保存と有効化」を参照してください。

メモ:

スクリプトがフラッシュ メモリ内にある場合は、 階層レベルで ステートメントを load-scripts-from-flash 設定する [edit system scripts] 必要があります。

メモ:

Junos OS を実行するデバイスで Python 自動化スクリプトを実行する際の要件と制限の詳細については、「 Junos デバイスで Python 自動化スクリプトを実行するための要件」を参照してください。

名前/値の arguments ペアとして、 ステートメントを設定して、引数をイベントスクリプトに渡すことができます。引数値には、トリガー・イベントやその他の受信イベントに関する情報を含む変数を含めることができます。その後、イベント スクリプトは実行中にこの情報を参照できます。イベント スクリプトに引数を渡す方法の詳細については、 イベント スクリプト に引数を渡すためのイベント ポリシーの構成を参照してください。

イベントスクリプトを設定して、出力をファイルに書き込むことができます。イベント処理がスクリプトを実行すると、 ステートメントで指定された場所にスクリプト出力されたファイルが destination アップロードされます。ステートメントには、 destination 階層レベルで設定された宛先名を [edit event-options destinations] 含めます。詳細については、「 例: イベントポリシー別ファイルアーカイブの宛先を定義する」を参照してください。

ステートメントで output-filename 、ファイル名に含まれる記述的な文字列を定義します。アップロードされた各ファイルには、ファイル名にホスト名とタイムスタンプも含まれており、各ファイル名が一意であることを確認します。ポリシーが1秒間に複数回トリガーされる場合、ファイル名がまだ一意であることを確認するために、ファイル名にインデックス番号が付加されます。インデックス番号の範囲は001~999です。

Junos OS リリース 14.1R3 以降、イベント スクリプトによって生成されるコマンド出力ファイルの命名規則が変更されました。イベントポリシーがイベントスクリプトを実行し、スクリプトが出力ファイルを生成する場合、ファイル名はデバイスで実行されているJunos OSのバージョンに依存します。Junos OS リリース 14.1R3 より前のファイル名には、以下の命名規則があります。

Junos OSリリース14.1R3以降、ファイル名はタイムスタンプの後に output-filename 文字列を配置します。

例えば、Junos OSリリース14.1R3以降のリリースを実行しているr1という名前のデバイスでは、 ステートメントをifl-eventsとして設定output-filenameし、このイベントポリシーが1秒に3回トリガーされる場合、ファイル名は次のようになります。

  • r1_20060623_132333_iflイベント

  • r1_20060623_132333_ifl-events_001

  • r1_20060623_132333_ifl-events_002

destinationおよび output-filename ステートメントでは、4つの設定シナリオがあります。

  • および output-filename ステートメントをdestination省略できます。このオプションは、イベント スクリプトに出力がない場合に有効です。例えば、イベント・スクリプトは、出力を持たないコマンドのみをrequest実行する場合があります。

  • および output-filename ステートメントの両方をdestination含めることができます。設定に ステートメントをoutput-filename含める場合は、設定に ステートメントもdestination含める必要があります。この場合、スクリプト出力は出力ファイルにリダイレクトされ、設定で指定された宛先にファイルが送信されます。

  • 設定に ステートメントを destination 含めることができます。設定で ステートメントを output-filename 省略し、代わりにイベントスクリプトで出力ファイル名を指定することができます。スクリプト出力は、設定で指定された宛先に送信されます。設定に ステートメントを destination 含めなかった場合、スクリプト出力はアップロードされません。

    このシナリオでは、イベント ポリシーはイベント スクリプトからファイル名を抽出します。イベント スクリプトは、 STDOUT として出力ファイル名を書き込みます。イベントスクリプトで使用するXML構文は次のとおりです。

    要素は <event-script-output-filename> 、親タグ内の最初の子タグである <output> 必要があります。

    という名前 device2のデバイスでは、宛先 hostでイベントスクリプトアクションを設定し、 ステートメントを output-filename 省略します。宛先を ftp://user@device1//tmp として定義します host

    script1.xsl イベント・スクリプトでは、STDOUT に以下の出力を書き込みます。

    イベントポリシーを policy1 以下のように設定します。

    この例では、 /var/jp.txt ファイルはdevice2にあります。イベントポリシーは、ファイル転送プロトコル(FTP)を使用して、このファイルをデバイス1の /tmp ディレクトリにアップロードします。

    イベント ポリシーは、 からSTDOUT出力ファイル名 /var/jp.txt を読み取ります。次に、イベントポリシーが設定された宛先(device1の/tmpディレクトリ)に/var/jp.txtファイルをアップロードします。イベント ポリシーの名前が /var/_cmd.txt_index-number device2_YYYYMMDDHHMMSS に変更されます。

  • および output-filename ステートメントをdestination含め、イベントスクリプト内で直接出力ファイル名を指定することもできます。これを行うと、設定で指定された出力ファイル名が、イベントスクリプトで指定された出力ファイル名を上書きします。

イベント スクリプト出力のデフォルトの形式と唯一の形式は、Junos XML(Extensible Markup Language)です。

メモ:

イベントスクリプトの出力は、 階層の下で ステートメントを設定した場合でも、常に output-format text XML形式で [edit event-options policy policy-name then event-script filename] 出力されます。

リリース履歴テーブル
リリース
説明
14.1R3
Junos OS リリース 14.1R3 以降、イベント スクリプトによって生成されるコマンド出力ファイルの命名規則が変更されました。