あけましておめでとうございます。
大晦日と三が日はデータセンターにいました。サーバ担当のKです。
大雪降らなくて助かりました。
今年最初のネタはsnmp関係です。通信機器を監視する際に使われることが多いsnmpですが、この情報の内訳として標準MIBといわれるものと拡張MIBといわれるものがあります。拡張MIBとは機器ベンダーが管理しやすいようにと機器(メーカー)固有の情報で、これらを読み取ることで例えばスイッチングハブのCPU使用率やメモリ使用率なんかも見ることができるようになったりすることもあります。
ただ、こういった拡張MIBをsnmpwalkで読み込もうとすると、下記の様にわかりづらいシンボル名が出てしまって扱いづらい場合があります。
$ snmpwalk -v2c -c public 127.0.0.1 .1 | grep -i UCD-SNMP-MIB::ssCpuSystem HOST-RESOURCES-MIB::hrSWRunParameters.15761 = STRING: "-i ucd-snmp-mib::sscpusystem" UCD-SNMP-MIB::ssCpuSystem.0 = INTEGER: 0 $ snmpwalk -v1 -c public 192.168.100.1 .1.3.6.1.4.1 SNMPv2-SMI::enterprises.1182.2.1.1.0 = INTEGER: 8 ・・・以下省略・・・
今回はこれをもう少し扱いやすい表示がされるような簡単な設定をしたいと思います。レシピは以下のような感じです。
- 拡張MIBの情報ファイルを入手してインストールする
- snmpwalkの設定ファイルを作成する
- 使ってみる
1. 拡張MIBの情報ファイルを入手してインストールする
snmpwalkで拡張MIBを上手に扱うためにはsnmpwalk自身が拡張MIBを知る必要がありますので、まずはその情報を教えてあげることにします。
今回はYAMAHA製のルータ、RT107eに対してsnmpwalkで情報を取得することにしますので、http://www.rtpro.yamaha.co.jp/で公開されているYAMAHA-RTシリーズの拡張MIB情報をhttp://www.rtpro.yamaha.co.jp/RT/docs/mib/index.phpからyamaha-private-mib.tar.gzを入手してインストールします。
入手したファイルは$HOME/.snmp/mibsへ展開します。なんでこのディレクトリなのかは、2で作成する設定ファイル(snmp.conf)の格納パスが$HOME/.snmpなのでそれに倣い、このパス配下に設置します。
$ wget http://www.rtpro.yamaha.co.jp/RT/docs/mib/yamaha-private-mib.tar.gz $ tar zxf yamaha-private-mib.tar.gz $ mkdir -p $HOME/.snmp/mibs $ cp -a yamaha-private-mib/* $HOME/.snmp/mibs
2. snmpwalkの設定ファイルを作成する
先に設置した拡張MIBの情報がsnmpwalkで使えるように設定ファイル$HOME/.snmp/snmp.confを記述します。設定内容は以下のとおりです。見れば大体把握できると思いますので細かい説明はman snmp.confなどで確認してください。
補足ですがパスのセパレータにはコロン(:)を使用します。間違ってセミコロン(;)を使うと無効になりますので気を付けてください。
$ cat $HOME/.snmp/snmp.conf mibdirs /usr/share/snmp/mibs:$HOME/.snmp/mibs mibs all
3. 使ってみる
ここまでこれば後は使うだけです。一番最初に打ったコマンドをもう一度打ってみます。
$ snmpwalk -v1 -c public 192.168.100.1 .1.3.6.1.4.1 YAMAHA-RT-HARDWARE::yrhCpuType.0 = INTEGER: msp2100(8) YAMAHA-RT-HARDWARE::yrhMemorySize.0 = INTEGER: 33554432 YAMAHA-RT-HARDWARE::yrhFlashROMSize.0 = INTEGER: 4194304 YAMAHA-RT-HARDWARE::yrhMemoryUtil.0 = Gauge32: 18 YAMAHA-RT-HARDWARE::yrhCpuUtil5sec.0 = Gauge32: 2 ・・・以下省略・・・
今回はさっきと違って出力された行の頭にYAMAHA-RT-HARDWAREが入っており、snmpwalkが追加した拡張MIBの情報が使われ、シンボル名わかりやすい形になったことが確認できました。これでsnmpwalkを使って各MIBの値を調べるときなど若干扱いやすくなるのではないかと思います。
あと今更ですが、タイトルにDebian GNU/Linux 4.0(etch)と書いていますが使った環境がそうだっただけで、たぶん他のLinux系OSでも設定自体はたいして変わらないと思います。
X. おまけ - OIDを取得する
見つけた拡張MIBのシンボル名をMRTGやcactiなどで使用する際には、OID(オブジェクトID)で利用したくなる?と思います。そういうときはsnmptranslateコマンドを使うと簡単です。
$ snmptranslate -On YAMAHA-RT-HARDWARE::yrhCpuUtil5min.0 .1.3.6.1.4.1.1182.2.1.7.0



6月 11th, 2009 at PM 10:36
[...] 拡張MIBの情報ファイルのインストール方法はコチラのサイトが参考になりそう。 カテゴリー:Linux, SNMP, ZABBIX « 前のページ [...]