У меня есть 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 "