2012-04-12 10 views
1

Ich arbeite mit net-snmp und agentx. Ich muss meine Enterprise-OIDs für Skalare und Tabellen registrieren. Zum Beispiel:net-snmp: Wie registriere ich mich für eine neue Unternehmensfalle?

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

Bis ich diese Anrufe in meinem agentx Code machen, meine OIDs Sie zeigen nicht in snmpd.

Meine MIB-Datei hat auch NOTIFICATION-TYPE Definitionen, wie zB:

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

Ich habe einen Blick auf #include <net-snmp/agent/agent_trap.h> aber diese Datei scheint über das Senden von Traps zu sein, nicht Gewohnheit einer Registrierung.

Meine Frage: Was nenne ich meine Trap-Definitionen registrieren?

Antwort

0

Es stellt sich heraus, dass keine Registrierung für Traps erforderlich ist. Wenn ich auf dem NET-SNMP-Mailing-Liste gefragt, war die Antwort, die ich erhielt:

Sie müssen Variablen/Tabellen ‚Register‘, so dass der Master Agent weiß, welche Sub-Agent rufen/aufrufen (Sie gegen der andere Typ) , wenn eine bestimmte OID get/set, aber ...

Sie haben nicht zu ‚registrieren‘ Trap-Definitionen, Sie einfach zu haben ‚senden‘ (korrekt zusammengesetzt) ​​Benachrichtigung (agentx -Notify-PDU).

(Quelle: http://permalink.gmane.org/gmane.network.net-snmp.user/35320)

+0

Ich verstehe, dass die Antwort wahrscheinlich veraltet ist, aber haben Sie es geschafft, anwendungsspezifische Fallen zu schaffen? Ich habe ein etwas ähnliches Problem [hier] beschrieben (http://superuser.com/questions/1150972/making-traps-for-custom-oids-in-snmpd-conf), kann aber immer noch keine umfassende Antwort finden über benutzerdefinierte Trap-Erstellung. Vielen Dank im Voraus. – user3159253

+0

@ user3159253 Siehe den Quellcode dafür: http://snmppp.sourceforge.net/doc/doxygen/namespaceSNMPpp.html#a62783799405b5455e51082d0f5d6f8ab –

+0

Graben weiter, der eigentliche Quellcode mit hoffentlich hilfreiche Kommentare, um die Magie geschehen zu lassen, ist in Trap. cpp. Siehe hier: https://sourceforge.net/p/snmppp/code/ci/master/tree/code/src/Trap.cpp –