SNMPアクティビティのトレース

Junos OSを実行するデバイスでSNMPアクティビティを監視し、SNMPパフォーマンスに影響を与える問題を追跡します

Junos OS デバイスでは、SNMP アクティビティの監視と、SNMP パフォーマンスに影響を与える問題の特定に関する情報を表示できます。

SNMPd に登録されている MIB オブジェクトを確認する

MIBオブジェクトに関連するデータにアクセスするには、MIBオブジェクトをsnmpdに登録する必要があります。SNMPサブエージェントは、オンラインのときに、関連するMIBオブジェクトをsnmpdに登録します。snmpd は、オブジェクトと、オブジェクトが関連付けられているサブエージェントのマッピングを維持します。ただし、登録の試行は時折失敗し、次回サブエージェントが再起動してオブジェクトを正常に登録するまで、オブジェクトはsnmpdへの未登録のままになります。

ネットワーク管理システムが snmpd に登録されていないオブジェクトに関連するデータをポーリングすると、snmpd は noSuchName エラー(SNMPv1 オブジェクトの場合)または noSuchObject エラー(SNMPv2 オブジェクトの場合)のいずれかを返します。

以下のコマンドを使用して、snmpd に登録されている MIB オブジェクトを確認できます。

  • show snmp registered-objects—登録済みオブジェクトのリストと、さまざまなサブエージェントへのマッピングを含む /var/log/snmp_reg_objs ファイルを作成します。

  • file show /var/log/snmp_reg_objs— /var/log/snmp_reg_objs ファイルの内容を表示します。

以下の例は、 /var/log/snmp_reg_objs ファイルを作成して表示する手順を示しています。

/var/log/snmp_reg_objsファイルには、snmpdに登録されているJunos OSプロセスに関連付けられたオブジェクトが含まれています。show snmp registered-objectsコマンドを使用してオブジェクトを表示できます。稼働中のJunos OSプロセスに関連するMIBオブジェクトが登録済みオブジェクトのリストに表示されない場合は、ソフトウェアプロセスを再起動して、snmpdへのオブジェクト登録を再試行することができます。

SNMPアクティビティの追跡

SNMP トレース操作は、SNMP エージェントのアクティビティを追跡し、その情報をログ ファイルに記録します。デフォルトでは、Junos OSはSNMPアクティビティを一切トレースしません。Junos OSを実行しているデバイスでSNMPアクティビティの追跡を有効にするには、[edit snmp]階層レベルでset traceoptions flag allステートメントを含めます。

以下のログファイルが作成されます。

  • snmpd

  • mib2d

  • rmopd

show log log-filename操作コマンドを使用して、ログファイルの内容を表示できます。snmpdログファイル(次の例を参照)では、>>>のシーケンスが着信パケットを表し、<<<のシーケンスが発信パケットを表しています。複数のネットワーク管理システムが同時にデバイスをポーリングしている場合は、ソースとリクエストIDの組み合わせを使用してリクエストとレスポンスを照合できます。SNMPマスターエージェントまたはSNMPサブエージェントが要求に応答していない場合、応答ログはログファイルに作成されません。

リクエストとレスポンスにかかる時間を分析して、遅延したレスポンスを特定して理解することができます。

show log snmpdコマンドを使用してログファイルを確認できます。

SNMP統計を監視する

show snmp statistics extensive操作コマンドには、デバイス上のトラップを含むSNMPトラフィックを確認するオプションがあります。show snmp statistics extensiveコマンドの出力にはリアルタイム値が表示され、スロットルドロップ、現在アクティブ、最大アクティブ、見つかりません、タイムアウト、最大遅延、現在のキュー、キューの合計、オーバーフローなどの値を監視するために使用できます。現在アクティブなカウントが常に増加すると、SNMPリクエストへの応答が遅い、またはまったく応答しないことに直接関係するため、現在アクティブなカウントを監視することで、SNMP応答の遅さを特定できます。

CPU使用率を確認する

snmpdやmib2dなど、クエリーされているソフトウェアプロセスのCPU使用率が高いことも、応答が遅い、または応答がない原因となる要因です。 show system processes extensive 操作コマンドを使用して、Junos OSプロセスのCPU使用率を確認できます。

カーネルとパケット転送エンジンの応答を確認する

Junos OS での SNMP 実装についてで説明したように、一部の SNMP MIB データはカーネルまたはパケット転送エンジンによって維持されます。このようなデータをネットワーク管理システムで利用できるようにするには、カーネルは mib2d 内の SNMP サブエージェントに必要な情報を提供する必要があります。カーネルからの応答が遅いと、ネットワーク管理システムにデータを返すmib2dに遅延が生じる可能性があります。Junos OSは、インターフェイスがインターフェイス統計のリクエストに応答するのに10,000マイクロ秒以上かかるたびに、mib2dログファイルにエントリを追加します。show log log-filename | grep “kernel response time”コマンドを使用すると、カーネルにかかった応答時間を確認できます。

カーネル応答時間の確認

Junos OSを実行しているデバイスでのSNMPアクティビティをトレースする

SNMP トレース操作は、SNMP エージェントのアクティビティを追跡し、その情報をログ ファイルに記録します。ログに記録されたエラーの説明には、問題を解決するための詳細な情報が記載されています。

デフォルトでは、Junos OSはSNMPアクティビティを一切トレースしません。[edit snmp]階層レベルにtraceoptionsステートメントを含める場合、デフォルトのトレース動作は次のとおりです。

  • 重要なアクティビティは、/var/logディレクトリにあるファイルに記録されます。各ログには、それを生成するSNMPエージェントにちなんで名付けられています。現在、traceoptionsステートメントを使用すると、/var/logディレクトリに以下のログファイルが作成されます。

    • シャーシ

    • クラフト

    • ILMID

    • mib2d

    • rmopd

    • サービス済み

    • snmpd

  • filenameという名前のトレースファイルが最大サイズに達すると、トレースファイルの最大数に達するまで名前がfilename.0、filename.1などに変更されます。その後、最も古いトレース ファイルが上書きされます。(ログファイルの作成方法については、システムログエクスプローラを参照してください)。

  • ログファイルには、トレース操作を設定したユーザーのみがアクセスできます。

トレース ファイルが配置されているディレクトリ(/var/log)は変更できません。ただし、 [edit snmp] 階層レベルで以下のステートメントを含めることで、他のトレース ファイルの設定をカスタマイズできます。

これらのステートメントは、次のセクションで説明されています。

SNMPログファイルの数とサイズを設定する

デフォルトでは、トレース ファイルのサイズが 128 キロバイト(KB)に達すると、トレース ファイルが 3 つになるまで名前が filename.0、 filename.1 などに変更されます。次に、最も古いトレース ファイル(filename.2)が上書きされます。

トレース ファイルの数とサイズの制限を設定するには、 [edit snmp traceoptions] 階層レベルで以下のステートメントを含めます。

例えば、最大ファイルサイズを2MB、最大ファイル数を20に設定します。トレース操作(filename)の出力を受信するファイルが2MBに達すると、 filename の名前が filename.0に変更され、 filename という新しいファイルが作成されます。新しい filename が2MBに達すると、 filename.0 は filename.1 、 filename は filename.0に名前が変更されます。このプロセスは、トレース ファイルが 20 個になるまで繰り返されます。次に、最も古いファイル(filename.19)が最新のファイル(filename.0)で上書きされます。

ファイル数は2〜1000ファイルです。各ファイルのファイルサイズは、10KBから1ギガバイト(GB)の範囲です。

ログファイルへのアクセスを設定する

デフォルトでは、トレース操作を設定したユーザーのみがログファイルにアクセスできます。

すべてのユーザーがすべてのログファイルを読み取れるように指定するには、[edit snmp traceoptions]階層レベルでfile world-readableステートメントを含めます。

デフォルトの動作を明示的に設定するには、[edit snmp traceoptions]階層レベルでfile no-world-readableステートメントを含めます。

ログに記録する回線の正規表現を設定する

デフォルトでは、トレース操作の出力には、ログに記録されたアクティビティに関連するすべての行が含まれます。

[edit snmp traceoptions file filename]階層レベルでmatchステートメントを含め、一致させる正規表現(正規表現)を指定することで、出力を絞り込むことができます。

トレース操作を設定する

デフォルトでは、重要なアクティビティのみが記録されます。ログに記録するトレース操作を指定するには、以下の flag ステートメント(1つ以上のトレースフラグ付き)を [edit snmp traceoptions] 階層レベルで記述します。

表1に 、SNMPトレースフラグの意味を示します。

表1:SNMPトレーシングフラグ

フラグ

説明

デフォルト設定

all

すべての操作をログに記録します。

オフ

configuration

[edit snmp]階層レベルでの設定のログ読み取り。

オフ

database

イベントデータベースへの保存と取得を含むイベントのログ記録。

オフ

events

重要なイベントを記録します。

オフ

general

一般的なイベントをログに記録します。

オフ

interface-stats

物理および論理インターフェイスの統計情報をログに記録します。

オフ

nonvolatile-set

不揮発性SNMPセットリクエストの処理をログに記録します。

オフ

pdu

SNMPリクエストとレスポンスパケットを記録します。

オフ

policy

ログポリシー処理。

オフ

protocol-timeouts

SNMP応答タイムアウトをログに記録します。

オフ

routing-socket

ルーティングソケットコールをログに記録します。

オフ

server

イベントを生成しているプロセスとの通信をログに記録します。

オフ

subagent

ログサブエージェントが再起動します。

オフ

timer

内部タイマーイベントをログに記録します。

オフ

varbind-error

変数バインディングエラーをログに記録します。

オフ

エージェントのログの最後を表示するには、 show log agentd | last 運用モードコマンドを発行します。

ここで、 agent はSNMPエージェントの名前です。

証明書有効期限トラップを設定するには、 証明書の検証を参照してください。

例:SNMPアクティビティのトレース

SNMP パケットに関する情報をトレースします。

ピアダウンおよびIPsecトンネルダウントラップを有効にする

このトピックでは、 peer-down トラップを有効にしてトラップ ipsec-tunnel-down する方法について説明します。

  1. IKEトラップピアを有効化します。トラップは、ピアがダウンしたときに生成されます。
  2. IKEトラップIPsecトンネルダウンを有効にします。トラップは、ピアがアップしていて、IPsec SAがダウンしているときに生成されます。
  3. show security ike trapコマンドを入力して、設定を確認します。