转自:http://www.aichengxu.com/view/43967
net-snmp开发代理常见问题解决方案,有需要的朋友可以参考下。
snmpd启动方式:
./snmpd-Lsd-Lf/dev/null-p/var/run/snmpd.pid-a-c/etc/snmp/snmpd.conf-DTest
snmp获取MIB-II树内容
snmpbulkwalk-v2c127.0.0.1-cpublic.1.3.6.1.2.1.1
snmp获取Test内容
snmpbulkwalk-v2c127.0.0.1-cpublic.1.3.6.1.4.1.16535.1.1.0
测试是否存在Testmodules
snmptranslate-Tp-IRSNMPV2-CYBER-MIB::cybwall
利用mib2cscalar生成Test.h和Test.c文件
注释:envMIBS="+/usr/local/share/snmp/mibs/SNMPV2-CYBER-MIB.my"mib2ccybwall
envMIBS="+SNMPV2-CYBER-MIB"mib2c-cmib2c.scalar.confcybwall
利用mib2c生成table文件
envMIBS="+SNMPV2-CYBER-MIB"mib2c-cmib2c.iterate.conffwIntResTable
利用mib2c生成trap文件
envMIBS="+SNMPV2-CYBER-MIB"mib2c-cmib2c.notify.conffwtrap
Trap发送snmptrapd段
snmptrap-v2c-cpublic127.0.0.1"aaa"1.3.6.1.4.1.1SNMPV2-CYBER-MIB::fwTrapss"dfsaasdasdf"
启动snmpd的manager段
snmptrapd-d-f-Lo
利用mib2c生成Makefile文件
envMIBS="+SNMPV2-CYBER-MIB"mib2c-cmfd-makefile.m2m
\Test.c编译命令:
net-snmp-config--compile-subagentTestTest.c
常见错误整理:
Cann'tfindmodules(IP-Test)解决方法:exportMIB=all
Registeringpdufailed:263重启snmpd服务
./Test:symbollookuperror:/usr/lib/libnetsnmpmibs.so.10:undefinedsymbol:netsnmp_processing_set:
错误原因:net-snmp-config指定动态库加载路径与Test加载路径不同
解决方法:将net-snmp-config
配置文件修改(/etc/snmp/snmpd.conf)
执行子代理程序,需要在/etc/snmp/snmpd.conf中
1、添加masteragentx字段:开启subagent的模式
2、添加viewsystemviewincluded.1
3、trapsink192.168.1.187:162public//trap
trap2sink192.168.1.187:162secret
Authrapenable1
编译Test.c文件
gcc-fno-strict-aliasing-g-O2-Ulinux-Dlinux=linux-I/usr/include/rpm-D_REENTRANT-D_GNU_SOURCE-fno-strict-aliasing-pipe-Wdeclaration-after-statement-I/usr/local/include-D_LARGEFILE_SOURCE-D_FILE_OFFSET_BITS=64-I/usr/include/gdbm-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE-I.-I/usr/local/include-oTestTest.c-L/usr/local/lib-lnetsnmpmibs-lnetsnmpagent-lnetsnmphelpers-lnetsnmp-lnetsnmpmibs-lrpm-lrpmio-ldl-lnetsnmpagent-lnetsnmphelpers-Wl,-E-Wl,-rpath,/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE-L/usr/local/lib/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/DynaLoader/DynaLoader.a-L/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE-lperl-lresolv-lnsl-ldl-lm-lcrypt-lutil-lpthread-lc-lnetsnmp-lcrypto
Snmpset命令
snmpset-v2c-cpubliclocalhost.1.3.6.1.2.1.11.30.0i1
Snmpconf配置snmpd.conf,snmp.conf,snmptrapd.conf
Svn接口文档
https://192.168.6.100/svn/dev2doc/nsms/详细设计文档
设置iReasoningMIBBrowser接受trap
agent修改/etc/snmp/snmpd.conftrapsink
关闭windowsnmp管理站服务,关闭防火墙
重新启动snmpd服务,
MIB文件作用:
它提供了待实现模块的初始规格说明。
如果新的MIB文件与其他MIB文件一起读入,这个MIB文件可使上层的应用程序格式化从代理获得数据(如:区分OID和值),而不仅仅是无格式的数。
MIB2C工具使用MIB文件生成C头文件和C实现文件。
对于snmp的table进行设置时候,一般会遵循以下设置规则:
增加行操作:
、设置新加行的RowStatus为5.
配置改行其他列的值。
完成后设置该行RowStatus为1.
配置行操作
设置该行的RonwStatus为2.
配置其他列参数
完成后设置该行RowStatus为1