Подключение к серверу SNMP - PullRequest
       5

Подключение к серверу SNMP

1 голос
/ 14 сентября 2011

Я отправляю ловушку SNMP на сервер SNMP.Но я должен распечатать журнал, если соединение с сервером не установлено.

UdpAddress targetAddress = new UdpAddress("127.0.0.1/1985");

CommunityTarget target = new CommunityTarget();

target.setCommunity(new OctetString("public"));

target.setAddress(targetAddress);

target.setRetries(2);

target.setTimeout(1000); 

target.setVersion(SnmpConstants.version1);

Snmp snmp = new Snmp(new DefaultUdpTransportMapping());

snmp.listen();

// prepare the PDU for sending

PDU command = new PDU();

command.setType(PDU.GET);

command.add(new VariableBinding(new

OID("1.3.6.1.4.1.1331.11.5.1.0")));

// now send the PDU

**//  I HAVE TO CHECK WETHER CONNECTION IS ESTABLISHED OR NOT WITH SNMP SERVER. AS OF
NOW EVEN IF I DO NOT START SNMP SERVER THAN I AM NOT GETTING ANY EXCEPTION and IF I START 
SNMP SERVER THEN MESSAGE HAS BEEN SENT TO SNMP SERVER.....MAY BE IN SEND METHOD..ITS
CONNECTS WITH SNMP SERVER....BUT I TRIED TO FIND OUT BUT COULDNT ABLE TO DO IT.....**

ResponseEvent responseEvent = snmp.send(pdu, target);

Ответы [ 2 ]

5 голосов
/ 16 сентября 2011

UDP без установления соединения, поэтому у вас нет возможности узнать, получен ли пакет в этом случае.

0 голосов
/ 05 августа 2016

Несмотря на то, что вы хотите отправить ловушку / уведомление SNMP в коде, вы делаете следующее

PDU command = new PDU();
command.setType(PDU.GET);

Вышеуказанное приведет к отправке запроса получения SNMP, который в идеале должен получить вам ответ, однако номер порта (источник или адрес источника вашего клиента) находится там, где вы должны прослушивать. Приведенный выше фрагмент кода имеет несколько основных недостатков, в результате чего вы не получаете желаемых результатов.

Некоторые ссылки, которые вы можете прочитать на SNMP4j для отправки уведомлений

https://www.jayway.com/2010/05/21/introduction-to-snmp4j/

http://lists.agentpp.org/pipermail/snmp4j/2006-April/001219.html

...