訳あって、自分でtrapmibを定義する必要がありますが、
v1トラップとv2トラップの記載がいまいち理解できないところです。
その中で、以下のサイトの内容を読みつつ、
ひとまずv2トラップの内容で、trapmibを作成していますが、
解釈した内容をまとめておきます。
- 0という子オブジェクトを使ったtrapmib定義は、v2のtrapmib定義の中に、v1のtrapmibを定義して扱えるようにするために定義する。
- そもそも、v1のtrapmibの定義に、親となるオブジェクトを指定する方法がない。
- 親となるオブジェクトは、無条件にenterprise oidなる。
- たとえば、エンタープライズナンバーが99999なら、.1.3.6.1.4.1.99999.0.xxxx というoidが、トラップoidとなる。
- (この.0をつけるのかどうかが、mibの仕様なのか、エージェントが勝手につけているのかが、いまいちよくわからない)
- v2のtrapmibの定義であれば、普通のsnmpmibと同じように、親を順番に定義できる
- なので、v2のトラップであれば、.1.3.6.1.4.1.99999.11.2.1 みたいなトラップoidも定義できる、はず。
- v2のtrapのみ対応するなら、.0、という子オブジェクトを作る必要はない。
- v2のtrapmibの中にv1を加えるときの、この.0の記述について、間違っているベンダーもある。
- RFC的には、oidとオブジェクトの名前、両方の定義が必要なのに、.0のオブジェクトに名前をつけてない定義があるそうな。
何が一番、物事を難しくしているのかというと。
RFCやドキュメントを定義した人が、
つまりこういう定義で、こういうトラップOIDになります!
みたいな例、exampleを書かないことが悪い。
文字だけの解釈じゃわからないよ・・・。みんなちゃんと例を書こうよorz