SNMP Agent扩展主要步骤,内容及问题

yyying 2008-10-11 05:56:27
我采用的方法是将自定义mib文件编译后加入到net-snmp-5.4.1.2的代理中扩展.主要步骤及问题如下:
1 自定义MIB文件SC-ST.txt

SCN-PRIVATE DEFINITIONS ::= BEGIN

-- SC-ST.txt
-- this file is a MIB tree description for ucd-snmpd.
--
-- private
-- |
-- scn
-- |______________
-- | |
-- scboxTable scnodeTable
--
-- copy scboxTable.[hc] and scnodeTable.[hc] into ucd-snmp-src/agent/mibgroup, remake and install ucd-snmp
-- include with-mib-modules="scboxTable scnodeTable ..." config option.
-- copy this file into ucd-snmpd mibs directory. (usually be /usr/local/share/snmp/mibs) , and
-- copy
-- copyright: socix
-- developer: Joshua Yu
-- date: 2004-06-13


IMPORTS
private FROM SNMPv2-SMI;

-- ORGANIZATION "Socix"
-- LAST-UPDATED "2004-6-13 04:38:51 CST"
-- CONTACT-INFO "Joshua Yu
-- Phone: +86 1358848xxxx
-- Email: JoshuaYu@hotmail.com"
-- DESCRIPTION
-- "The MIB module for managing SCBOX implementations."
-- REVISION "1.2"


-- the scn group

scn OBJECT IDENTIFIER ::= { private 2 }
......
2 使用mib2c编译为.c .h文件,并略作修改.
.......

#define SBDEVADDR 1
{SBDEVADDR, ASN_OCTET_STR, RWRITE, var_scboxTable, 2, {1, 1}},
#define SBDEVNAME 2
{SBDEVNAME, ASN_OCTET_STR, RWRITE, var_scboxTable, 2, {1, 2}},
#define SBDEVNOTE 3
{SBDEVNOTE, ASN_OCTET_STR, RWRITE, var_scboxTable, 2, {1, 3}},
#define SBPOWERI 4
{SBPOWERI, ASN_INTEGER, RONLY, var_scboxTable, 2, {1, 4}},
#define SBPOWERII 5
{SBPOWERII, ASN_INTEGER, RONLY, var_scboxTable, 2, {1, 5}},
#define SBTEMP 6
{SBTEMP, ASN_INTEGER, RONLY, var_scboxTable, 2, {1, 6}},
};

/*
* (L = length of the oidsuffix)
*/


/** Initializes the scboxTable module */
void
init_scboxTable(void)
{

DEBUGMSGTL(("scboxTable", "Initializing\n"));

/*
* register ourselves with the agent to handle our mib tree
*/
REGISTER_MIB("scboxTable", scboxTable_variables, variable4,
scboxTable_variables_oid);

/*
* place any other initialization junk you need here
*/
}

/*
.......

3 通过net-snmp-5.4.1开发包,按readme操作说明将这两个文件编译进snmpd代理
4 启动snmpd代理如下
C:\usr\bin>snmpd -f -Le -d
netsnmp_assert x failed /home/yy/soft/net-snmp-5.4.1.2/agent/agent_registry.c:
535
netsnmp_assert x failed /home/yy/soft/net-snmp-5.4.1.2/agent/agent_registry.c:
535
netsnmp_assert x failed /home/yy/soft/net-snmp-5.4.1.2/agent/agent_registry.c:
535
NET-SNMP version 5.4.1.2

5 另开窗口,发送查询命令
snmpget -c public -v 2c localhost system.sysUpTime.0
当前窗口提示如下
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (13650) 0:02:16.50
代理窗口提示如下:
Received 41 bytes from UDP: [127.0.0.1]:1120
0000: 30 27 02 01 01 04 06 70 75 62 6C 69 63 A0 1A 02 0'.....public...
0016: 02 5A DE 02 01 00 02 01 00 30 0E 30 0C 06 08 2B .Z.......0.0...+
0032: 06 01 02 01 01 03 00 05 00 .........

Received SNMP packet(s) from UDP: [127.0.0.1]:1120
GET message
-- DISMAN-EVENT-MIB::sysUpTimeInstance

Sending 43 bytes to UDP: [127.0.0.1]:1120
0000: 30 29 02 01 01 04 06 70 75 62 6C 69 63 A2 1C 02 0).....public...
0016: 02 5A DE 02 01 00 02 01 00 30 10 30 0E 06 08 2B .Z.......0.0...+
0032: 06 01 02 01 01 03 00 43 02 35 52 .......C.5R

6 发送查询自定义节点信息命令
snmpget -c public -v 2c localhost scboxTable.1
当前窗口提示如下
BRITGW-MIB::BitSyn = No Such Object available on this agent at this OID
代理窗口提示如下:
Received 40 bytes from UDP: [127.0.0.1]:1125
0000: 30 26 02 01 01 04 06 70 75 62 6C 69 63 A0 19 02 0&.....public...
0016: 02 76 95 02 01 00 02 01 00 30 0D 30 0B 06 07 2B .v.......0.0...+
0032: 06 01 04 01 01 01 05 00 ........

Received SNMP packet(s) from UDP: [127.0.0.1]:1125
GET message
-- BRITGW-MIB::scboxEntry

Sending 40 bytes to UDP: [127.0.0.1]:1125
0000: 30 26 02 01 01 04 06 70 75 62 6C 69 63 A2 19 02 0&.....public...
0016: 02 76 95 02 01 00 02 01 00 30 0D 30 0B 06 07 2B .v.......0.0...+
0032: 06 01 04 01 01 01 80 00 ......€.


问题:
1)启动代理时的提示netsnmp_assert x failed /home/yy/soft/net-snmp-5.4.1/agent/agent_registry.c:
535是什么意思?如何解决?是否影响自定义节点的操作?
2)查询system.sysUpTime.0能够正确返回信息,说明代理没有错误,是否是编译的.c .h文件
我没有加入正确的处理代码?缺少什么内容?
3)No Such Object available on this agent at this OID说明什么问题?
4)如何知道我的.c .h中的handle_scboxTable是否被调用?怎么跟踪?





...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
podded 2008-11-04
  • 打赏
  • 举报
回复
http://blog.csdn.net/podded/archive/2007/12/19/1953929.aspx
yyying 2008-10-11
  • 打赏
  • 举报
回复
都没有人的呢?
yyying 2008-10-11
  • 打赏
  • 举报
回复
都没有人的呢?
yyying 2008-10-11
  • 打赏
  • 举报
回复
都没有人的呢?

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧