第5回 図解で知るSNMP――MIB情報のすべてSNMPによるネットワークモニタリング「第2版」(1/8 ページ)

サーバやネットワーク機器を監視するSNMPを扱う上で重要なものの1つが“MIB”情報の把握である。機器にアクセスする場合には、このMIB情報を基に問い合わせを行い、モニタリングを行う。

» 2007年05月21日 08時34分 公開
[大澤文孝ITmedia]

この記事は会員限定です。会員登録すると全てご覧いただけます。

 第4回目「SNMPとv3セキュリティ」で説明したように、SNMPエージェントは、現在の状態値(管理情報)をもつオブジェクトを備え外部へと公開する。

 それぞれのオブジェクトは固有のOID(Object IDentifier)をもっており、snmpwalkやsnmpgetをはじめとするSNMPマネージャコマンドを用いて、その状態値を取得できるのだ。

 このとき問題となるのは、どのOIDをもつオブジェクトが、どんな情報を持っているのかという点だ。例えば、「トラフィック総バイト数」「CPU負荷」「メモリの使用量」「プロセスの状態」を知るには、どのようなOIDをもつオブジェクトにアクセスすればよいのだろうか。

 このオンライン・ムックPlus「SNMPによるネットワークモニタリング“第2版”」は、2001年5月に公開した「SNMPによるネットワークモニタリング」を元に、6年以上の歳月を経て、枯れた情報を最新環境に合うよう刷新していくものだ。

 今回は、SNMPを知る上で重要なMIB情報について詳細に触れていく。第6回目となるこの連載のため、5回目までを参考にしてから、MIB情報がなにであるか? を理解していることが読み進める上でのガイドだ。

MIB情報とは何か

 第3回目で説明したように、MIB情報は、分野別に分けられたツリー構造になっている。

 Net-SNMPは、さまざまなMIBツリーに対応するが、よく使われる代表的なものは、「MIB-II(1.3.6.1.2.1)」と「UCD-SNMP(1.3.6.1.4.1.2021)」の2つだ。

図1■主なMIBツリー

 Net-SNMPが対応するMIBの一覧は、http://net-snmp.sourceforge.net/docs/mibs/ で参照できる。

 MIB-IIは、すべてのSNMPエージェントが備えており、「システム情報」「インタフェース」「IP」「TCP」「UDP」などのオブジェクトが存在する。まずは、このMIB-IIから見ていこう。

管理情報構造(SMI)

 MIBツリー上に、オブジェクトがどのように構成されており、それぞれのオブジェクトがどのような値をもつのかを定義したものを、「管理情報構造(SMI(Structure of Management Information))」という。

 SMIは、ISOとITU-Tによって規定された「ASN.1」という言語(書式)で表記される。

OIDを調べる

 まずはオブジェクトの階層とOIDを調べよう。

 MIB-II(1.3.6.1.2.1)の定義は、RFC1213(http://tools.ietf.org/html/rfc1213)に記載されているリスト1。以下のリスト1は抜粋情報であり、コメントは筆者が書き込んだものだ。全体の定義については、RFC1213の原本を参考にしてほしい。また、幾つかのMIB-IIサブツリーは、別のRFC(RFC3418、RFC4293、RFC4022、RFC4113など)によって、さらに定義が拡張され、実際には、幾つかのオブジェクトが増えている。

リスト1■MIB-IIの定義(抜粋)

-- 他のMIBのインポート
IMPORTS
  mgmt, NetworkAddress, IpAddress, Counter, 
  Gauge, TimeTicks
    FROM RFC1155-SMI
  OBJECT-TYPE
    FROM RFC-1212;
-- MIB-IIツリー
mib-2  OBJECT IDENTIFIER ::= { mgmt 1 }
-- MIB-IIツリー以下
system  OBJECT IDENTIFIER ::= { mib-2 1 }
interfaces  OBJECT IDENTIFIER ::= { mib-2 2 }
at  OBJECT IDENTIFIER ::= { mib-2 3 }
ip  OBJECT IDENTIFIER ::= { mib-2 4 }
icmp  OBJECT IDENTIFIER ::= { mib-2 5 }
tcp  OBJECT IDENTIFIER ::= { mib-2 6 }
udp  OBJECT IDENTIFIER ::= { mib-2 7 }
egp  OBJECT IDENTIFIER ::= { mib-2 8 }
transmission  OBJECT IDENTIFIER ::= { mib-2 10 }
snmp  OBJECT IDENTIFIER ::= { mib-2 11 }

 OIDは、「OBJECT IDENTIFIER」で示される。

 mib-2のトップは、


mib-2  OBJECT IDENTIFIER ::= { mgmt 1 }

である。これは、「mgmtツリーの下の1番」という意味だ。

 それでは「mgmtは何番か」という話になるが、これは、インポートされているRFC1155-SMIに記述されている。そのRFC1155-SMIを見ると、mgmtの値は、


internet  OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
mgmt  OBJECT IDENTIFIER ::= { internet 2 }

であることが分かる。つまりmgmtは、「iso.3.6.1.2」である。ASN.1では、トップツリーは、次のいずれかであるとされており、ここで出てきた「iso」の値は、「1」だ。

  • ccitt(0)

 ITU-Tが規定するツリー。

  • iso(1)

 ISOが規定するツリー。

  • join(2)

 ITU-TとISOが共同で規定するツリー。

 まとめると、MIB-IIツリーのOIDは、


mgmt2.1 → iso.3.6.1.2.1 →1.3.6.1.2.1

となる。

       1|2|3|4|5|6|7|8 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.