Trap監視とMIBファイルについて
とあるルータ、NECのUNIVERGE IXルータをZabbixで監視をしてもらうことになりましたが、依頼するのは初めてなので、仕組みについて教えてください。
CPUの使用率などのポーリング監視についてはMIBのOIDを指定するといいます。サポートするMIBとそのOIDを調べて指定します。それはできそうです。
電源が電圧、機器shutdownの故障などでTrap監視したいのですが、その際、MIBファイルを指定するという話を聞いています。例えば、今回はとあるルータとはNECのUNIVERGE IXルータなのでマニュアルからプライベートMIBは"PICO-SMI-MIB"というMIBファイルがありました。このMIBファイルを提供すれば終わりなのでしょうか?このMIBの中には電源や電圧などからさまざまなMIBを網羅しているようなのですが、どうやってその中から電源が電圧だけを監視することになるのでしょうか?どうぞよろしくお願いします。
heya - 投稿数: 319
MIB ファイルの説明文書(テキストなり HTML なり PDF なり※)がどこかにあると思うので、それを読んで、どの OID がどんな値を取得しているかを調べて、その中から必要そうなものを監視することになります。
※PICO-SMI-MIB でざっと検索しただけですが、今回の場合、大雑把にこれですかね?
https://jpn.nec.com/univerge/ix/faq/snmpv1.html#Q1-9
それか、もっと細かくこれの「6.3.1 Trap と管理オブジェクト」?(微妙に上のと一致してない気もしますが・・・)
https://www.manuals.nec.co.jp/contents/system/files/nec_manuals/node/352...
いずれにしても省略しない形の OID は調べる必要があります。
説明文書が無ければ MIB ファイルを直接読むことになります(主に DESCRIPTION 辺りでしょうか・・・英語で書かれていると思いますが)。これは結構面倒な作業だと思います。特に使ったことの無い MIB ファイルだと。
MIB ファイル自体は非常に読みにくいのですが、mibible というツールを使うとある程度楽になります。
https://github.com/snuffkin/mibible
ただ、Zabbix の設定をする立場からすると、「この OID とこの OID を監視してくれ」「こんな値が出るはずだから、こうなったら正常でこうなったら障害」と言われた方がやりやすいです。そうでなく、ポンと MIB ファイルだけ渡されて「じゃ、後はよろしく」ってことも結構あるのですが、その場合 MIB ファイルを自分で読まないといけないので、非常に面倒なのです。
なので、面倒な作業は依頼する側がやってくれるとありがたいのです。
それと、設定する側は、OID とどんな値が来るかさえ分かっていれば、MIB ファイルは必須ではありません。ですが、そうは言っても一応 MIB ファイルもあった方が何かと便利(なこともある)です。
numtaka - 投稿数: 5
heya様
早速のご回答有難うございます。レスが遅くなって申し訳ありません。
ご親切にマニュアルまで確認頂きましてありがとうございます。
https://jpn.nec.com/univerge/ix/faq/snmpv1.html#Q1-9
上記の「Q.1-9 送信可能なトラップの種類を教えてください」の記載や
https://www.manuals.nec.co.jp/contents/system/files/nec_manuals/node/352...
上記「IX2000/IX3000 シリーズ 機能説明書 」の、■付録 16 Trap 詳細 、Specific Trap(a) システムトラップ
• ENTERPRISE:pico(1.3.6.1.4.1.119.1.84)の記載で、Trap監視できる項目とOIDまでわかるようです。
Zabbix の設定をされる側のコメントご指摘もすごく腑に落ちました。やはりこのMIBファイルだけ提供して終わりでなくこの値でとかこのOIDで監視してください依頼することになるのですね。
MIB ファイルはわかりずらいです。mibible というツールの紹介ありがとうございます。まだ使えてませんが確認してみます。
Trap監視でI/Fリンクダウン等の要件もあり、標準MIBもわかっていませんでしたので調べてました。標準MIB MIB-II(RFC1213)をサポートするとのこと。また以下の
https://www.manuals.nec.co.jp/contents/system/files/nec_manuals/node/352...
「■付録 16 Trap 詳細 Generic Trap」の記載でいうと、”link-down"は"ifIndex","ifAdminStaus","ifOperStatus","ifDescr"を見るとあります。
標準MIB MIB-II(RFC1213)は以下で確認しました。
http://www.oidview.com/mibs/0/RFC1213-MIB.html
ifIndex 1.3.6.1.2.1.2.2.1.1
ifAdminStatus 1.3.6.1.2.1.2.2.1.7
ifOperStatus 1.3.6.1.2.1.2.2.1.8
ifInDiscards 1.3.6.1.2.1.2.2.1.13
上記なかんじでしょうか?
最後にノードダウンはhttps://www.manuals.nec.co.jp/contents/system/files/nec_manuals/node/352/FD-ver10.0.pdfの同じく「■付録 16 Trap 詳細 Generic Trap」の”cold-start"となるようですが、こちらはどれにあたるかわかりますでしょうか?
以上、よろしくお願いします。
heya - 投稿数: 319
numtaka さんみたいな、設定する側のことを考えてくれる依頼者ばかりだといいんですが・・・。
細かいことは分かってなくても、最後に「これで情報足りる?」と聞いてくれるだけでもだいぶ違うんですけどね。
>”link-down"は"ifIndex","ifAdminStaus","ifOperStatus","ifDescr"を見るとあります。
これは、微妙に違うというか。
トラップって、トラップ自体の OID に加えて、追加でいくつかの値を送れるようになっているんです。variable-bindings とか、単に bindings とか varbind とか呼ばれるようですが、しっくりくる日本語訳は見たことがありません。
http://www.webnms.jp/solutions/snmp.html の「SNMP PDUフォーマット」を見ると分かりやすいです。
最初が sysUpTime.0 で起動からの経過時間、二つ目が snmpTrapOID.0 でトラップ自体の OID、三つ目以降が追加分(無くてもいい)です。
http://haginov.blog35.fc2.com/blog-entry-101.html ←こっちは実際に取得できるデータの例。
で、この追加データとして、順に ifIndex, ifAdminStaus, ifOperStatus, ifDescr(※1)が来ますよ、ということです。
link-down(※2)だけだとどのインターフェースがダウンしたのか分からないので、ダウンしたインターフェースの情報をこの追加データで伝えてくれるのです。
※1 これらの値は普通に snmpget や snmpwalk でも見ることができます。
※2 普通は linkDown と書くと思うんですが。
つまり、監視すべきは link-down ですが、追加分のデータも使ってどのインターフェースがダウンしたのかも分かるようなメッセージを作ると、監視しやすくなります。
#そんなことはせず、とにかくダウンしたら機器にログインしてあれこれ調べる、という運用もあるかとは思いますが。
Generic Trap は、標準トラップ(※3)として定義されているものです。監視したければ、
標準トラップの cold-start, warm-start, link-down, link-up, authentication-failure を監視してくれ
と言えば伝わると思います。標準トラップでなければ、具体的に数字の OID も伝えた方がいいでしょう。
#authentication-failure はログイン失敗で出るので、数が多すぎて邪魔になる場合も多いと思います。
※3 NEC 固有のものではないトラップ、ということです。一般トラップとも呼ばれます。
もう少し親切にするなら、
link-down が来たら「リンクダウン発生(【ifDescr の値】)」というメッセージを出してくれ
とかですかね。もちろんこれは思いつきの例で、メッセージは運用する人たちが読んで分かる内容にすべきでしょう。ifDescr でどんな値が取れるかも機器によって違いますし、場合によっては ifIndex の方が分かりやすいかもしれません。実際にどんな値が取れるかは snmpwalk で確認してみるといいです。
>最後にノードダウンは(略)”cold-start"となるようですが、こちらはどれにあたるかわかりますでしょうか?
cold-start は起動時に出るものなので、ノードダウンではありません。
link-down で見るか(※4)、トラップではなく icmpping で監視するか、が多いと思います。
pdf を見た感じだと、電源断(※5)は picoPowerSupplyFault ですかね。
※4 しかし Zabbix サーバーとの通信用インターフェースが落ちたらトラップを出せないかも。
※5 電源断=ノードダウンかどうかはノードダウンの定義によります。
まとめ
・link-down と link-up は追加データとして ifIndex, ifAdminStaus, ifOperStatus, ifDescr も一緒に送ってくる(cold-start などは追加データ無し)
・cold-start, warm-start, link-down, link-up, authentication-failure は標準トラップ
・標準トラップならたぶん名前だけで伝わる(が、OID も一緒に伝えるとより安心)
・それ以外なら OID も伝えた方がいい
・さらに、どんなメッセージが出てくると嬉しいかも伝えた方がいい
毎度長くなってすみません・・・。
numtaka - 投稿数: 5
heya様
丁寧に説明いただきありがとうございます。
link-downについてはOIDはわかりましたし、またその追加で情報も出せるということすね。
cold-start は言われてみれば、確かにそうですよね。
おかげさまでOIDを指定し、監視依頼をまとめていけそうです。
本当にありがとうございました。