Frage

PDU pdu = new PDU();
pdu.setType(PDU.SET);

pdu.add(new VariableBinding(new OID("1.3.6.1.4.1.100.1.1"), new Counter64(System.currentTimeMillis())));
pdu.add(new VariableBinding(new OID("1.3.6.1.4.1.100.2.1"), new OctetString("some string")));

TransportMapping transport = null;
Snmp snmp = null;

try {
    transport = new DefaultUdpTransportMapping();
    transport.listen();

    snmp = new Snmp(transport);
    snmp.send(pdu, getCommunityTarget());
} catch (Exception e) {
    // error occurred
}

So sende ich meine SNMP -Falle, um Alarm auszulösen. Ich setze eine Variable im SNMP -Agenten ein und stöbere sie im MIB -Browser. Ich möchte das wissen, was wäre, wenn ich den PDU -Typ als PDU.Trap festlegt. Es funktioniert eher auf Port 162 als auf 161 und ich kann es MIB -Browser nicht sehen, sondern im Trap -Empfänger. Was ist der Unterschied? Was ist das Ziel der Verwendung von PDU.Trap? Wie kann mein Agent es fangen? Was ist die beste Praxis, um Alarme auszuräumen und zu klären?

War es hilfreich?

Lösung 2

Bei der Implementierung eines SNMP -Unternehmens ist es oft besser, das sogenannte "Trap Curpiced Polling" -Konzept anstelle eines einfachen "Trap -Absenders" zu implementieren. Für das letztere SNMP4J kann außerhalb des Boxs verwendet werden, denn der erste SNMP4J-Agent kann verwendet werden. Dies ist auch unter der Open -Source -Lizenz von Apache 2 lizenziert.

Da sich die Fallen im Netzwerk verlieren könnten, hat der fallgerichtete Ansatz für die Pollierung viele Vorteile, obwohl er mehr (wenige) Anstrengungen benötigt, um den Agent-Teil zu implementieren.

In Bezug auf die ursprüngliche Frage:

  • Beim Senden einer festgelegten PDU bitten Sie den Befehlsheiliger (Agent), einige Informationen zu seiner Entität zu ändern.
  • Wenn Sie eine Falle oder eine bessere Benachrichtigungs -PDU senden, möchten Sie den Befehlsgenerator (Manager) über ein Ereignis informieren. Mit dem vorhandenen Trap-gesteuerten Konzept sendet der Befehlsgenerator auch GET-Anforderungen regelmäßig (z. B. alle 5 Minutui) an *Last-Chchanged-Objekten, um Datenänderungen in bestimmten (krikrikten) Unterbäumen des Befehls-Responders-MIB effizient zu erkennen. Wenn eine Änderung festgestellt wird (entweder durch eine Benachrichtigungspunkte oder die Umfragen, werden die geänderten Daten vom Befehlsgenerator vom Comamnd Responder angefordert.

Andere Tipps

Der Unterschied besteht in den Rollen: Set wird von einem Manager gegen einen Agenten ausgeführt, und die Falle ist umgekehrt. Der Basic SNMP4J unterstützt nur die Implementierung eines SNMP -Managers. Es ist möglich, auch einige Aspekte eines Agenten zu implementieren, aber nicht trivial. Es ist jedoch schwer zu sagen, welches dieser beiden Sie tatsächlich implementieren möchten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top