Question

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
}

C'est comme ça que j'envoie mon piège SNMP pour sloger l'alarme. Je définis une variable dans l'agent SNMP et je le parcoure dans le navigateur MIB. Je veux savoir que si je définissais le type PDU comme pdu.trap. Il fonctionne sur le port 162 plutôt que 161 et je ne peux pas le voir le navigateur MIB mais dans le récepteur de pièges. Quelle est la différence? Quel est le but d'utiliser PDU.trap? Comment mon agent peut-il l'attraper? Quelle est la meilleure pratique pour soulever et effacer les alarmes?

Était-ce utile?

La solution 2

Lors de la mise en œuvre d'une entité SNMP, il est souvent préférable de mettre en œuvre le concept soi-disant «sondage dirigé par trap au lieu d'un simple« expéditeur de piège ». Pour ce dernier, SNMP4J peut être utilisé à l'extérieur, pour le premier agent snmp4j peut être utilisé. Ceci est également autorisé sous la licence open source Apache 2.

Étant donné que les pièges pourraient se perdre sur le réseau, l'approche de repos dirigée a de nombreux avantages, bien qu'il ait besoin de plus (peu) d'efforts pour mettre en œuvre la partie de l'agent.

Concernant la question initiale:

  • Lors de l'envoi d'un PDU SET, vous demandez au répondeur de commande (agent) de modifier certaines informations sur son entité.
  • Lorsque vous envoyez un piège ou une meilleure notification PDU, vous souhaitez informer le générateur de commande (Manager) d'un événement. Avec le concept de mise en place dirigé par TRAP en place, le générateur de commandement enverrait également des demandes de GET régulièrement (par exemple toutes les 5 minutes) sur * les objets lastchanged pour détecter efficacement les changements de données dans certains sous-arbres (critical) du MIB du Responder Command. Si un changement est détecté (soit via un PDU de notification, soit le sondage, les données modifiées sont demandées au répondeur Comamnd par le générateur de commande.

Autres conseils

La différence réside dans les rôles: SET est exécuté par un gestionnaire contre un agent, et le piège est l'inverse. Le SNMP4J de base ne prend en charge que la mise en œuvre d'un gestionnaire SNMP. Ce est possible de mettre en œuvre également certains aspects d'un agent, mais pas trivial. Il est difficile de dire lequel de ces deux que vous essayez réellement de mettre en œuvre, cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top