Light Weight Event System Java Journaller
Java Shell

README

This is a journaller and dejournaller written in java for the Lightweight event system.

You will need to install maven 2.x in order to build:

% mvn clean package

To build a release:

% mvn --batch-mode release:prepare release:perform

Running

To start the journaller:
% bin/lwes-journaller -m <multicast_addr> -p <multicast_port> -f <filename>

To stop the journaller:
NOTE: To stop this journaller, you can't just control-c it or kill -9 it. If you do that, the
Java shutdown hook may not catch the signal and the file won't get closed properly. Use the
lwes-journaller-stop script or use kill -15.

% bin/lwes-journaller-stop

To tell the journaller to rotate the log file (you will probably want a cron job for this):

% bin/lwes-rotate-log -m <multicast_addr> -p <multicast_port>

If you are getting bad throughput as far as number of events per second you can process
before you see loss, make sure your operating system udp buffer is set to a reasonable number:

Linux               sysctl -w net.core.rmem_max=8388608
Solaris             ndd -set /dev/udp udp_max_buf 8388608
FreeBSD, Darwin     sysctl -w kern.ipc.maxsockbuf=8388608
AIX                 no -o sb_max=8388608

You can also increase the read buffer on the multicast socket by setting the lwes specific
system property MulticastReceiveBufferSize. For example,

java -DMulticastReceiveBufferSize=8388608 ...

There is a dejournaller utility to view the contents of the files. To run this:

% java -jar dejournaller-[version].jar -f <file_name> [-g]

It will output events one per line so you can grep/awk/perl them.