2019년 10월 13일 일요일

윈도우 Logstash 파이프라인

로그스태시는 실행 시 pipelines.yml에 지정된 데이터 파이프라인 설정을 읽어와서 데이터를 처리한다.


그런데 실행하면 path.config 옵션으로 지정된 경로의 파이프라인 설정을 읽어오지 못함.
D:\Elastic\logstash-6.8.2\bin> .\logstash
Sending Logstash logs to D:/Elastic/logstash-6.8.2/logs which is now configured via log4j2.properties
[2019-10-13T13:29:25,264][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"6.8.2"}
[2019-10-13T13:29:26,030][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.
[2019-10-13T13:29:26,433][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9601}
[2019-10-13T13:29:29,114][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.
[2019-10-13T13:29:32,101][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.>

config.string 옵션으로 파이프라인 설정을 아예 박아 넣었다.


잘 됨.
D:\Elastic\logstash-6.8.2\bin> .\logstash
Sending Logstash logs to D:/Elastic/logstash-6.8.2/logs which is now configured via log4j2.properties
[2019-10-13T13:37:16,208][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"6.8.2"}
[2019-10-13T13:37:25,195][INFO ][logstash.pipeline        ] Starting pipeline {:pipeline_id=>"test", "pipeline.workers"=>8, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50}
[2019-10-13T13:37:25,323][INFO ][logstash.pipeline        ] Pipeline started successfully {:pipeline_id=>"test", :thread=>"#"}
The stdin plugin is now waiting for input:
[2019-10-13T13:37:25,370][INFO ][logstash.agent           ] Pipelines running {:count=>1, :running_pipelines=>[:test], :non_running_pipelines=>[]}
[2019-10-13T13:37:25,654][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9601}
12345
D:/Elastic/logstash-6.8.2/vendor/bundle/jruby/2.5.0/gems/awesome_print-1.7.0/lib/awesome_print/formatters/base_formatter.rb:31: warning: constant ::Fixnum is deprecated
{
       "message" => "12345\r",
    "@timestamp" => 2019-10-13T04:37:34.102Z,
      "@version" => "1",
          "host" => "MHKANG"
}

path.config 옵션은 왜 안 먹히지?

구글링해보니 윈도우 환경에서 파이프라인 설정 경로 지정할 때는 c:d:와 같은 드라이브 문자를 생략하더라. 아니 왜 애만?


이걸 이제야 궁금해하다니(..) 테스트할 때는 실행 파일 옵션으로 설정 파일을 지정하고, 윈도우에서 서비스 돌릴 때는 NSSM의 파이프라인 설정 지정 옵션을 이용해서 필요성을 못느꼈나 보다.


그래도 그렇지, 어떻게 2년 동안 검색 한 번 해볼 생각을 안 했지?

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스