2012-04-12 87 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