2012-04-12 86 views
1

我正在使用net-snmp和agentx。我必须为标量和表注册我的企业OID。例如:net-snmp:我如何注册新的企业陷阱?

netsnmp_register_read_only_scalar(...); // register my scalars 
netsnmp_tdata_register(...); // register my table 

我使我的AgentX代码的电话,我的OID不SNMPD露面。

我MIB文件也有通告类型定义,如:

myTrapTest NOTIFICATION-TYPE 
    STATUS   current 
    DESCRIPTION  "A sample trap." 
    ::= { myNotifications 1 } 

我看了看#include <net-snmp/agent/agent_trap.h>,但该文件似乎是约发送陷阱,而不是注册一个用户定制的。

我的问题:我该怎么称呼注册我的陷阱定义?

回答

0

原来没有陷阱需要注册。当我问NET-SNMP邮件列表中,我得到的回答是:

你需要让主 代理知道调用哪个子剂/调用(你对“注册”变量/表其他人) 当一个特定的OID是获得/集,但...

你不必“注册”陷阱定义,你只需要 “发送”的(正确地组成)的通知(的AgentX -notify-PDU)。

(来源:http://permalink.gmane.org/gmane.network.net-snmp.user/35320

+0

据我所知,答案很可能是过时的,但你有没有成功地创建应用程序特定的陷阱?我在[这里]描述了一个类似的问题(http://superuser.com/questions/1150972/making-traps-for-custom-oids-in-snmpd-conf),但仍找不到全面的答案关于自定义陷阱创建。先谢谢你。 – user3159253 2016-11-29 14:38:15

+0

@ user3159253查看此源代码:http://snmppp.sourceforge.net/doc/doxygen/namespaceSNMPpp.html#a62783799405b5455e51082d0f5d6f8ab – 2016-11-29 16:09:06

+0

进一步挖掘,实际的源代码与希望有用的评论,使魔术发生在陷阱。 CPP。看到这里:https://sourceforge.net/p/snmppp/code/ci/master/tree/code/src/Trap.cpp – 2016-11-29 16:20:08