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ファイルをすべてインストールする必要があります。