This is a translation of the original English documentation page. Help us make it better.

3 MIB ファイル

はじめに

MIBとは、Management Information Base(管理情報ベース)の略です。
MIBファイルにより、OID(オブジェクト識別子)をテキストで表現したものです。

例えば

ifHCOutOctets

が OID のテキスト表現である場合

1.3.6.1.2.1.31.1.1.1.10

ZabbixでSNMPデバイスを監視する場合、どちらを使っても構いません。 テキスト表現の方が使いやすいと感じる場合は、MIBファイルをインストールする必要があります。

MIBファイルのインストール

Debianベースのシステムの場合:

# apt install snmp-mibs-downloader
       # download-mibs

RedHat ベースのシステムの場合:

# yum install net-snmp-libs

MIBファイルの有効化

RedHat ベースのシステムでは、mib ファイルはデフォルトで有効になっているはずです。
Debian ベースのシステムでは、ファイル /etc/snmp/snmp.conf を編集し、mibs :snmp.confという行と
mibs :` という行をコメントアウトしてください。

# snmp のパッケージにはライセンスの関係で MIB ファイルが含まれていないため、
       # MIBの読み込みはデフォルトで無効になっています。
       # MIBを追加した場合は、以下の行をコメントアウトすることで、MIBの読み込みを再度有効にすることができます。
       #mibs :

MIB ファイルのテスト

snmp MIB のテストは、snmpwalk ユーティリティを使用して行うことができます。
もし、インストールされていない場合は、以下の手順で行ってください。

Debian ベースのシステムの場合:

# apt install snmp

RedHatベースのシステムの場合:

# yum install net-snmp-utils

その後、以下のコマンドでネットワークデバイスに問い合わせたときに、エラーが出ないようにします:

$ snmpwalk -v 2c -c public <NETWORK DEVICE IP> ifInOctets
       IF-MIB::ifInOctets.1 = Counter32: 176137634
       IF-MIB::ifInOctets.2 = Counter32: 0
       IF-MIB::ifInOctets.3 = Counter32: 240375057
       IF-MIB::ifInOctets.4 = Counter32: 220893420
       [...]

ZabbixでのMIBの利用について

最も重要なことは、ZabbixのプロセスにはMIBファイルの変更が通知されないということです。
そのため、変更するたびにZabbixサーバまたはプロキシを再起動する必要があります。

# service zabbix-server restart

その後、MIBファイルに加えられた変更が有効になります。

カスタム MIB ファイルを使用する

すべてのGNU/Linuxディストリビューションには、標準的なMIBファイルが付属しています。
しかし、いくつかのデバイスベンダーは、独自のものを提供しています。

例えば、CISCO-SMI MIB ファイルを使いたいとします。 以下の手順でダウンロードとインストールを行います。

# wget ftp://ftp.cisco.com/pub/mibs/v2/CISCO-SMI.my -P /tmp
       # mkdir -p /usr/local/share/snmp/mibs
       # grep -q '^mibdirs +/usr/local/share/snmp/mibs'  /etc/snmp/snmp.conf 2>/dev/null || echo "mibdirs +/usr/local/share/snmp/mibs" >> /etc/snmp/snmp.conf
       # cp /tmp/CISCO-SMI.my /usr/local/share/snmp/mibs

これで使えるようになったはずです。
オブジェクトの名前 ciscoProducts を OID に変換してみてください。

# snmptranslate -IR -On CISCO-SMI::ciscoProducts
       .1.3.6.1.4.1.9.1

OID の代わりにエラーが表示される場合は、前のすべてのコマンドでエラーが返されていないことを確認します。

オブジェクト名の変換がうまくいけば、カスタム MIB ファイルを使用する準備が整います。
クエリで使用される MIB 名のプレフィックス (CISCO-SMI::) に注意してください。
これははZabbixだけでなく、コマンドラインツールを使用する際にも必要です。

このMIBファイルをZabbixで使用する前に、Zabbix server / proxy を再起動することを忘れないでください。

MIBファイルには依存関係があることに留意してください。
つまり、あるMIBが別のMIBを必要とする場合があります。これらの依存関係を満たすために
影響を受けるすべてのMIBファイルをインストールする必要があります。