Net-SNMPのmib 2 c


今日はnet-snmpが提供するmib 2 c toolをやっていますが、実際にはちょっと使いにくいです.多分私がまだよく知らない関係でしょう.以下は今日やった心得です:(開発ニーズのためprefixを/opt/net-snmpに設定します.)1.まず、net-snmpをインストールする場合、configureに以下のパラメータを加える必要があります.
$ ./configure --prefix=/opt/net-snmp/ --enable-embedded-perl --enable-shared --with-perl-modules
$ make
$ make test
# make install (should be root)

2.PATH設定が確定した後、mib 2 cを実行すると、Perl SNMP Moduleがインストールされていないというメッセージが通常発生します.これはconfigureでprefixを設定したため、perlがshare libraryを見つけられないためです.解決策はnet-snmpのlibディレクトリをldconfigに設定すればよい.
# echo /opt/net-snmp/lib > /etc/ld.so.conf.d/net-snmp.conf
# ldconfig -v

3.最後にmib 2 cの操作方法で、mib 2 cのmanpageによると、mib 2 cの機能はtemplate codeをagentに生成して機能を拡張することである.
Usageは
mib2c [-h] -c CONFIGFILE [-I PATH] [-f OUTNAME] [-i][q][-S VAR=VAL] MIBNODE

mib 2 cの使用方法はmib nodeをparameterとしてtemplate codeの生成を開始する.まずmib fileを$HOME/に置く必要がある.mibs/または/opt/net-snmp/share/snmp/mibsを環境変数に設定し、
export MIBS=+NET-SNMP-TUTORIAL-MIB

次に面倒なのはここで、あなたのmib nodeに従って発生したtemplate codeのCONFIGFILEを選択しなければなりません.次はCONFIGFILEがサポートするタイプです.scalarsに必要なcodeを書く場合は、次のようにします.
mib2c -c mib2c.scalar.conf MIBNODE

int scalarsを使用する場合は、次の操作を行います.
mib2c -c mib2c.int_watch.conf MIBNODE

一般的にTableはMDFの採用を推奨します.
mib2c -c mib2c.mfd.conf MIBNODE

Table Dataが外部にある場合:
mib2c -c mib2c.iterate.conf MIBNODE

Table Dataがagentにある場合:
mib2c -c mib2c.create-dataset.conf MIBNODE

次に、ソートする必要がある場合は、次の手順に従います.
mib2c -c mib2c.array-user.conf MIBNODE

TableのいずれかのColumnを生成するヘッダーの場合:
mib2c -c mib2c.column_defines.conf MIBNODE

ColumnのいずれかのEnumのヘッダを生成する場合:
mib2c -c mib2c.column_enums.conf MIBNODE

[原句]結論は、たぶん面倒だろう.Net-SNMPは他の商用SNMPキットのように簡易な開発拡張機能を提供する環境ではなく、EMANATEでmakeを打つようにokで、型態さえ自動的に判断します.でもmib 2 cにはまだ慣れていない関係かもしれませんが、Orz.
 
http://lazyflai.blogspot.com/2007/01/net-snmpmib2c.html