use of loghub.Event in project LogHub by fbacchella.
the class TestTrap method testbig.
// @Test
// public void testone() throws InterruptedException, IOException {
// BlockingQueue<Event> receiver = new ArrayBlockingQueue<>(1);
// SnmpTrap r = new SnmpTrap(receiver, new Pipeline(Collections.emptyList(), "testone", null));
// r.setPort(0);
// Assert.assertTrue("Failed to configure trap receiver", r.configure(new Properties(Collections.emptyMap())));;
// List<String> content = r.smartPrint(new OID("1.0.8802.1.1.2.1.1.2.5"));
// Assert.assertEquals(1, content.size());
// Assert.assertEquals("lldpMessageTxHoldMultiplier", content.get(0));
// r.close();
// }
@Ignore
@Test
public void testbig() throws InterruptedException, IOException {
BlockingQueue<Event> receiver = new ArrayBlockingQueue<>(2);
SnmpTrap r = new SnmpTrap(receiver, new Pipeline(Collections.emptyList(), "testbig", null));
r.setPort(0);
Map<String, Object> props = new HashMap<>();
props.put("mibdirs", new String[] { "/usr/share/snmp/mibs", "/tmp/mibs" });
Assert.assertTrue(r.configure(new Properties(props)));
r.start();
CommandResponderEvent trapEvent = new CommandResponderEvent(new MessageDispatcherImpl(), new DefaultUdpTransportMapping(), TransportIpAddress.parse("127.0.0.1/162"), 0, 0, null, 0, null, null, 0, null);
PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID("1.0.8802.1.1.2.1.4.1.1.8.207185300.2.15079"), new OctetString("vnet7")));
pdu.add(new VariableBinding(new OID("1.0.8802.1.1.2.1.3.7.1.4.2"), new OctetString("eth0")));
pdu.add(new VariableBinding(new OID("1.0.8802.1.1.2.1.4.1.1.9.207185300.2.15079"), new OctetString("localhost")));
pdu.add(new VariableBinding(new OID("1.3.6.1.6.3.1.1.4.1"), new OctetString("lldpRemTablesChange")));
trapEvent.setPDU(pdu);
r.processPdu(trapEvent);
Event e = receiver.poll();
logger.debug(e.getClass());
@SuppressWarnings("unchecked") Map<String, ?> details = (Map<String, ?>) e.get("lldpRemSysName");
Assert.assertEquals(3, Array.getLength(details.get("index")));
Assert.assertEquals("localhost", details.get("value"));
r.interrupt();
}
use of loghub.Event in project LogHub by fbacchella.
the class TestTrap method testtrapv1Specific.
@Ignore
@Test
public void testtrapv1Specific() throws InterruptedException, IOException {
BlockingQueue<Event> receiver = new ArrayBlockingQueue<>(2);
SnmpTrap r = new SnmpTrap(receiver, new Pipeline(Collections.emptyList(), "testbig", null));
r.setPort(0);
Map<String, Object> props = new HashMap<>();
props.put("mibdirs", new String[] { "/usr/share/snmp/mibs", "/tmp/mibs" });
Assert.assertTrue(r.configure(new Properties(props)));
r.start();
CommandResponderEvent trapEvent = new CommandResponderEvent(new MessageDispatcherImpl(), new DefaultUdpTransportMapping(), TransportIpAddress.parse("127.0.0.1/162"), 0, 0, null, 0, null, null, 0, null);
PDUv1 pdu = new PDUv1();
pdu.setEnterprise(new OID("1.3.6.1.4.1.232"));
pdu.setAgentAddress(new IpAddress());
pdu.setGenericTrap(6);
pdu.setSpecificTrap(6013);
pdu.setTimestamp(10);
trapEvent.setPDU(pdu);
r.processPdu(trapEvent);
Event e = receiver.poll();
Assert.assertEquals(0.1, (Double) e.get("time_stamp"), 1e-10);
Assert.assertEquals(null, e.get("generic_trap"));
Assert.assertEquals("compaq", e.get("enterprise"));
Assert.assertEquals("cpqHePostError", e.get("specific_trap"));
Assert.assertEquals(InetAddress.getByName("0.0.0.0"), e.get("agent_addr"));
r.interrupt();
}
use of loghub.Event in project LogHub by fbacchella.
the class TestZMQ method dotest.
private void dotest(Consumer<ZMQ> configure, Socket sender) throws InterruptedException {
BlockingQueue<Event> receiver = new ArrayBlockingQueue<>(1);
ZMQ r = new ZMQ(receiver, new Pipeline(Collections.emptyList(), "testone", null));
configure.accept(r);
r.setDecoder(new StringCodec());
Assert.assertTrue(r.configure(new Properties(Collections.emptyMap())));
r.start();
Thread.sleep(30);
Assert.assertTrue(sender.send("message 1"));
Event e = receiver.take();
Assert.assertEquals("Missing message", "message 1", e.get("message"));
tctxt.ctx.close(sender);
}
use of loghub.Event in project LogHub by fbacchella.
the class TestStringField method testone.
@Test
public void testone() {
StringField encoder = new StringField();
encoder.setCharset("UTF-16");
encoder.setFormat("${K1}: ${K2%02d}");
Event e = Tools.getEvent();
e.put("K1", "V1");
e.put("K2", 2);
byte[] result = encoder.encode(e);
String formatted = new String(result, Charset.forName("UTF-16"));
Assert.assertEquals("Formatting failed", "V1: 02", formatted);
}
use of loghub.Event in project LogHub by fbacchella.
the class ProcessorTest method test.
@Test
public void test() throws IOException, DecodeException, ProcessorException, InterruptedException {
Processor p = new Processor();
InputStream is = getClass().getResourceAsStream("/netflow/packets/ipfix.dat");
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[8 * 1024];
for (int length; (length = is.read(buffer)) != -1; ) {
out.write(buffer, 0, length);
}
ByteBuf bbuffer = Unpooled.wrappedBuffer(out.toByteArray());
Decoder nfd = new NetflowDecoder();
IpConnectionContext dummyctx = new IpConnectionContext(new InetSocketAddress(0), new InetSocketAddress(0), null);
Map<String, Object> content = nfd.decode(dummyctx, bbuffer);
Event e = Tools.getEvent();
e.setTimestamp((Date) content.remove(Event.TIMESTAMPKEY));
e.putAll(content);
ProcessingStatus ps = Tools.runProcessing(e, "main", Collections.singletonList(p));
logger.debug(ps.mainQueue.remove());
logger.debug(ps.mainQueue.remove());
logger.debug(ps.mainQueue.remove());
logger.debug(ps.mainQueue.remove());
logger.debug(ps.mainQueue.remove());
logger.debug(ps.mainQueue.remove());
logger.debug(ps.mainQueue.remove());
logger.debug(ps.mainQueue.remove());
Assert.assertTrue(ps.mainQueue.isEmpty());
}
Aggregations