CiscoのMIBファイルの設置方法について
いつもお世話になっています。
OS:CentOS6.4
ZabbixServerバージョン:2.2.7
SNMPTTの設定を行っていて、
下記のページを参考にSNMPTTを設定し、WindowsからのSNMPTrapをイベント検知できるところまで確認しています。
https://www.zabbix.com/documentation/2.0/jp/manual/config/items/itemtype...
イベント検知の確認できたので、CiscoのMIBファイルを設置し、動作を確認しようとしたのですが、snmpttサービスの再起動などすると、以下のエラーになってしまいます。
===
[root@zabbix-test-serv mibs]# service snmptt restart
snmptt を停止中: [ OK ]
snmptt を起動中: Did not find 'zeroDotZero' in module SNMPv2-SMI (/usr/share/snmp/mibs/IP-MIB.txt)
Did not find 'zeroDotZero' in module SNMPv2-SMI (/usr/share/snmp/mibs/DISMAN-EVENT-MIB.txt)
Did not find 'zeroDotZero' in module SNMPv2-SMI (/usr/share/snmp/mibs/DISMAN-SCHEDULE-MIB.txt)
■名前解決
[root@dw-zabbix-t-serv mibs]# snmptranslate .1.3.6.1.4.1.9.9.46.2.0.7
Did not find 'zeroDotZero' in module SNMPv2-SMI (/usr/share/snmp/mibs/IP-MIB.txt)
Did not find 'zeroDotZero' in module SNMPv2-SMI (/usr/share/snmp/mibs/DISMAN-EVENT-MIB.txt)
Did not find 'zeroDotZero' in module SNMPv2-SMI (/usr/share/snmp/mibs/DISMAN-SCHEDULE-MIB.txt)
SNMPv2-SMI::enterprises.9.9.46.2.0.7
===
”Did not find 'zeroDotZero' in module SNMPv2-SMI”という文言で調べたのですが、解決方法が見当たらなかったので、こちらに書かせていただきました。
Zabbixにかかわる部分ではナイトは思うのですが、上記のエラーの解消方法がもしお分かりになる方がいらっしゃいましたら、ご教授いただけないでしょうか。
CiscoのMIBファイルは以下のサイトで”1.3.6.1.4.1.9.9.46.2.0.7”を検索して、取得しました。
http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=ja
Ciscoから取得したMIBファイルは以下になります。
===
wget ftp://ftp.cisco.com/pub/mibs/v2/SNMPv2-SMI.my
wget ftp://ftp.cisco.com/pub/mibs/v2/SNMPv2-TC.my
wget ftp://ftp.cisco.com/pub/mibs/v2/SNMPv2-CONF.my
wget ftp://ftp.cisco.com/pub/mibs/v2/SNMPv2-MIB.my
wget ftp://ftp.cisco.com/pub/mibs/v2/CISCO-SMI.my
wget ftp://ftp.cisco.com/pub/mibs/v2/IANAifType-MIB.my
wget ftp://ftp.cisco.com/pub/mibs/v2/IF-MIB.my
wget ftp://ftp.cisco.com/pub/mibs/v2/CISCO-TC.my
wget ftp://ftp.cisco.com/pub/mibs/v2/INET-ADDRESS-MIB.my
wget ftp://ftp.cisco.com/pub/mibs/v2/SNMP-FRAMEWORK-MIB.my
wget ftp://ftp.cisco.com/pub/mibs/v2/RMON-MIB.my
wget ftp://ftp.cisco.com/pub/mibs/v2/CISCO-VTP-MIB.my
===
TNK - 投稿数: 4737
CentOS 6標準のnet-snmpパッケージを利用されているのであれば、
/usr/share/snmp/mibs/SNMPv2-SMI.txt
を上書きしてしまいませんでしたか?
デフォルトのSNMPv2-SMI.txtには、zeroDotZeroの定義が含まれています。
ご確認ください。
kasugai - 投稿数: 72
=====
CentOS 6標準のnet-snmpパッケージを利用されているのであれば、
/usr/share/snmp/mibs/SNMPv2-SMI.txt
を上書きしてしまいませんでしたか?
=====
上記ファイルを確認しましたが、上書きされていませんでした。
~~~
# ll SNMPv2-SMI.txt
-rw-r--r-- 1 root root 8924 10月 18 08:23 2014 SNMPv2-SMI.txt
# ll SNMPv2-SMI.my
-rw-r--r-- 1 root root 1349 12月 23 13:06 2014 SNMPv2-SMI.my
~~~
■該当部分抜粋
~~~
-- definitions of administrative identifiers
zeroDotZero OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A value used for null identifiers."
::= { 0 0 }
END
~~~
★★★
ここまで書いて、ちょっと試してみたのですが、Ciscoからダウンロードした"SNMPv2-SMI.my”を削除しましたらエラーが出なくなりました。
SNMPとかMIBとか知識が乏しくて申し訳ないのですが、Ciscoからダウンロードしたファイルのうち、すでにサーバ上にあるファイルで、ファイル名が拡張子以外同じものは削除すべきなのでしょうか。
"■ファイル名が拡張子以外おなじもの"を削除すると、エラーにはなりませんでしたが、
SNMPv2-SMI::enterprises.9.9.46.2.0.7
のままでした。
~~~
# rm SNMPv2-SMI.my
rm: remove 通常ファイル `SNMPv2-SMI.my'? y
snmptt を停止中: [ OK ]
snmptt を起動中: [ OK ]
# snmptranslate .1.3.6.1.4.1.9.9.46.2.0.7
CISCO-VTP-MIB::vlanTrunkPortDynamicStatusChange
~~~
■ファイル名が拡張子以外おなじもの
~~~
IANAifType-MIB.my
IF-MIB.my
INET-ADDRESS-MIB.my
RMON-MIB.my
SNMP-FRAMEWORK-MIB.my
SNMPv2-CONF.my
SNMPv2-MIB.my
SNMPv2-SMI.my
SNMPv2-TC.my
~~~
zinten - 投稿数: 69
kasugaiさん
>ここまで書いて、ちょっと試してみたのですが、Ciscoからダウンロードした"SNMPv2-SMI.my”を削除しましたらエラーが出なくなりました。
>SNMPとかMIBとか知識が乏しくて申し訳ないのですが、Ciscoからダウンロードしたファイルのうち、すでにサーバ上にあるファイルで、ファイル名が拡張子以外同じものは削除すべきなのでしょうか。
ファイル名が同じものというよりもファイルの中のMIB名?(「~~~ DEFINITIONS ::= BEGIN」の~~~の部分)が同じ場合
どういうロジックで選択されるのか分かりませんが二つあるうちのどちらか一方のMIBしか読み込まれません。
大体はファイル名=MIB名なのですが時々1つのファイルに複数書かれていたりrfcxxxxみたいに書かれる場合等があるので注意が必要です。
TNK - 投稿数: 4737
ァイルだったと思いますので、それ以外のファイルを追加すればよ
いと思います。
今回の場合であれば、
CISCO-SMI.my
CISCO-TC.my
CISCO-VTP-MIB.my
の3つのファイルをダウンロードすればよいのではないでしょうか。
色々設定方法はあるかもしれませんが、私は、
/usr/share/snmp/private-mibs
というディレクトリを作成して、そこに個別のMIBファイルをコピー
して、/etc/snmp/snmp.confというファイルを以下のような内容で
新規に作成します。
そうすれば、
という実行結果を得ることができるでしょう。
とはいえ、snmpttとの組み合わせで利用されるのであれば、snmptt
の設定ファイルでsnmptrapからの情報を変換するので、特に必要の
ない手順なのではないでしょうか?
私自身が環境を構築したときには、snmptrapdからsnmpttへの通知
時には、OIDをそのまま利用するようにsnmptrapdのオプションを設
定していますし、MIBファイルからsnmptt用の設定ファイルに変換
するために、snmpttconvertmibを利用するならば、設定ファイルに
はOIDでそのまま出力されるので、OIDそのままでマッチングできる
と思います。
以下のURLにある資料も参考にしてみてください。
ご参考:【Zabbix2.0】snmpttによるトラップメッセージの編集
http://www.slideshare.net/qryuu/zabbix20snm-ptt
kasugai - 投稿数: 72
情報ありがとうございます。
個別のMIBファイルはディレクトリを分けた方が管理しやすそうですね。参考にさせて頂きます。
heya - 投稿数: 319
こんにちは。
よく理解しているわけではないのですが、似たようなことがあったので、参考までに。
/path/to/mibs 内に MIB ファイル(※)を置き、 snmp.conf に MIBDIRS +/path/to/mibs と書くと、同じようなエラーが出ました。でも MIBDIRS -/path/to/mibs とするとエラーが出ませんでした。読み込む順番が関係あるのかもしれません。
※これを使ってくれと言われて受け取ったものをそのまま使ったので、中身はよく見ていませんが、ざっと見たところ、最初からある RFC1213-MIB.txt と同じような名前の rfc1213.mib というファイルがあり、どちらも RFC1213-MIB を定義しているようでした。
(kasugai さんの投稿を見て、私の場合も rfc1213.mib を削除しておいた方がいいような気がしてきました。)
>"■ファイル名が拡張子以外おなじもの"を削除すると、エラーにはなりませんでしたが、
>SNMPv2-SMI::enterprises.9.9.46.2.0.7
>のままでした。
># rm SNMPv2-SMI.my
># snmptranslate .1.3.6.1.4.1.9.9.46.2.0.7
>CISCO-VTP-MIB::vlanTrunkPortDynamicStatusChange
ちゃんと名前変換できているのでは?
kasugai - 投稿数: 72
情報ありがとうございます。
このあたり詳しくありませんが、ファイルの読み込む順番なども関係ありそうですね。
時間を作って詳しく調べてみようと思います。
=====
>"■ファイル名が拡張子以外おなじもの"を削除すると、エラーにはなりませんでしたが、
>SNMPv2-SMI::enterprises.9.9.46.2.0.7
>のままでした。
># rm SNMPv2-SMI.my
># snmptranslate .1.3.6.1.4.1.9.9.46.2.0.7
>CISCO-VTP-MIB::vlanTrunkPortDynamicStatusChange
ちゃんと名前変換できているのでは?
=====
上記ですが、私の書き方が悪かったです。
ファイル名が拡張子以外おなじものを削除すると、エラーにはならずコマンドの結果が、
”SNMPv2-SMI::enterprises.9.9.46.2.0.7”で名前解決できず、
"SNMPv2-SMI.my"を削除したら名前解決できるようになったという意味で書き込んでいました。すみませんでした。