作者:zyq
Email:342563790@qq.com
时间:2010-11-3
Snmp Agent扩展
该文档将主要讲述基于开源项目net-snmp的snmp代理端开发流程,首先讲标准代理的安装流程,再讲述三种mib扩展方式,每种方式对应不同的开发需求,最后会讲下如何移植到arm板上。
一.系统环境:
操作系统:CentOS 5.4 内核:Linux_2.6
编译环境:gcc 4.1.2 代码版本:net-snmp-5.4.3.tar.gz
(下载地址:http://jaist.dl.sourceforge.net/project/net-snmp/net-snmp/5.4.3/net-snmp-5.4.3.tar.gz)
二.安装net-snmp
1.解压缩包并切换目录:
# tar zxvf net-snmp-5.4.3.tar.gz
#cd net-snmp-5.4.3
2.配置configure
# ./configure --enable-mfd-rewrites --enable-embedded-perl --with-perl-modules --with-default-snmp-version="2" --with-sys-contact="linux" --with-sys-location="China"
此时会提示还需要一些参数,直接回车就行了
3.编译和安装
#make
#make install
此时一个标准的snmp代理端已经安装完成(默认安装在/usr/local/share/snmp/路径下,snmpd即为代理程序)
4.配置代理,修改配置文件(可以通过snmpconf命令生成配置文件,这里我手动建立配置文件,只做简单配置,保证其可以工作,具体设置可以自己查询)
#vim /usr/local/share/snmp/snpmd.conf
输入如下两行配置,保存(其中public为默认读密码 ,123456为读写密码)
rocommunity public
rwcommunity 123456
5.测试我们的代理是否正常工作,输入:
# snmpwalk -v 1 -c public localhost 1.3.6.1.2.1.1
提示如下类似信息,则配置成功
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-TC::linux
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1047697) 2:54:36.97
SNMPv2-MIB::sysContact.0 = STRING: linux
SNMPv2-MIB::sysName.0 = STRING: mylinux
SNMPv2-MIB::sysLocation.0 = STRING: China
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.