Отправка OID в заголовке SNMP Trap - PullRequest
2 голосов
/ 20 марта 2019

У меня есть Java-приложение, которое отправляет SNMP-ловушки, используя SNMP4J.Проблема в том, что OID отправляется в теле ловушки.Все данные, которые я устанавливаю, успешно отправлены, но в теле ловушки.Я хочу, чтобы Oid отправлялся в заголовке ловушки.

Как я могу отправить Oid в заголовке прерывания?

    UdpAddress managerUdpAddress = new UdpAddress("address");

    CommunityTarget ctarget = new CommunityTarget();
    ctarget.setAddress(managerUdpAddress);
    ctarget.setRetries(retryCount);
    ctarget.setCommunity(new OctetString(community));
    ctarget.setTimeout(timeout);
    ctarget.setVersion(SnmpConstants.version2c);

    PDU trap = new PDU();

    OID oid = new OID(myOid);
    trap.add(new VariableBinding(SnmpConstants.snmpTrapOID, oid));
    trap.add(new VariableBinding(SnmpConstants.sysUpTime, new TimeTicks(5000)));                
    trap.add(new VariableBinding(SnmpConstants.sysDescr, new OctetString(
        "System Description")));
    trap.add(new VariableBinding(oid, new OctetString(message)));

    DefaultUdpTransportMapping  transport = new DefaultUdpTransportMapping();

    Snmp snmp = new Snmp(transport);

    snmp.notify(trap, ctarget);

Когда UPS отправляет прерывание SNMP, OID отображается в заголовке прерывания SNMP.Вот примеры:

Ловушка от ИБП:

Пн. 18 марта, 04:13:18 2019. 1.3.6.1.4.1.935.0.49 Нормальный «СОБЫТИЕ SNMP» xxxx - UPS_212_bypass_ac_normal SNAP TRAP: Обход переменного тока Нормальный

Trap от JAVA:

Пн. 18 марта, 05:25:36 2019 .0.00 Критическое «SNMP EVENT» xxxx - ошибки моего приложения snmp: Описание системы Общая ошибка,Размер = 2 "

Ответы [ 2 ]

2 голосов
/ 21 марта 2019

Я сделал это, добавив этот код:

trap.setType(PDU.TRAP);
trap.add(new VariableBinding(oid));

Теперь SNMP-ловушка, отправленная с Java, выглядит следующим образом:

Чт 21 марта 15:16:51 2019 .1.3.6.1.6.3.1.1.7.1.6 Критическое «СОБЫТИЕ SNMP» x.x.x.x - ошибки snmp моего приложения: Описание системы Общее ошибка. Размер = 2"

0 голосов
/ 20 марта 2019

Формат SNMP TRAP имеет фиксированную структуру, определенную в RFC 1157 или RFC 3412 (в случае SNMPv3). Эта структура состоит из заголовка и PDU (блока данных пакета). PDU - это набор так называемых привязок переменных. Каждая привязка имеет OID, синтаксис и значение. Таким образом, вы можете изменить только часть PDU. Структура заголовка не может быть изменена.

...