4

I am running Logstash 1.4.1, comparing to the latest, I can't find anywhere in my installation folders contains gem information (versus the latest code in github has those gembag.rb, Gemfile etc..)

My current issue is I need to use several gems that Logstash doesn't have out of box, simply require 'gemname' seems doesn't work. Could anyone direct me to the readings that explains how to add these 3rd party gems or show me some sample codes which can do this.

Thanks very much!

Leicha
  • 89
  • 1
  • 11
James Jiang
  • 2,073
  • 6
  • 19
  • 25

4 Answers4

9
cd /opt/logstash
env GEM_HOME=vendor/bundle/jruby/1.9 GEM_PATH="" java -jar vendor/jar/jruby-complete-1.7.11.jar -S gem install gemname

If you're installing a local gem file, put the path to the file in GEM_PATH.

Alain Collins
  • 16,268
  • 2
  • 32
  • 55
8

I think the simplest way is:

/usr/share/logstash/bin/ruby -S gem install <gem-name>

or

/opt/logstash/bin/ruby -S gem install <gem-name>

Work for me on recent version of logstash...

Alex Simenduev
  • 846
  • 7
  • 6
5

This is what worked for me in logstash 2.0.

env GEM_HOME=/opt/logstash/vendor/bundle/jruby/1.9 /opt/logstash/vendor/jruby/bin/jruby /opt/logstash/vendor/jruby/bin/gem install PACKAGE_NAME -v PACKAGE_VERSION

Then I had to edit /opt/logstash/Gemfile to include the line:

gem "PACKAGE_NAME", "PACKAGE_VERSION"

I know we also did a yum install ruby-devel at some point along the way, but I don't remember if that was needed for this to work.

turtlemonvh
  • 9,149
  • 6
  • 47
  • 53
1

For example:

env GEM_HOME=vendor/bundle/jruby/1.9 vendor/jruby/bin/jruby vendor/jruby/bin/gem install zookeeper -v 1.4.11 -V

edit Gemfile:

gem "zookeeper", "1.4.11"
Nestle
  • 41
  • 1
  • 3