MediaWikiで特定のページの閲覧制限を設定するMediawiki記法まとめ

2018年01月26日

MIBファイルの読み方 オブジェクトのOIDを特定する

仕事中に「MIBファイルってどうやって読むねん」みたいな話が話題に上がったことがあったので
ざっくりまとめてみるよ。


●MIBファイルってなんですか
管理情報ベース (Management information base) のことで、頭文字を取って、「MIB」と呼ばれます。
この情報がまとまったファイルをMIBファイルと呼びます。

で、このMIBファイル、どういうことに使うのかと言いますと。
・機器の監視
・機器からの情報取得  …なんかによく使われています。
監視製品でMIBファイルを読み込んで、機器側から送信されてくるSNMP Trapという情報を監視できるようにしたり、
機器側に対して、情報をリクエスト(SNMP walk)して、情報を取得したり…(そしてそれを蓄積して解析する、ということをやっているところも多いです)

そのMIBファイルなんですが、読むのに結構コツが要ります。
せっかくなので、読み方をまとめておこうと思います。

●MIBファイルの読み方
・オブジェクト名からOIDを特定する方法
 MIBファイルには、「こういうものを監視するものですよ/この指標はこういうものですよ」という説明と一緒に、 OID(Object IDentifier)が割り振られています。
 このOIDですが、実は木構造になっています。

 このURLに貼ってある図がわかりやすいと思うので、参考にURLを記載します。
 ※URL内の木構造の図がわかりやすい
 https://www.alaxala.com/jp/techinfo/archive/manual/AX3630S/HTML/11_10/CFGUIDE2/0412.HTM


 たとえば、MIBファイル内に以下のような定義があったとします。
      tsveOBJN OBJECT-TYPE
         SYNTAX SnmpAdminString
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
                "IBM (orginally TSVE) object name"
         ::= { ibm2145TSVEObjects 17 }

 ここで注目していただきたいのはいちばん下の記載。
 これは、『「 tsveOBJN」という名前のオブジェクトが「ibm2145TSVEObjects」という名前のオブジェクトの17番目の要素ですよ』ということを示しています。
 では、ibm2145TSVEObjectsの定義を見てみましょう。

      ibm2145TSVEObjects OBJECT IDENTIFIER ::= { ibm2145TSVE 4 }

 これも実はいちばん後ろを見ればよいです。
 『「ibm2145TSVEObjects」という名前のオブジェクトは、「ibm2145TSVE」というオブジェクトの4番目の要素ですよ』と言っています。
 この調子で遡れるだけ遡ってみましょう。

      ibm2145TSVE MODULE-IDENTITY
              LAST-UPDATED "201701120000Z"
           ORGANIZATION "IBM SSG"
           CONTACT-INFO
               "Contact IBM Support"
      DESCRIPTION
      ※中略
      ::= { ibmProd 190 }

 ファイル内に「ibmProd」がありません。遡れなくなりました。
 しかし、実は続きがあります。
 ファイルの最初のIMPORTS部分で「これはこの定義を使うから、先にインポートしておくよ」という前提を記載しています。
 以下のような感じです。

       IMPORTS
            OBJECT-TYPE, NOTIFICATION-TYPE, MODULE-IDENTITY,
            enterprises
                FROM SNMPv2-SMI
              MODULE-COMPLIANCE, OBJECT-GROUP,
              NOTIFICATION-GROUP
                FROM SNMPv2-CONF                 
              SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB;
 ※IMPORTSは、監視製品にMIBファイルを読み込む際に必ず必要なものになります。でないと、定義が想定しない読み込まれ方をします…。

 ここに、先ほどのibmProdより先の定義が入っています。
 が、ファイルからはどうやっても確認できないため、Google先生に聞いてみることにします。
 [ibmProd OID]なんかで検索するとすぐ出てきます。
 ↓
 http://oid-info.com/get/1.3.6.1.4.1.2.6

 上記のサイトには、このようなことが書かれています。
        {iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) IBM(2) ibmProd(6)}
        1.3.6.1.4.1.2.6

 これは「rootからibmProdまでを示すOID」となります。
 ※サイト上では「2」のオブジェクト名だけ欠けちゃってますが、ここには「IBM」というオブジェクト名が入りますので、記載しておきます。

 これで、ibmProdまでのOIDがわかりました。
 これから、ibmProdから先のOIDをつけ足していきます。

 ibm2145TSVE … ::= { ibmProd 190 }
  → 1.3.6.1.4.1.2.6.190
 ibm2145TSVEObjects … ::= { ibm2145TSVE 4 }
  → 1.3.6.1.4.1.2.6.190.4
 tsveOBJN … ::= { ibm2145TSVEObjects 17 }
  → 1.3.6.1.4.1.2.6.190.4.17

 最初に例に出したオブジェクト名まで戻ってきました。
 特定の定義のOIDを確認したい場合、その要素がどの要素の子となっているか、またその要素の何番目の要素なのかを確認していくことにより、
 OIDを特定することができます。
 ※ものによってはGoogle検索が早かったりしますが。


 ※今回の説明に使用したファイルは、V7000(IBMのストレージ製品)のMIBファイルを使用しています。
 http://www-01.ibm.com/support/docview.wss?uid=ssg1S4000598


riku_cha at 11:48│Comments(0)監視 | ネットワーク

コメントする

名前
 
  絵文字
 
 
MediaWikiで特定のページの閲覧制限を設定するMediawiki記法まとめ