Zabbixでsnmptrapでの監視を行う上での、拡張MIBの登録について記載します。
事前準備
- 各ベンダーの拡張MIBを用意しておく。
ベンダーに問い合わせる、または公式サイトでダウンロードします。 - zabbixはインストールしていることを前提とします。
- Zabbixの拡張MIB以外の設定は終わっており、snmptrapの疎通はできているものとします。
終わっていない場合は以下を参考にしてください。
【Zabbix】snmptrapでの監視設定
https://qiita.com/shiojojo/items/827d530a7f41d52b2663
【Zabbix】snmptrapの監視設定が上手くいかない時の対処方法
https://qiita.com/shiojojo/items/dd7e663f2bae40b98266
手順
拡張MIBの追加
/usr/share/snmp/mibsに拡張MIBを置くことで、追加できます。
ただし、/usr/share/snmp/mibs直下に置くと数が増加したときに管理が煩雑になるため、ディレクトリを作成し、その下に追加します。
- ディレクトリの作成
# cd /usr/share/snmp/mibs
# mkdir cisco
ディレクトリ名は任意です。
- /etc/snmp/snmp.confの設定
設定ファイル/etc/snmp/snmp.confを作成し、以下の設定を追加します。
mibdirs /usr/share/snmp/mibs:/usr/share/snmp/mibs/cisco
mibs all
上記を投入することで、作成したディレクトリ配下の拡張MIBを認識できるようになります。
snmptranslate等で確認しましょう。
TrapFileの作成
mibファイルをコンバートし、snmpttが読み取るtrapファイルの作成します。また、Zabbixが認識できる形にコンバートします。
- mibファイルのコンバート
以下のコマンドでMIBファイルをコンバートします。
snmpttconvertmib --in=SNMPv2-MIB.my --out=SNMPv2-MIB.conf.org
依存関係のあるMIBが追加されていないと失敗します。
また、以下のようなエラーが出る場合は、snmptrapのMIBファイルではないです。snmptrapのMIBファイルをコンバートしましょう。
The MIB file did not contain any TRAP-TYPE or NOTIFICATION-TYPE definitions,
so no translations occured. Try another MIB file.
- Zabbix用にコンバート
このままではZabbixが認識できないので以下のコマンドでZabbixが認識できる形に変換します。
sed -e "s/^FORMAT\s/FORMAT ZBXTRAP \$aA /g" SNMPv2-MIB.conf.org > SNMPv2-MIB.conf
- TrapFilesの追記
/etc/snmp/snmptt.iniの[TrapFiles]の欄に作成したSNMPv2-MIB.confを以下のように追記します。
[TrapFiles]
/etc/snmp/snmptt.conf
/usr/share/snmp/mibs/cisco/SNMPv2-MIB.conf
END
- snmpttを再起動
snmpttを再起動します。
systemctl restart snmptt
上記までの設定を入れると、/var/log/snmptt/snmptt.logにZabbixの認識できる形でログがはかれます。
Zabbixの設定
キーをsnmptrap[regex]で登録します。regexは追加したMIBを記載してください。
参考文献
https://zeus.shadow-net.jp/?p=870
https://www.slideshare.net/qryuu/zabbix20snm-ptt