Pregunta

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
}

Así es como envío mi trampa SNMP para dar alarma. Estoy estableciendo una variable en el agente SNMP y lo exploro en el navegador MIB. Quiero saber que si configure el tipo de PDU como PDU.trap. Funciona en el puerto 162 en lugar de 161 y no puedo ver el navegador MIB pero en el receptor de trampa. ¿Cuál es la diferencia? ¿Cuál es el objetivo de usar pdu.trap? ¿Cómo puede mi agente atraparlo? ¿Cuál es la mejor práctica para levantar y limpiar alarmas?

¿Fue útil?

Solución 2

Al implementar una entidad SNMP, a menudo es mejor implementar el llamado concepto de "encuesta dirigida por trampa" en lugar de un simple "remitente de trampa". Para el último SNMP4J se puede usar fuera de la caja, para el primer agente SNMP4J se puede usar. Esto también tiene licencia bajo la licencia de código abierto de Apache 2.

A medida que las trampas podrían perderse en la red, el enfoque de cola dirigido por trampa tiene muchas ventajas, aunque necesita más (pocos) esfuerzos para implementar la parte del agente.

Con respecto a la pregunta original:

  • Al enviar una PDU establecida, le pide al respondedor de comandos (agente) que cambie alguna información sobre su entidad.
  • Al enviar una trampa o una mejor notificación PDU, desea informar al generador de comandos (administrador) sobre un evento. Con el concepto de polling dirigido por la trampa en su lugar, el generador de comando también enviaría las solicitudes GET regularmente (por ejemplo, cada 5 minUtas) en *los objetos de último cambio para detectar de manera efectiva los cambios de datos en ciertos subarros (crícticos) del MIB del respondedor de comando. Si se detecta un cambio (ya sea a través de una PDU de notificación o la encuesta, el generador de comando solicita los datos modificados.

Otros consejos

La diferencia está en los roles: el set es ejecutado por un gerente contra un agente, y la trampa es lo contrario. El SNMP4J básico admite solo la implementación de un administrador de SNMP. Eso es Posible también implementar algunos aspectos de un agente, pero no trivial. Sin embargo, es difícil saber cuál de esos dos está tratando de implementar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top