SNMP エラーメッセージの解釈
このセクションでは、SNMP メッセージに表示される可能性のある特定の一般的なエラーステータスの値を一覧表示し、説明します。
SNMP PDU
SNMP PDU内の3番目のフィールドには、特定の問題を参照するエラーステータス整数を含めることができます。
整数ゼロ(0)は、エラーが検出されなかったことを意味します。
エラーフィールドが0 以外の場合、次のフィールドには、エラーの原因となった変数またはオブジェクトを識別するerror-index 値が変数バインディングリストに含まれます。
次の表に、エラーステータスコードとその意味を示します。
|
注 - コードが表示されない場合があります。SNMPマネージャまたはユーティリティは、コードを解釈し、適切なメッセージをログに記録します。 |
SNMP PDU 内の4 番目のフィールドには、エラーステータスフィールドがゼロ以外の場合のエラーインデックスが含まれます。
つまり、エラーステータスフィールドがゼロ以外の値を返した場合、エラーが発生したことを示します。エラーインデックスの値は、エラーの原因となった変数バインディングリスト内の変数またはオブジェクトを識別します。リストの最初の変数はインデックス1、2番目の変数はインデックス2、というようになります。
SNMP PDU 内の5番目のフィールドは、変数バインディングフィールドです。
このフィールドは、ペアのシーケンスで構成されます。
-
ペアの最初のエレメントは識別子です。
-
ペアの2 番目のエレメントは、
value
、unSpecified
、noSuchOjbect
、noSuchInstance
、またはEndofMibView
のいずれかです。
この表では、エレメントについて説明します。
変数バインディングエレメント |
説明 |
---|---|
|
各オブジェクトインスタンスに関連付けられた値。この値は、PDU 要求で指定されます。 |
|
検索要求ではNULL 値が使用されます。 |
|
エージェントがこのオブジェクト識別子によって参照されるオブジェクトを実装しないことを示します。 |
|
この操作にこのオブジェクトが存在しないことを示します。 |
|
エージェントでMIB の終わりを超えたオブジェクト識別子を参照しようとしたことを示します。 |
GetRequest
次の表に、SNMP GetRequest
を実行するときに、レスポンスPDU またはエラーステータスメッセージの可能な値フィールドセットを示します。
Valueフィールドセット |
説明 |
---|---|
|
変数に |
|
変数名が変数名と完全に一致しない場合、その値フィールドは |
|
変数の処理が何らかの理由で失敗した場合、応答するエンティティは |
|
生成された応答PDUをカプセル化するメッセージのサイズが、要求の発信元のローカル制限または最大メッセージサイズを超える場合、応答PDUは破棄され、新しい応答PDUが構築される。新しい応答PDUのエラーステータスは |
GetNextRequest
エラーステータスコードが発生したときにGetNextRequest
にvariable-bindings フィールドの2 番目のエレメントとして返される値は、unSpecified
またはendOfMibView
のみです。
GetBulkRequest
GetBulkRequest
は、プロトコル交換の数を最小化し、応答ができるだけ大きいことをSNMPv2 マネージャに要求させます。
GetBulkRequest
PDU には、他のPDU には表示されない2 つのフィールドがあります。非リピータと最大リピートです。non-repeaters フィールドは、変数バインディングリストの変数の数を指定します。このリストでは、1 つの辞書式後続文字が返されます。max-repetitionsフィールドは、変数バインディングリスト内の残りの変数に対して返される辞書式後続文字の数を指定します。
プロセス内のいずれかの時点で辞書式後続文字が存在しない場合、endofMibView
値が最後の辞書式後続文字の名前とともに返されます。後続文字が存在しない場合は、要求内の変数の名前が返されます。
変数名の処理がendofMibView
以外の理由で失敗した場合、値は返されません。代わりに、応答エンティティは、genErr
のエラーステータスと変数バインディングフィールドの問題オブジェクトのインデックスであるエラーインデックスフィールドの値を持つ応答PDU を返します。