Nav apraksta

didfet ce2eaabee5 Release 0.1.3 10 gadi atpakaļ
.settings 011f5392cc Added commons-io dependency. 10 gadi atpakaļ
src a36aa2c0d0 Changed logging pattern. 10 gadi atpakaļ
.classpath d88b8b6bd5 Begin implementation of lumberjack protocol. 10 gadi atpakaļ
.gitignore a2edfd8a2f Implemented FileState serialization/deserialization. 10 gadi atpakaļ
.project 410941bfee Eclipse project initialization. 10 gadi atpakaļ
LICENSE.md e96e44f758 Added copyright notice. 10 gadi atpakaļ
README.md 29e43b1fbe Update README.md 10 gadi atpakaļ
pom.xml ce2eaabee5 Release 0.1.3 10 gadi atpakaļ

README.md

logstash-forwarder-java

What is this ?

Logstash-forwarder-java is a log shipper program written in java. This is in fact a java version of logstash-forwarder by jordansissel. Here are a few features of this program :

  • compatible with Java 5 runtime
  • lightweight : package size is ~2MB and memory footprint ~8MB
  • configuration compatible with logstash-forwarder
  • lumberjack output (including zlib compression)

Why ?

Logstash-forwarder is written in go. This programming language is not available on all platforms (for example AIX), that's why a java version is more portable.

Logstash runs on java and provides a lumberjack output, but the file input doesn't run on all plaforms (for example AIX) and logstash requires a recent JVM. Moreover Logstash is heavier : it is a big package and uses more system resources.

So logstash-forwarder-java is a solution for those who want a portable, lightweight log shipper for their ELK stack.

How to install it ?

Download one of the following archives :

Or download the maven project and run maven package. Then you can install one of the archives located in the target directory.

How to run it ?

Just run this command :

java -jar logstash-forwarder-java-X.Y.Z.jar -config /path/to/config/file.json

For help run :

java -jar logstash-forwarder-java-X.Y.Z.jar -help

Differences with logstash-forwarder

Configuration

The configuration file is the same (json format), but there are a few differences :

  • the ssl ca parameter points to a java keystore containing the root certificate of the server, not a PEM file
  • comments are C-style comments
  • the stdin input is not yet implemented

Command-line options

Some options are the same :

  • config (but only for a file, not a directory)
  • quiet
  • idle-timeout (renamed idletimeout)
  • spool-size (renamed spoolsize)
  • help

There are a few more options :

  • debug : turn on debug logging level
  • trace : turn on trace logging level
  • signaturelength : size of the block used to compute the checksum