nextEDGE Technology, Inc.
 

MIBTable.XMLについて

MIBTble.xmlについてのFAQを作成しました。不明な点については、お問い合わせください。

Q. MIBTable.xmlはどんな役割をしているか?
A. 多くのSNMPを利用したアプリケーションで備えているMIBデータベースのデータです。nextEDGEのSNMP関連ソフトウェアでは、軽量化を実現するために、SQLなどのデータベース エンジンを利用することなくMIBデータベースをアクセスするためにXMLパーサ エンジンを利用しています。
Q. MIBTable.xmlの編集は可能ですか?
A. 可能です。utf-8文字コードを扱えるエディタで編集することができます。
Q. 手持ちのMIBを追加したいのですがどうすればいいですか?

A. 以下の手順で作業することをお勧めします。

1. まず、MIBTable.xmlを直接編集するよりも、空のMIBTable.xmlを準備します。空のMIBTable.xmlは、以下の行のみで構成されます。

以降の手順で、編集が完了したら、MIBWalkerを実行し、動作を確認後、元のMIBTable.xmlに追加してください。

<? xml version="1.0" encoding="UTF-8" ?>

<mib_table version =" 1.0.0.0 " >

</mib_table>

2. Enterprise oidを定義します。追加するMIBのEnterprise oidをMIBファイルから調べます。 例えばcompaq MIB ホストMIBでは、以下のCompaq Enterprise oidは以下のような記述で定義されています。

CPQHOST-MIB DEFINITIONS ::= BEGIN

IMPORTS
enterprises FROM RFC1155-SMI
Counter FROM RFC1155-SMI
IpAddress FROM RFC1155-SMI
DisplayString FROM RFC1213-MIB
OBJECT-TYPE FROM RFC-1212
TRAP-TYPE FROM RFC-1215
sysName FROM RFC1213-MIB;

compaq OBJECT IDENTIFIER ::= { enterprises 232 }
cpqHostOs OBJECT IDENTIFIER ::= { compaq 11 }
cpqHoMibRev OBJECT IDENTIFIER ::= { cpqHostOs 1 }

oidが232であることが分かります。このoidを作成した空のMIBTable.xmlに記述するには、以下のようになります。oidは、<oid>にoidの値をkey=で、名称を<name/>に定義します。

<? xml version="1.0" encoding="UTF-8" ?>

<mib_table version =" 1.0.0.0 " >

<oid key="1.2.6.1.4.1.232">

<name>compaq</name>

</oid>

</mib_table>

3. MIBで定義されているデータをMIBTable.xmlに定義して行きます。例えば、先のMIBの以下のデータを定義する場合。

cpqHoMibRevMajor OBJECT-TYPE
SYNTAX INTEGER (1..65535)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The Major Revision level of the MIB.

A change in the major revision level represents a major change
in the architecture of the MIB. A change in the major revision
level may indicate a significant change in the information
supported and/or the meaning of the supported information.
Correct interpretation of data may require a MIB document with
the same major revision level."
::= { cpqHoMibRev 1 }

a. cpqHoMibRevをまず定義します。oid cpqHoMibRevは、 compaq(232). cpqHostOs(11). cpqHoMibRev(1)であるとこがMIBファイルから分かるので、以下のように定義します。

<? xml version="1.0" encoding="UTF-8" ?>

<mib_table version =" 1.0.0.0 " >

<oid key="1.2.6.1.4.1.232">

<name>compaq</name>

<oid key="11">

<name>cpqHostOs</name>

<oid key="1">

<name>cpqHoMibRev</name>

</oid>

</oid>

</oid>

</mib_table>

注意:この時、key="x"のxには、1つのみの階層を定義して行きます。

b. cpqHoMibRevMajorを定義します。

<mib_table version =" 1.0.0.0 " >

<oid key="1.2.6.1.4.1.232">

<name>compaq</name>

<oid key="11">

<name>cpqHostOs</name>

<oid key="1">

<name>cpqHoMibRev</name>

<oid key="1">

<name>cpqHoMibRevMajor</name>

</oid>

</oid>

</oid>

</oid>

</mib_table>

 

c. 説明部分を<description>エレメントを使って以下のようにして定義します。

....省略

<oid key="1">

<name>cpqHoMibRevMajor</name>

< description lang =" en " >

<![CDATA[

"The Major Revision level of the MIB.

A change in the major revision level represents a major change
in the architecture of the MIB. A change in the major revision
level may indicate a significant change in the information
supported and/or the meaning of the supported information.
Correct interpretation of data may require a MIB document with
the same major revision level."

]]>

</ description >

</oid>

....省略

補足:日本語に翻訳した、説明分がある場合、< description lang ="ja" >追加定義することができます。

4. データ テーブルの定義方法。次に、以下のようにデータの属性がINTEGERで結果の値がunknown(1)...などと定義されているオブジェクトを定義する場合は、<value/>エレメントを作成し定義します。

cpqHoMibCondition OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
ok(2), -- default state
degraded(3),
failed(4)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The overall condition.

This object represents the overall status of the server's host
system represented by this MIB."
-- :CPQ,DEV:
-- :CPQ,ENDDEV:
::= { cpqHoMibRev 3 }

a. 上記の例と同様の手順で、cpqHoMibCondition oidを定義します。

<oid key="1">

<name>cpqHoMibRev</name>

<oid key="1">

<name>cpqHoMibRevMajor</name>

< description lang =" en " >

<![CDATA[

"The Major Revision level of the MIB.

A change in the major revision level represents a major change
in the architecture of the MIB. A change in the major revision
level may indicate a significant change in the information
supported and/or the meaning of the supported information.
Correct interpretation of data may require a MIB document with
the same major revision level."

]]>

</ description >

</oid>

<oid key="3">

<name>cpqHoMibRevCondition</name>

< description lang =" en " >

<![CDATA[

"The overall condition.

This object represents the overall status of the server's host
system represented by this MIB."

]]>

</ description >

</oid>

</oid>

b. MIBファイルを参照して、<value>エレメントを追加します。key="x"のxは、Integerの値です。

...省略

<oid key="3">

<name>cpqHoMibRevCondition</name>

<value key="1">unknown(1)</value>

<value key="2">ok(2)</value>

<value key="3">degraded(3)</value>

<value key="4">failed(4)</value>

< description lang =" en " >

<![CDATA[

"The overall condition.

This object represents the overall status of the server's host
system represented by this MIB."
]]>

</ description >

</oid>

...省略

補足: 日本語翻訳を追加するために、<value>エレメント部分を以下のように定義することも可能です。

<value key="1">

<display lang="en">unknown(1)</display>

<display lang="ja">不明(1)</display>

</value>

5. oidが、SYNTAXにSEQUENCE OF ...で定義されたテーブルの場合。例えば、MIB OIDが以下のようなテーブルの場合、<oid>エレメントにsequence='x'属性(xは、インデックス値)を使ってテーブルであることを定義します。ここで注意する点は、テーブルとなるoidのINDEX部分の大きさです。以下の例では、INDEXは、値1になります。INDEXに複数のOIDが定義されている場合、INDEX部の値に正しく値が設定されていないと、正しくOIDを翻訳できなくなります。

cpqHoOsCommonModuleTable OBJECT-TYPE
SYNTAX SEQUENCE OF CpqHoOsCommonModuleEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table of software modules that provide an interface to the
device this MIB describes."
::= { cpqHoOsCommon 2 }

cpqHoOsCommonModuleEntry OBJECT-TYPE
SYNTAX CpqHoOsCommonModuleEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A description of a software module that provides an interface
to the device this MIB describes."
INDEX { cpqHoOsCommonModuleIndex }
::= { cpqHoOsCommonModuleTable 1 }

a. 上記の例は、以下のように定義できます。

...省略

<oid key="4" sequence="1">

<name>cpqHoosCommon</name>

<oid key="2">

<name>cpqHoOsCommonModuleTable</name>

<oid key="1">

<name>cpqHoOsCommonModuleEntry</name>

<oid key="1">

<name>cpqHoOsCommonModuleIndex</name>

< description lang =" en " >

<![CDATA[

"A unique index for this module description."
]]>

</ description >

</oid>

</oid>

</oid>

</oid>

...省略

6. oidが、書き込み可能なオブジェクトである場合。オブジェクトが、ACCESS read-writeで定義されている場合、 <write>エレメントを追加して定義します。

書式: <write key="x">sssssss</write>

xは、データの属性

1 = SNMP_SYNTAX_INT;
2 = SNMP_SYNTAX_INT32;
3 = SNMP_SYNTAX_OCTETS;
4 = SNMP_SYNTAX_OID;
5 = SNMP_SYNTAX_IPADDR;

例:

<write key="3">OCTETS</write>

a. 予め書き込みデータを定義する場合は、以下のようになります。

<write key="1">Integer</write>
<value key="1">
<display lang="en">notAvailable(1)</display>
<display lang="ja">利用不可(1)</display>
</value>
<value key="2">
<display lang="en">available(2)</display>
<display lang="ja">利用可能(2)</display>
</value>
<value key="3">
<display lang="en">defaultOnlyAvailable(3)</display>
<display lang="ja">デフォルトのみ利用可(3)</display>
</value>
<value key="2693">
<display lang="en">rebootToCpqUtils(2693)</display>
<display lang="ja">cpqユーティリティへの再起動(3)</display>
</value>
<value key="8115">
<display lang="en">rebootToDefault(8115)</display>
<display lang="ja">デフォルトへの再起動(8115)</display>
</value>
<value key="9037">
<display lang="en">autoShutdown(9037)</display>
<display lang="ja">自動シャットダウン(9037)</display>
</value>


 
 
© 2004 nextEDGE Technology, Inc. All rights reserved.