Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

例: カスタム・システム・ログ・メッセージの生成

Junos OS コミット スクリプトは、コミット操作中にカスタム システム ログ メッセージを生成し、設定がカスタム設定ルールに準拠していない場合に警告を出すことができます。コミット プロセスは、システム ログ メッセージの生成による影響を受けません。この例では、特定のステートメントがデバイス設定に含まれていない場合に、カスタム システム ログ メッセージを生成するコミット スクリプトを作成します。

要件

Python スクリプトを使用する場合、Junos OS リリース 16.1R3 以降。

概要とコミット スクリプト

コミット スクリプトを使用して、 ステートメントが 階層レベルに含まれていない場合に read-write 表示されるカスタム システム ログ メッセージを [edit snmp community community-name authorization] 作成します。

このスクリプトは、XSLT、SLAX、Python で表示されます。

XSLT 構文

SLAX 構文

Python 構文

構成

手順

手順

スクリプトをダウンロード、有効化、テストします。コミット スクリプトがシステム ログ メッセージを正しく生成することをテストするには、候補の構成にシステム ログ メッセージを引き出す条件が含まれていることを確認します。この例では、 ステートメントが 階層レベルに[edit snmp community community-name authorization]含まれていないことを確認read-writeします。

このトピックの例をテストするには、

  1. スクリプトをテキスト ファイルにコピーし、 read-write.xslread-write.slax、または read-write.py に名前を付け、デバイス上の /var/db/scripts/commit/ ディレクトリにコピーします。

    メモ:

    符号なしPythonスクリプトは、junos OS super-user ログインクラスのルートまたはユーザーのいずれかが所有する必要があり、ファイルの書き込み権限を持つことができるのはファイル所有者だけです。

  2. 設定モードで、 階層レベルで ステートメントとスクリプトファイル名を[edit system scripts commit]設定fileします。

  3. スクリプトが Python で記述されている場合は、符号なし Python スクリプトの実行を有効にします。

    メモ:

    Python 3を language python3 使用してPythonスクリプトを実行するように ステートメントを設定するか、 ステートメントで language python Python 2.7を使用してPythonスクリプトを実行するように設定します。詳細については、 言語を参照してください。

  4. (オプション)条件をテストするには、ステートメントがすべてのコミュニティの read-write [edit snmp community community-name authorization] 階層レベルに含まれている場合、既存のSNMPコミュニティの認証を一時的に削除します。

  5. 次のコマンドを発行して、システム ロギングがファイルに書き込むよう設定されていることを確認します(一般的に使用されるファイル名は メッセージです)。

    システムログの設定については、 システムログエクスプローラを参照してください。

  6. コマンドを commit 発行して、設定をコミットします。

検証

スクリプト実行の検証

目的

コミット スクリプトによって生成されたシステム ログ メッセージを確認します。

メモ:

システム ログ メッセージは、Python、SLAX、XSLT スクリプトのコミット操作中に生成されますが、生成されるのは Python スクリプトのコミット チェック操作時のみです。つまり、 または commit check | display detail 設定モード コマンドをcommit check | display xml使用して、SLAX および XSLT スクリプトのシステム ログ メッセージの出力を検証することはできません。

アクション

コミット操作が完了したら、システム ログ ファイルを検査します。ログファイルのデフォルトディレクトリは /var/log/ です。動作モード コマンドを発行してログ ファイルを show log filename 表示します。例えば、メッセージが メッセージ ・ファイルに記録される場合は、以下のコマンドを実行します。

コミット スクリプトによって生成されるシステム ログ エントリの形式は次のとおりです。

ステートメントは read-write 階層レベルに [edit snmp community community-name authorization] 含まれされていないため、コミットスクリプトはシステムログファイルに「SNMPコミュニティには読み書きアクセスがありません」メッセージを生成する必要があります。