Net-SNMP的mib2c配置

Net-SNMP的mib2c今天在搞net-snmp所提供的mib2c 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设定好后,执行mib2c时,通常会遇到讯息说没有安装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.最后就是mib2c操作方法,据mib2c的manpage里说明,mib2c的功用是产生template code给agent来扩充功能使用。

Usage为

mib2c [-h] -c CONFIGFILE [-I PATH] [-f OUTNAME] [-i][q][-S VAR=VAL] MIBNODE而mib2c的使用方法是以mib node为parameter来开始生成template code。所以必须先将mib file放置在$HOME/.mibs/或/opt/net-snmp/share/snmp/mibs,然后在环境变数中设定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的header时:

mib2c -c mib2c.column_defines.conf MIBNODE如果是要产生Column上任一Enum的header时:

mib2c -c mib2c.column_enums.conf MIBNODE

4.结论,大概就是麻烦吧。Net-SNMP不像其他商用的SNMP套件一样提供简易的开发扩充功能的环境,,像在EMANATE中打一个make就ok了,连型态都自动判断。不过也许是我对mib2c还不太熟的关系吧,Orz。

生命不是一场赛跑,而是一次旅行。比赛在乎终点,而旅行在乎沿途风景。

Net-SNMP的mib2c配置

相关文章:

你感兴趣的文章:

标签云: