Junos OS を実行するデバイスでの SNMP スクリプト処理のトレース
SNMP スクリプト トレース操作は、SNMP スクリプト操作を追跡し、ログ ファイルに記録します。ログに記録されたエラーの説明には、問題の迅速な解決に役立つ詳細情報が記載されています。
Junos OSでは、SNMP スクリプト トレースのデフォルト動作は、エラー、警告、進行状況メッセージ、スクリプト処理イベントなどの重要なイベントをデバイスの /var/log/snmp.log ファイルに記録することです。ファイルの snmp.log が 128 キロバイト (KB) に達すると、ファイルの末尾に 0 から 9 までの番号 (昇順) を追加して名前が変更され、圧縮されます。結果のファイルは、トレース ファイルが 10 個になるまで snmp.log.0.gzされ、次に snmp.log.1.gz されます。次に、最も古いトレース ファイル(snmp.log.9.gz)が上書きされます。
Junos OS Evolved は、デフォルトですべてのアプリケーションのトレース・データをキャプチャーし、 cscript
アプリケーションに対応するトレース・ファイル内のすべてのスクリプト・タイプのデータを収集します。トレース・データを表示するには、 show trace application cscript
コマンドを発行します。詳細については、 Junos OS Evolvedを搭載したデバイスでのトレーススクリプト処理を参照してください。
SNMPスクリプトのtraceoptionsを有効にするための最小設定
SNMP スクリプトのトレース オプションが設定されていない場合、SNMP スクリプトのトレース出力を表示する最も簡単な方法は、 output
トレース フラグを設定して show log snmp.log | last
コマンドを発行することです。これを行うには、次の手順を実行します。
まだ行っていない場合は、
[edit system scripts snmp]
階層レベルでfile
ステートメントを含めてSNMPスクリプトを有効にします。[edit system scripts snmp] user@host# set file filename oid oid
[edit system scripts snmp]
階層レベルでtraceoptions flag output
ステートメントを含めることで、トレース・オプションを有効にします。[edit system scripts snmp] user@host# set traceoptions flag output
設定をコミットします。
[edit] user@host# commit and-quit
/var/log/snmp.log ファイルの末尾に記録されたトレース メッセージを表示するには、
show log snmp.log | last
運用モード コマンドを発行します。user@host> show log snmp.log | last
表 1 は、 snmp.log
ファイルの選択された部分を表示する便利なフィルタリング コマンドをまとめたものです。
タスク |
命令 |
---|---|
すべてのSNMPスクリプト処理に関連するロギングデータを表示します。 |
|
直近の作業のみの処理を表示します。 |
|
スクリプトエラーの処理を表示します。 |
|
特定のスクリプトの処理を表示します。 |
|
例:SNMPスクリプトのtraceoptionsを有効にするための最小設定
SNMP スクリプト ファイル sample_snmp.slax のトレース出力をデフォルトの SNMP スクリプト ログ ファイルに表示します。
[edit] system { scripts { snmp { file sample_snmp.slax { oid .1.3.6.1.4.1.2636.13.61.1.9.1.1; } traceoptions { flag output; } } }
[edit] user@host# commit and-quit
user@host> show snmp mib get .1.3.6.1.4.1.2636.13.61.1.9.1.1.1 juniperMIB.13.61.1.9.1.1.1 = 211 user@host> show log snmp.log | last Mar 1 11:00:09 snmp script processing begins Mar 1 11:00:09 running snmp script 'sample_snmp.slax' Mar 1 11:00:09 opening snmp script '/var/run/scripts/snmp//sample_snmp.slax' Mar 1 11:00:09 snmp script input Mar 1 11:00:09 begin dump <?xml version="1.0" standalone="yes"?> <snmp-script-input> <snmp-action>get</snmp-action> <snmp-oid>.1.3.6.1.4.1.2636.13.61.1.9.1.1.1</snmp-oid> </snmp-script-input> Mar 1 11:00:09 end dump Mar 1 11:00:09 reading snmp script 'sample_snmp.slax' Mar 1 11:00:09 snmp script output Mar 1 11:00:09 begin dump <?xml version="1.0"?> <snmp-script-results> <snmp-oid>.1.3.6.1.4.1.2636.13.61.1.9.1.1.1</snmp-oid> <snmp-type>Integer32</snmp-type> <snmp-value>211</snmp-value> </snmp-script-results> Mar 1 11:00:09 end dump Mar 1 11:00:09 inspecting snmp output 'sample_snmp.slax' Mar 1 11:00:09 sample_snmp.slax triggered for oid = .1.3.6.1.4.1.2636.13.61.1.9.1.1.1, with type = Integer32, and with value = 211 Mar 1 11:00:09 finished snmp script 'sample_snmp.slax' Mar 1 11:00:09 snmp script processing ends
SNMPスクリプトのトレースを設定する
トレース ファイルが書き込まれるディレクトリ(/var/log)は変更できません。ただし、 [edit system scripts snmp traceoptions]
階層レベルで次のステートメントを含めることで、他のトレース ファイル設定をカスタマイズできます。
[edit system scripts snmp traceoptions] file <filename> <files number> <size size> <world-readable | no-world-readable>; flag all; flag events; flag input; flag offline; flag output; flag rpc; flag xslt; no-remote-trace;
これらのステートメントは、次のセクションで説明されています。
SNMPスクリプトログファイル名を設定する
デフォルトでは、SNMP スクリプトのトレース出力を記録するファイルの名前は snmp.log です。[edit system scripts snmp traceoptions]
階層レベルで file
ステートメントを含めることで、別の名前を指定することができます。
[edit system scripts snmp traceoptions] file filename;
SNMPスクリプトログファイルの数とサイズを設定する
既定では、トレース ファイルのサイズが 128 KB に達すると、トレース ファイルの名前が変更され、 filename.0.gz、 filename.1.gz というように圧縮され、トレース ファイルが 10 個になるまで圧縮されます。そして、最も古いトレースファイル(filename.9.gz)が上書きされます。
トレース ファイルの数とサイズに制限を設定するには、 [edit system scripts snmp traceoptions file filename]
階層レベルで次のステートメントを含めます。
[edit system scripts snmp traceoptions file filename] files number size size;
たとえば、最大ファイル サイズを 640 KB に、最大ファイル数を 20 に設定します。トレース操作 (filename) の出力を受信するファイルが 640 KB に達すると、名前が変更されて filename.0.gz に圧縮され、 filename という新しいファイルが作成されます。 filename が 640 KB に達すると、 filename.0.gz の名前が filename.1.gz に変更され、 filename の名前が変更されて filename.0.gz に圧縮されます。このプロセスは、トレース ファイルが 20 個になるまで繰り返されます。次に、最も古いファイル(filename.19.gz)が上書きされます。
ファイル数は 2 から 1000 ファイルの範囲です。ファイルサイズの範囲は10KBから1ギガバイト(GB)です。
最大ファイル サイズまたは最大トレース ファイル数を設定する場合は、もう一方のパラメータとファイル名も指定する必要があります。
SNMPスクリプトログファイルへのアクセスを設定する
デフォルトでは、SNMP スクリプト ログ ファイルへのアクセスは所有者に制限されています。[edit system scripts snmp traceoptions file filename]
階層レベルで world-readable
または no-world-readable
ステートメントを含めることで、アクセスを手動で設定できます。
[edit system scripts snmp traceoptions file filename] (world-readable | no-world-readable);
no-world-readable
ステートメントは、SNMPスクリプトログへのアクセスを所有者に制限します。world-readable
ステートメントは、SNMPスクリプトのログファイルへの無制限のアクセスを可能にします。
SNMPスクリプトのトレース操作を設定する
デフォルトでは、構成設定に関係なく、traceoptions events
フラグがオンになり、重要なイベントのみがログに記録されます。これには、エラー、警告、進行状況メッセージ、およびスクリプト処理イベントが含まれます。トレース操作をログに記録するように設定するには、 [edit system scripts snmp traceoptions]
階層レベルに以下のステートメントを記述します。
[edit system scripts snmp traceoptions] flag all; flag events; flag input; flag offline; flag output; flag rpc; flag xslt;
表 2 に、SNMP スクリプト トレース フラグの意味を示します。
旗 |
形容 |
デフォルト設定 |
---|---|---|
|
すべての操作をトレースします。 |
オフ |
|
エラー、警告、進行状況メッセージ、スクリプト処理イベントなどの重要なイベントをトレースします。 |
オン |
|
SNMP スクリプトの入力データをトレースします。 |
オフ |
|
オフライン開発用のデータを生成します。 |
オフ |
|
SNMP スクリプトの出力データをトレースします。 |
オフ |
|
SNMP スクリプト RPC をトレースします。 |
オフ |
|
Extensible Stylesheet Language Transformations (XSLT) ライブラリをトレースします。 |
オフ |