Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

例:SNMP スクリプトによるサポートされていない OID の処理

このサンプルSNMPスクリプトは、Junos OSを実行するデバイスでサポートされていないオブジェクト識別子(OID)を処理する方法を示しています。

要件

SLAX SNMP スクリプトを使用する場合、Junos OS リリース 15.1 以降。

QFX シリーズ スイッチ、MX シリーズ、PTX シリーズ、または T Series ルーターで Python SNMP スクリプトを使用する場合、Junos OS リリース 16.1R3 以降。

EX シリーズ スイッチで Python SNMP スクリプトを使用する場合、Junos OS リリース 17.1R1 以降。

SRX シリーズ サービス ゲートウェイで Python SNMP スクリプトを使用する場合、Junos OS リリース 17.3R1 以降。

SNMPはデバイス上で設定されています。

概要とSNMPスクリプト

この例では、複数のサポートされていない OID に一致して処理する、SLAX と Python に相当する 2 つの SNMP スクリプトが提示されています。このスクリプトは、SLAX スクリプト内の要素とjcs.emit_snmp_attributes()同等の Python スクリプト内の関数を<snmp-script-results>使用して、要求されたオブジェクトの値を返します。拡張関数はsyslog()、システムログファイルに要求されたSNMPアクションとOIDを記録するために呼び出されます。この関数の詳細syslog()については、 syslog() 関数(Python、SLAX、XSLT)を参照してください。

SLAX 構文

Python 構文

構成

手順

手順

スクリプトをダウンロードして有効にするには、次の手順にしたがっています。

メモ:

Python、SLAX、または XSLT で SNMP スクリプトを作成できます。 要求システム スクリプト を使用すると、SLAX と XSLT 間で変換するコマンドを変換します。

  1. スクリプトをテキスト ファイルにコピーし、 sample_snmp.slax または sample_snmp.py に名前を付け、デバイス上の /var/db/scripts/snmp ディレクトリにダウンロードします。

    メモ:

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

  2. SNMPスクリプトを有効にし、OIDを設定します。

    設定モードで、 file filename 階層レベルでスクリプト言語に適したファイル名と拡張子を持つステートメントを [edit system scripts snmp] 設定し、スクリプトをトリガーするOIDを設定します。

  3. スクリプトが Python で記述されている場合は、必要に応じて または language python3 ステートメントをlanguage python設定します。

  4. スクリプトが Python で記述されている場合は、そのスクリプトが実行するアクセス権限を持つユーザーを構成します。

    メモ:

    ステートメントを python-script-user 設定しない場合、Junos OSはデフォルトで、ユーザーとグループ nobodyのアクセス権限の下でPython SNMPスクリプトを実行します。

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

結果

設定モードから、 コマンドを入力して設定を show system scripts snmp 確認します。

出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。

有効なファイルがデバイス上に存在することを確認するには、 運用モードコマンドを使用して /var/run/scripts/snmp ディレクトリの内容を file list /var/run/scripts/snmp リストします。

検証

スクリプト実行の検証

目的

SNMP スクリプトが想定通りに機能していることを確認します。

アクション

、 、または show snmp mib walk コマンドをshow snmp mib getshow snmp mib get-next発行してSNMPリクエストを生成します。

システム ログ ファイルには、スクリプト実行後の以下のメッセージが含まれています。