SNMP エラーメッセージの解釈

このセクションでは、SNMP メッセージに表示される可能性のある特定の一般的なエラーステータスの値を一覧表示し、説明します。

SNMP PDU

SNMP PDU内の3番目のフィールドには、特定の問題を参照するエラーステータス整数を含めることができます。

整数ゼロ(0)は、エラーが検出されなかったことを意味します。

エラーフィールドが0 以外の場合、次のフィールドには、エラーの原因となった変数またはオブジェクトを識別するerror-index 値が変数バインディングリストに含まれます。

次の表に、エラーステータスコードとその意味を示します。

エラーステータスコード

意味

 

エラーステータスコード

意味

0

noError

 

10

wrongValue

1

tooBig

 

11

noCreation

2

NoSuchName

 

12

inconsistentValue

3

BadValue

 

13

resourceUnavailable

4

ReadOnly

 

14

commitFailed

5

genError

 

15

undoFailed

6

noAccess

 

16

authorizationError

7

wrongType

 

17

notWritable

8

wrongLength

 

18

inconsistentName

9

wrongEncoding

 

 

 

- コードが表示されない場合があります。SNMPマネージャまたはユーティリティは、コードを解釈し、適切なメッセージをログに記録します。

SNMP PDU 内の4 番目のフィールドには、エラーステータスフィールドがゼロ以外の場合のエラーインデックスが含まれます。

つまり、エラーステータスフィールドがゼロ以外の値を返した場合、エラーが発生したことを示します。エラーインデックスの値は、エラーの原因となった変数バインディングリスト内の変数またはオブジェクトを識別します。リストの最初の変数はインデックス1、2番目の変数はインデックス2、というようになります。

SNMP PDU 内の5番目のフィールドは、変数バインディングフィールドです。

このフィールドは、ペアのシーケンスで構成されます。

  • ペアの最初のエレメントは識別子です。

  • ペアの2 番目のエレメントは、valueunSpecifiednoSuchOjbectnoSuchInstance、またはEndofMibView のいずれかです。

この表では、エレメントについて説明します。

変数バインディングエレメント

説明

value

各オブジェクトインスタンスに関連付けられた値。この値は、PDU 要求で指定されます。

unSpecified

検索要求ではNULL 値が使用されます。

noSuchObject

エージェントがこのオブジェクト識別子によって参照されるオブジェクトを実装しないことを示します。

noSuchInstance

この操作にこのオブジェクトが存在しないことを示します。

endOfMIBView

エージェントでMIB の終わりを超えたオブジェクト識別子を参照しようとしたことを示します。

GetRequest

次の表に、SNMP GetRequest を実行するときに、レスポンスPDU またはエラーステータスメッセージの可能な値フィールドセットを示します。

Valueフィールドセット

説明

noSuchObject

変数にOBJECT IDENTIFIER というプレフィックスがなく、この要求によってアクセス可能な変数のプレフィックスと完全に一致する場合、その値フィールドはnoSuchObject に設定されます。

noSuch Instance

変数名が変数名と完全に一致しない場合、その値フィールドはnoSuchInstance に設定されます。

genErr

変数の処理が何らかの理由で失敗した場合、応答するエンティティはgenErr を返し、エラーインデックスフィールドに変数バインディングフィールドの問題オブジェクトのインデックスである値を返します。

tooBig

生成された応答PDUをカプセル化するメッセージのサイズが、要求の発信元のローカル制限または最大メッセージサイズを超える場合、応答PDUは破棄され、新しい応答PDUが構築される。新しい応答PDUのエラーステータスはtooBigerror-index は0、空のvariable-bindings フィールドです。

GetNextRequest

エラーステータスコードが発生したときにGetNextRequest にvariable-bindings フィールドの2 番目のエレメントとして返される値は、unSpecified またはendOfMibView のみです。

GetBulkRequest

GetBulkRequest は、プロトコル交換の数を最小化し、応答ができるだけ大きいことをSNMPv2 マネージャに要求させます。

GetBulkRequest PDU には、他のPDU には表示されない2 つのフィールドがあります。非リピータと最大リピートです。non-repeaters フィールドは、変数バインディングリストの変数の数を指定します。このリストでは、1 つの辞書式後続文字が返されます。max-repetitionsフィールドは、変数バインディングリスト内の残りの変数に対して返される辞書式後続文字の数を指定します。

プロセス内のいずれかの時点で辞書式後続文字が存在しない場合、endofMibView 値が最後の辞書式後続文字の名前とともに返されます。後続文字が存在しない場合は、要求内の変数の名前が返されます。

変数名の処理がendofMibView 以外の理由で失敗した場合、値は返されません。代わりに、応答エンティティは、genErr のエラーステータスと変数バインディングフィールドの問題オブジェクトのインデックスであるエラーインデックスフィールドの値を持つ応答PDU を返します。