3 MIB ファイル

はじめに

MIBはManagement Information Base(管理情報ベース)の略です。MIBファイルを使用すると、OID(オブジェクト識別子)のテキスト表現を利用できます。 ZabbixでSNMPデバイスを監視する際に生のOIDを使用することも可能ですが、 テキスト表現の方が使いやすい場合は、MIBファイルをインストールする必要があります。

例えば、

ifHCOutOctets

はOIDのテキスト表現であり、

1.3.6.1.2.1.31.1.1.1.10

に対応します。

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

Debian系システムの場合:

apt install snmp-mibs-downloader
download-mibs

RedHat系システムの場合:

dnf install net-snmp-libs

MIBファイルの有効化

RedHat系のシステムでは、MIBファイルはデフォルトで有効になっています。 Debian系のシステムでは、/etc/snmp/snmp.confファイルを編集し、mibs :と記載されている行をコメントアウトする必要があります。

# snmpパッケージはライセンス上の理由によりMIBファイルなしで提供されるため、
# デフォルトではMIBのロードは無効になっています。MIBを追加した場合は、
# 以下の行をコメントアウトすることでロードを再度有効にできます。
mibs :

MIBファイルのテスト

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

Debian系システムの場合:

apt install snmp

RedHat系システムの場合:

dnf 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ファイルに加えられた変更を認識しないということです。そのため、MIBファイルを変更した後は、必ずZabbixサーバーまたはプロキシを再起動する必要があります。例:

systemctl restart zabbix-server

これで、MIBファイルに加えた変更が有効になります。

カスタムMIBファイルの使用

すべてのGNU/Linuxディストリビューションには標準のMIBファイルが付属しています。 しかし、一部のデバイスベンダーは独自の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

これで使用できるようになります。MIBファイルからオブジェクト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サーバー/プロキシを再起動することを忘れないでください。

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