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
댓글 없음:
댓글 쓰기