3 MIB ファイル

はじめに

MIB は Management Information Base の略です。MIB ファイルを使用すると、OID(Object Identifier)のテキスト表現を利用できます。 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ファイルに加えられた変更を認識しないということです。したがって、変更を行うたびにZabbixサーバーまたはプロキシを再起動する必要があります。例えば、次のようにします。

systemctl restart zabbix-server

その後、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

これで使用できるようになるはずです。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ファイルをすべてインストールする必要があります。