net-snmp の MIBファイル(デフォルトのMIB)は”/usr/share/snmp/mibs” に格納されています。
ciscoなどのベンダー機器が出力するSNMPトラップを受信するとsnmptrapdはOIDを解釈できません。
そこで、各ベンダーが提供するMIBファイルを追加することにより、OIDを解釈し、正常なSNMPトラップを出力してくれます。
ベンダーMIBを追加して反映させよう
ここでは、”/usr/share/snmp/vendormibs”というファイルを作成し、MIBファイルを追加する設定を紹介します。
# mkdir /usr/share/snmp/vendormibs
ディレクトリを作成したら、ベンダーMIBファイルをアップロードします。
※ローカルからのアップロードソフト(FFFTP、Winscpが便利)を使用します。
# ll 合計 216 -rw-r--r-- 1 root root 215811 6月 3 16:11 2014 mibs_f5.tar.gz
ファイルが圧縮されている場合は解凍してください
※Linux系はtarコマンドがよろしいみたい。(メモ)
# tar -xzvf mibs_f5.tar.gz # ll 合計 216 drwxr-xr-x 2 502 502 4096 3月 13 07:59 2014 mibs_f5 -rw-r--r-- 1 root root 215811 6月 3 16:11 2014 mibs_f5.tar.gz
ベンダーMIBを認識させる為オプションファイルを編集
次に上記で追加したMIBファイルを認識させるためにオプション指定をします。
# vi /etc/sysconfig/snmptrapd OPTIONS="-Lsd -p /var/run/snmptrapd.pid -M /usr/share/snmp/mibs:/usr/share/snmp/vendormibs -m all " #追加
ファイルへの追加設定が完了したら”snmptarpd”を再起動し、設定を反映します。
# service snmptrapd restart snmptrapd を停止中: [ OK ] snmptrapd を起動中: [ OK ]
ベンダーMIBが反映されているか確認する
snmpwalkコマンドで適当なOIDを引っ張ってきます。
snmpwalk -v 2c -c public (ベンダーアドレス)
以下のようなコマンドで省略系のMIB名を出力し、-Ofをつけることで、完全なMIB名が出力されます。
# snmptranslate .1.3.6.1.4.1 SNMPv2-SMI::enterprises # snmptranslate -Of SNMPv2-SMI::enterprises .iso.org.dod.internet.private.enterprises
MIB名から出力したい場合は -Ib オプションを指定しなければいけません。 また、上記と同様に -Of オプションで完全なMIB名が出力されます。 OID で出力したい場合は、-On オプションを使用します。
# snmptranslate -Ib enterprises SNMPv2-SMI::enterprises # snmptranslate -Of -Ib enterprises .iso.org.dod.internet.private.enterprises # snmptranslate -On -Ib enterprises .1.3.6.1.4.1
これで、確認できれば正常にベンダーMIBが認識されているかわかります。
以上です。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
これだとsnmptradしか認識できないんじゃないですかね。
正しくは、snmp.confのMIBDIRSに追加すべきです。
ななしさん
ご指摘ありがとうございます。
確認します。