Search in sources :

Example 51 with Event

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();
}
Also used : PDU(org.snmp4j.PDU) OctetString(org.snmp4j.smi.OctetString) HashMap(java.util.HashMap) CommandResponderEvent(org.snmp4j.CommandResponderEvent) MessageDispatcherImpl(org.snmp4j.MessageDispatcherImpl) DefaultUdpTransportMapping(org.snmp4j.transport.DefaultUdpTransportMapping) OctetString(org.snmp4j.smi.OctetString) OID(org.snmp4j.smi.OID) Properties(loghub.configuration.Properties) Pipeline(loghub.Pipeline) ArrayBlockingQueue(java.util.concurrent.ArrayBlockingQueue) CommandResponderEvent(org.snmp4j.CommandResponderEvent) Event(loghub.Event) VariableBinding(org.snmp4j.smi.VariableBinding) HashMap(java.util.HashMap) Map(java.util.Map) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 52 with Event

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();
}
Also used : HashMap(java.util.HashMap) CommandResponderEvent(org.snmp4j.CommandResponderEvent) MessageDispatcherImpl(org.snmp4j.MessageDispatcherImpl) DefaultUdpTransportMapping(org.snmp4j.transport.DefaultUdpTransportMapping) OctetString(org.snmp4j.smi.OctetString) OID(org.snmp4j.smi.OID) Properties(loghub.configuration.Properties) Pipeline(loghub.Pipeline) ArrayBlockingQueue(java.util.concurrent.ArrayBlockingQueue) CommandResponderEvent(org.snmp4j.CommandResponderEvent) Event(loghub.Event) IpAddress(org.snmp4j.smi.IpAddress) TransportIpAddress(org.snmp4j.smi.TransportIpAddress) PDUv1(org.snmp4j.PDUv1) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 53 with Event

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);
}
Also used : StringCodec(loghub.decoders.StringCodec) ArrayBlockingQueue(java.util.concurrent.ArrayBlockingQueue) Event(loghub.Event) Properties(loghub.configuration.Properties) Pipeline(loghub.Pipeline)

Example 54 with Event

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);
}
Also used : Event(loghub.Event) Test(org.junit.Test)

Example 55 with Event

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());
}
Also used : InputStream(java.io.InputStream) InetSocketAddress(java.net.InetSocketAddress) ByteArrayOutputStream(java.io.ByteArrayOutputStream) ByteBuf(io.netty.buffer.ByteBuf) Decoder(loghub.Decoder) IpConnectionContext(loghub.IpConnectionContext) Event(loghub.Event) ProcessingStatus(loghub.Tools.ProcessingStatus) Test(org.junit.Test)

Aggregations

Event (loghub.Event)102 Test (org.junit.Test)90 Properties (loghub.configuration.Properties)63 Pipeline (loghub.Pipeline)23 Date (java.util.Date)19 Map (java.util.Map)18 HashMap (java.util.HashMap)14 IOException (java.io.IOException)13 Tools (loghub.Tools)13 URL (java.net.URL)8 Collections (java.util.Collections)8 ArrayBlockingQueue (java.util.concurrent.ArrayBlockingQueue)8 Level (org.apache.logging.log4j.Level)7 List (java.util.List)6 EventsProcessor (loghub.EventsProcessor)6 LogManager (org.apache.logging.log4j.LogManager)6 Logger (org.apache.logging.log4j.Logger)6 LogUtils (loghub.LogUtils)5 ProcessorException (loghub.ProcessorException)5 Assert (org.junit.Assert)5