はじめに
ネットワーク監視を行う場合にSNMPマネージャとSNMPエージェントの間で通信が行われますが、そこで「MIB(Management Inforamation Base)」という用語が登場します。
本記事ではMIBという用語を初めて聞いた方向けに分かりやすく説明します。
MIBとは?
Management Informationという言葉の通りで、管理情報を指します。
これは各ベンダーの機器を一元的に管理するための規格でRFCにて定義されています。そのようなMIBを標準MIBと呼び、それをベースにベンダーが独自に作成したMIBを拡張MIBと言います。
例えばvCenterのような機器を監視する場合はVMWare社が提供しているMIBファイルをSNMPマネージャー側に登録が必要です。
VMware MIB ファイルでは、ESXi ホストおよび vCenter Server が SNMP 管理ソフトウェアに提供する情報が定義されています。
これらの MIB ファイルは...からダウンロードできます。(VMWare社のページより抜粋)
そして、MIBに登録されている情報をオブジェクトと呼びます。
MIBファイルはどのような中身なのか?
MIBにはオブジェクト群が含まれていて個々のオブジェクトにはOID(Object IDentifier)、通称オブジェクト識別子が割り当てられています。
オブジェクトの中身としてはその機器の状態を表す設定値が格納されているので、SNMPマネージャがSNMPエージェントのとある状態が知りたければ、その状態に対応したOIDにてエージェントに問い合わせを行うというイメージです。
MIBファイル自体はテキストなので中身はテキストエディタにて確認できます。
例えばVMware製品のHOST-RESOURCES-MIB.mibというファイルの一部を見ると以下のようになっており
... hrDeviceStatus OBJECT-TYPE SYNTAX INTEGER { unknown(1), running(2), warning(3), testing(4), down(5) } MAX-ACCESS read-only STATUS current ...
このようなファイルを事前にSNMPエージェント側に持たせることによって機器の状態を監視させることが可能になります。
また、トラップといってエージェント側からマネージャーに情報を通知する際も事前にMIBファイルがマネージャー側に保管されているので「どういう状況か」をOIDとその値だけでやり取り可能になります。
終わりに
業界標準の規格のため、サーバやネットワーク機器のMIBファイルに沿って監視を行うことで一元的に機器の状態を把握可能です。
特にエンタープライズな分野ではマルチベンダーな機器群で構成されることが多いので、本用語は覚えておくと役立つと思います。
以上、ご参考になれば幸いです。