Logstash - transport and process your logs, events, or other data
Find a file
2015-04-21 17:12:08 +00:00
acceptance_spec Update package acceptance tests 2015-02-03 14:09:19 +00:00
bin add an rspec shim to complement the old bin/logstash rspec way of running specs in logstash 2015-04-20 15:47:47 +00:00
bot Warm welcome to bot,may it serves you well 2013-03-11 07:13:54 +01:00
ci plugins/bundler refactor 2015-02-20 17:31:44 +00:00
docs Fix typo of tail unix command 2015-04-17 20:22:34 +00:00
lib Bump version after update to JRuby 1.7.19 2015-04-21 15:51:01 +00:00
locales add the concept of a jar manager to load jars within plugins 2015-04-14 15:59:32 +00:00
patterns removes the patterns from patterns dir 2014-12-17 19:40:38 +00:00
pkg adapt the lib.sh file to the use case proposed LS_JAVA_OPTS add to defualts while JAVA_OPTS override 2015-04-17 13:49:21 +00:00
rakelib upgrade jruby to 1.7.19 2015-04-21 15:44:37 +00:00
spec Do not return an empty metadata key hash when calling to_hash_with_metadata 2015-04-20 22:59:06 +00:00
tools plugins/bundler refactor 2015-02-20 17:31:44 +00:00
.gitignore Update package acceptance tests 2015-02-03 14:09:19 +00:00
.tailor - add .tailor config 2012-12-03 16:04:27 -08:00
CHANGELOG Added changes for RC3 releases 2015-04-20 23:08:46 +00:00
CONTRIBUTING.md Reference github issues now. 2014-07-14 22:21:37 -04:00
CONTRIBUTORS ElasticSearch output plugin to support multiple hosts and enhance stability. (by Hao Chen) 2014-10-09 17:26:24 -07:00
dripmain.rb refactored all gem/bundler code into logstash/bundler.rb and moved patches into logstash/patches 2015-04-16 17:34:51 +02:00
Gemfile minimal Gemfile and .lock 2015-03-04 20:13:46 +00:00
Gemfile.defaults updated teh defaults files in order to have there the last released versions 2015-04-14 23:53:51 +00:00
Gemfile.jruby-1.9.lock updated .lock file with snapshot5 2015-04-21 16:12:57 +00:00
Gemfile.jruby-1.9.lock.defaults Update defaults lock file after snapshot5 2015-04-21 17:12:08 +00:00
LICENSE update to elastic brand 2015-04-13 20:55:39 +00:00
logstash-core.gemspec add the concept of a jar manager to load jars within plugins 2015-04-14 15:59:32 +00:00
logstash-event.gemspec fix logstash-event.gemspec for jruby and mri 2015-01-26 21:12:38 +00:00
logstash.gemspec update to elastic brand 2015-04-13 20:55:39 +00:00
Makefile Refactor build tooling to use Ruby 2014-10-22 17:04:58 +00:00
Rakefile Exposing the rake vendor:clean method to the help message 2014-11-11 06:32:26 +00:00
README.md Merge branch 'fix/java_collection_delete' into 1.5 2015-04-15 13:18:33 +02:00
require-analyze.rb - hacky script to analyze the DEBUG=require csv output grouped by 2013-12-07 12:13:04 -08:00
STYLE.md - clean up style guide a bit 2013-01-03 17:23:36 -08:00

Logstash Code Climate Coverage Status

Logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching). If you store them in Elasticsearch, you can view and analyze them with Kibana.

It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.

For more info, see http://logstash.net/

Logstash Plugins

AKA "Where'd that plugin go??"

Since version 1.5.0 beta1 (and current master) of Logstash, all plugins have been separated into their own repositories under the logstash-plugins github organization. Each plugin is now a self-contained Ruby gem which gets published to RubyGems.org. Logstash has added plugin infrastructure to easily maintain the lifecyle of the plugin. For more details and rationale behind these changes, see our blogpost.

Elasticsearch logstash-contrib repo is deprecated. We have moved all of the plugins that existed there into their own repositories. We are migrating all of the pull requests and issues from logstash-contrib to the new repositories.

For more info on developing and testing these plugins, please see the README on any plugin repository.

Plugin Issues and Pull Requests

We are migrating all of the existing pull requests to their respective repositories. Rest assured, we will maintain all of the git history for these requests.

Please open new issues and pull requests for plugins under its own repository

For example, if you have to report an issue/enhancement for the Elasticsearch output, please do so here.

Logstash core will continue to exist under this repository and all related issues and pull requests can be submitted here.

Need Help?

Need help? Try #logstash on freenode irc or the logstash-users@googlegroups.com mailing list.

You can also find documentation on the http://logstash.net site.

Developing

To get started, you'll need ruby version 1.9.x or above and it should come with the rake tool.

Windows only Please set the JAVA_HOME path to your JDK installation directory. For example set JAVA_HOME=<JDK_PATH>

Here's how to get started with Logstash development:

rake test:install-core

Other commands:

# to use Logstash gems or libraries in irb, use the following
# this gets you an 'irb' shell with Logstash's environment
bin/logstash irb

# Run Logstash
bin/logstash agent [options]

Notes about using other rubies. If you don't use rvm, you can probably skip this paragraph. Logstash works with other rubies, and if you wish to use your own ruby you must set USE_RUBY=1 in your environment.

Drip Launcher

Drip is a launcher for the Java Virtual Machine that provides much faster startup times than the java command. The drip script is intended to be a drop-in replacement for the java command, only faster. We recommend using drip during development.

To tell Logstash to use drip, either set the USE_DRIP=1 environment variable or set JAVACMD=`which drip`.

Caveats

Unlike nailgun, drip does not reuse the same JVM. So once your app quits, drip will launch another JVM. This means that if you try to re-run Logstash right after it exited, you might still have a startup delay

Testing

There are a few ways to run the tests. For development, using bin/logstash rspec <some spec> will suffice, however you need to run bin/plugin install --development beforehand so you've all development dependencies installed.

If everything goes as expected you will see an output like:

% bin/logstash rspec spec/core/timestamp_spec.rb
Using Accessor#strict_set for spec
.............
13 examples, 0 failures
Randomized with seed 8026

If you want to run all the tests from source, keep in mind to run rake test:install-core beforehand, you can do:

rake test

Building

Building is not required. You are highly recommended to download the releases we provide from the Logstash site!

Note Before you build the artifacts, you need to run:

rake artifact:freeze-defaults-gemfile

If you want to build the release tarball yourself, run:

rake artifact:tar

You can build rpms and debs, if you need those. Building rpms requires you have fpm, then do this:

# Build an RPM
rake artifact:rpm

# Build a Debian/Ubuntu package
rake artifact:deb

Project Principles

  • Community: If a newbie has a bad time, it's a bug.
  • Software: Make it work, then make it right, then make it fast.
  • Technology: If it doesn't do a thing today, we can make it do it tomorrow.

Contributing

All contributions are welcome: ideas, patches, documentation, bug reports, complaints, and even something you drew up on a napkin.

Programming is not a required skill. Whatever you've seen about open source and maintainers or community members saying "send patches or die" - you will not see that here.

It is more important to me that you are able to contribute.

For more information about contributing, see the CONTRIBUTING file.