mib2c 配置
Net-SNMP的mib2c
收藏
今天在搞net-snmp所提供的mib2c tool,
用起來說實在的實在有點難用。 大概是我對它還不太熟的關係吧。 以下是今天弄的一些心得: (因為開發需求,所以設定prefix為/opt/net-snmp。) 1. 首先,在安裝net-snmp時,需在configure時加入以下參數
2. 在確定PATH設定好後,執行mib2c時, 通常會遇到訊息說沒有安裝Perl SNMP Module, 這是因為我們在configure時有設了prefix的關係, 導致perl找不到share library。 解決的方法是將net-snmp的lib目錄設定給ldconfig知道即可。
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 |