■Assure24 MIB Database
http://www.assure24.com/databases/snmp-mib/
■WTCS.ORG MIB Links
http://www.wtcs.org/snmp4tpc/mibs.htm
■BTmonitor 搭載テンプレート一覧 Ver1.40
http://www.ibc21.co.jp/product/product14.htm
■Assure24 MIB Database
http://www.assure24.com/databases/snmp-mib/
■WTCS.ORG MIB Links
http://www.wtcs.org/snmp4tpc/mibs.htm
■BTmonitor 搭載テンプレート一覧 Ver1.40
http://www.ibc21.co.jp/product/product14.htm
■HOST-RESOURCES-V2-MIB
http://www.oidview.com/mibs/0/HOST-RESOURCES-V2-MIB.html
hrSystemNumUsers 1.3.6.1.2.1.25.1.5 OBJECTたぶんシステムモニタでいうと、 「Server」オブジェクトの「Logon Total」の値だと思うんですよね。
・・・何がログオンしてるんだろう。。。
実際、OID(オブジェクト識別子)の図を思い出したり(.1.3.6.1までは覚えてるけど)
snmpwalkでちまちまと探すのも結構面倒だということで、
Windows上でGetifというsnmpツールを使うのが楽です。
http://www.wtcs.org/snmp4tpc/getif.htm
※こちらが本家のようですね。
※ベンダーが配布しているMIBファイルはインストールしたディレクトリの"Mibs"の中に入れて使います。
ちなみに「MIB」っていうのはhostsファイルみたいなもので、オブジェクト識別子(OID:.1.3.6.)とオブジェクト記述子(System.Descr)の対応付けを記述してあるファイルです。
例:)D:\Program Files\Getif 2.3.1\Mibs\xxx.mib.txt
そしたら、"Mibs"のなかのIndexファイルを削除して、Getifを再起動します。
Indexファイルは起動するたびに新しく作られるのです。
このようにして、MIBを使ってOIDを取得し、
そのOIDをもとにMRTGやCactiを使ってグラフを作ります。
CPU利用率(%):.1.3.6.1.4.1.12356.1.8 メモリ利用率(%):.1.3.6.1.4.1.12356.1.9 セッション数(%):.1.3.6.1.4.1.12356.1.10とわかります。
同じことをNET SNMPのツールでやろうとすると、こんな感じです。
■システムのOIDを見たい場合$ snmpgetnext -v 1 10.0.16.254 -c public -On .1.0 .1.3.6.1.2.1.1.1.0 = RTX1000 Rev.7.01.41 (Tue Sep 28 17:02:18 2004)■システムのオブジェクト記述子を見たい場合
$ snmpgetnext -v 1 10.0.16.254 -c public .1.0 system.sysDescr.0 = RTX1000 Rev.7.01.41 (Tue Sep 28 17:02:18 2004)
この「.1.3.6.1.2.1.1.1.0」という文字列だとか、
「ssytem.sysObjectID.0」だとかを引き出すのが面倒なんです。
たまにしか使わないものにとっては。
$ snmpwalk -v 1 10.0.16.254 -c public -On .1.3.6.1.2.1.1 .1.3.6.1.2.1.1.1.0 = RTX1000 Rev.7.01.41 (Tue Sep 28 17:02:18 2004) .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.1182.1.23 .1.3.6.1.2.1.1.3.0 = Timeticks: (1638801895) 189 days, 16:13:38.95 .1.3.6.1.2.1.1.4.0 = .1.3.6.1.2.1.1.5.0 = cc-gw .1.3.6.1.2.1.1.6.0 = .1.3.6.1.2.1.1.7.0 = 12■オブジェクト記述子だと「.sysDescr.0」を削ってこんな感じ
$ snmpwalk -v 1 10.0.16.254 -c public system system.sysDescr.0 = RTX1000 Rev.7.01.41 (Tue Sep 28 17:02:18 2004) system.sysObjectID.0 = OID: enterprises.1182.1.23 system.sysUpTime.0 = Timeticks: (1638956372) 189 days, 16:39:23.72 system.sysContact.0 = system.sysName.0 = cc-gw system.sysLocation.0 = system.sysServices.0 = 12ここらへんで、この機械(YAMAHA RTX1000)のEnterprise OIDは「.1.3.6.1.4.1.1182」なんだなあ、とくらいに思ってください。 得られたOID「 .1.3.6.1.4.1.1182」に対してsnmpwalkをやってみます。
$ snmpwalk -v 1 10.0.16.254 -c public .1.3.6.1.4.1.1182 enterprises.1182.2.1.1.0 = 5 enterprises.1182.2.1.2.0 = 16777216 enterprises.1182.2.1.3.0 = 4194304 enterprises.1182.2.1.4.0 = Gauge32: 42 enterprises.1182.2.1.5.0 = Gauge32: 1 enterprises.1182.2.1.6.0 = Gauge32: 1 enterprises.1182.2.1.7.0 = Gauge32: 3 enterprises.1182.2.1.8.0 = Gauge32: 0 enterprises.1182.2.1.9.0 = Gauge32: 0 enterprises.1182.2.1.10.0 = Gauge32: 0 enterprises.1182.2.1.11.0 = Gauge32: 0 enterprises.1182.2.2.1.0 = "internal" enterprises.1182.2.2.2.0 = "0" Hex: 30 enterprises.1182.2.2.3.0 = "RTX1000 Rev.7.01.41 (Tue Sep 28 17:02:18 2004)" enterprises.1182.2.2.4.0 = Timeticks: (1638967882) 189 days, 16:41:18.82 enterprises.1182.2.2.5.0 = 1 enterprises.1182.2.2.6.0 = 1 enterprises.1182.2.2.7.0 = IpAddress: 0.0.0.0 enterprises.1182.2.2.8.0 = 1 enterprises.1182.2.2.9.0 = 2 enterprises.1182.2.2.10.1.1.1 = 1 enterprises.1182.2.2.10.1.1.2 = 2 長いので、以下略
とか何とかやってるのもかったるいでしょう。
ということで、
1.MIBを持ってくること。(メーカーのサポートサイトや、マニュアルCDなんかについてます。)
2.MIBをGetifにかけて、OIDを調べることというのがよいパターンだと思います。
$ snmptranslate -Tp -OS system
+--system(1)
|
+-- -R-- String sysDescr(1)
| Textual Convention: DisplayString
| Size: 0..255
+-- -R-- ObjID sysObjectID(2)
+-- -R-- TimeTicks sysUpTime(3)
+-- -RW- String sysContact(4)
| Textual Convention: DisplayString
| Size: 0..255
+-- -RW- String sysName(5)
| Textual Convention: DisplayString
| Size: 0..255
+-- -RW- String sysLocation(6)
| Textual Convention: DisplayString
| Size: 0..255
+-- -R-- INTEGER sysServices(7)
| Range: 0..127
+-- -R-- TimeTicks sysORLastChange(8)
| Textual Convention: TimeStamp
|
+--sysORTable(9)
|
+--sysOREntry(1)
| Index: sysORIndex
|
+-- ---- INTEGER sysORIndex(1)
| Range: 1..2147483647
+-- -R-- ObjID sysORID(2)
+-- -R-- String sysORDescr(3)
| Textual Convention: DisplayString
| Size: 0..255
+-- -R-- TimeTicks sysORUpTime(4)
Textual Convention: TimeStamp
基本的にUDPを使う
■マネージャ(ネットワーク管理ステーション、NMS)
管理アプリケーションのこと。MRTGなど。
■エージェント
管理対象のこと。ルーターとかスイッチなどに実装されているモジュール
MIBを検索したり、情報を更新したりして機器の設定を変更したりする。
■管理情報
管理情報の集合体はMIB(Management Information Base)と呼ばれる
ベンダ独自のMIBもある。
■コミュニティ
【管理情報の構造】
a.オブジェクト識別子(OID)
これらは階層の木構造になっている
b.オブジェクトシンタックス
c.オブジェクトの符号化ルール
【SNMP】
NMSとエージェントの通信はメッセージの交換によって行われる。