[컴] logstash 의 github source 를 가지고 윈도우에서 실행하기

로그스태시


logstash 소스를 가지고 windows에서 실행을 시도해봤는데 안되었다. 그냥 갑자기 왜 안되지 싶어 삽질을 좀 해서 그 후기(?)를 올려본다.


github source download

먼저, logstash 의 souce 버전을 다운로드 하자. 되도로 release 된 녀석으로 downloa 하자. 아래 경로에 가면 있다.

실행

참고로 -e 옵션은 제대로 동작하지 않는다.
logstash agent -e 'input{ stdin { } } output { stdout {} }'
c:\logstash-1.4.2\bin>logstash agent -e 'input{ stdin { } } output { stdout {} }'
No such command "{"
Usage: logstash <command> [command args]
Run a command with the --help flag to see the arguments.
For example: logstash agent --help

Available commands:
  agent - runs the logstash agent
  version - emits version info about this logstash
  web - runs the logstash web ui (called Kibana)
  rspec - runs tests


그래서 이것을 -f option으로 실행해야 한다.[참고 : Expected one of #, input, filter, output in logstash - Stack Overflow]
>logstash.bat agent -f myconf.conf

myconf.conf
input { stdin { } }
output { stdout { } }


JRuby 1.7.19 Complete .jar

이렇게 실행하면 아래와 같은 error 가 뜬다.
Please download the JRuby Complete .jar from http://jruby.org/download to c:\temp\aSource\logstash-1.4.2\logstash-1.4.2\vendor\jar\ and re-run this command.


그래서 Downloads — JRuby.org 에서 JRuby 1.7.19 Complete .jar 을 다운로드해서 아래 경로에 넣고 다시 실행해봤다.

  • c:\logstash-1.4.2\vendor\jar\jruby-complete-1.7.11.jar


LoadError

이번엔 i18n 을 load 할 수 없다는 error 가 뜬다.
c:\logstash-1.4.2\bin>logstash.bat agent -f myconf.c
onf
LoadError: no such file to load -- i18n
  require at org/jruby/RubyKernel.java:1085
  require at file:/C:/temp/aSource/logstash-1.4.2/logstash-1.4.2/vendor/jar/jruby-complete-1.7.11.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55
   (root) at c:\temp\aSource\logstash-1.4.2\logstash-1.4.2\lib\logstash\runner.r
b:46


배포본과 비교

그래서 결국 배포본과 비교 해 봤다.


vendor

logstash homepage 에서 배포하는 배포본을 다운로드해서 소스와 비교 해 보면 아래와 같다.




release version code 이외의 경우

이제 잘 돌아간다. 그런데, 우연히 release version source 가 아니라. pull/2203 을 이용해 봤는데, 이녀석은 lib 부분이 제대로 들어가 있지 않았다. 그래서 error 가 났다. 그러니 release version 이 아닌경우에는 file 이 빠진 부분이 없는지 체크해 보자.




logstash.bat 

set RUBYLIB=c:\temp\aSource\logstash-1.4.2\lib
set GEM_HOME=c:\temp\aSource\logstash-1.4.2\vendor\bundle\jruby\1.9\
set GEM_PATH=c:\temp\aSource\logstash-1.4.2\vendor\bundle\jruby\1.9\


"C:\Program Files\Java\jdk1.7.0_45\bin\java"  -Xms256m -Xmx1g -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1 -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError  -jar "c:\temp\aSource\logstash-1.4.2\vendor\jar\jruby-complete-1.7.11.jar" "c:\temp\aSource\logstash-1.4.2\lib\logstash\runner.rb" agent -f myconf.conf


위와 같이 실행하면 logstash가 동작한다.


README.md

## Building
Building is not required. You are highly recommended to download the releases
we provide from the Logstash site!
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](https://github.com/jordansissel/fpm), then do this:
    # Build an RPM
    rake artifact:rpm
    # Build a Debian/Ubuntu package
    rake artifact:deb








댓글 없음:

댓글 쓰기