2016-09-07 3 views
0

나는 redis에서 데이터를 가져 와서 데이터를 elasticsearch로 출력하는 logstash 구성을 가지고 있습니다.elasticsearch에 대한 가변 인덱스 이름이있는 logstash 구성

input { 
    redis { 
     host => "127.0.0.1" 
     codec => "json" 
     key => "logstash" 
     data_type => "list" 
    } 
} 

output { 
    elasticsearch { 
     protocol => "http" 
     user => "user" 
     password => "password" 
     host => "host:9200" 
     index => "index-%{foo}" 
     document_id => "id-%{bar}" 
     document_type => "my_type" 
     cluster => "my_cluster" 
    } 
} 

내 elasticsearch 인스턴스의 nginx으로 포트 9200에 프록시되어, 실제로는 다른 포트에서 실행 :이처럼 내 구성 파일이 모습입니다. 또한 인증은이 아닌 nginx를 사용하여 설정됩니다. 문제는이 구성에서 configtest을 실행하면 Configuration OK이 표시된다는 것입니다. 하지만이 스크립트를 실행하면이 오류가 throw됩니다.

Pipeline aborted due to error {:exception=>"LogStash::ConfigurationError", 
:backtrace=>["/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core- 
2.4.0-java/lib/logstash/config/mixin.rb:88:in `config_init'", 
"org/jruby/RubyHash.java:1342:in `each'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0- 
java/lib/logstash/config/mixin.rb:72:in `config_init'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0- 
java/lib/logstash/outputs/base.rb:79:in `initialize'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0- 
java/lib/logstash/output_delegator.rb:74:in `register'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0- 
java/lib/logstash/pipeline.rb:181:in `start_workers'", 
"org/jruby/RubyArray.java:1613:in `each'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0- 
java/lib/logstash/pipeline.rb:181:in `start_workers'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0- 
java/lib/logstash/pipeline.rb:136:in `run'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0- 
java/lib/logstash/agent.rb:491:in `start_pipeline'"], :level=>:error} 

왜이 오류가 발생합니까? 여기서 내가 뭘 잘못하고 있니? 나는 또한

host => "http://user:[email protected]:9200" 

를 사용하여 시도했지만이 중 하나가 작동하지 않습니다

편집

참고.

답변

1

Logstash 버전 2 이상을 사용하는 경우 host이 아니라 hosts이 아닙니다.

Cf로 documentation

호스트
값 형 어레이
기본값
원격 인스턴스를 호스트 (들)을 설정 [ "127.0.0.1"]이다.

+0

그래도 작동합니다. 하나의 질문이지만, 설명서에 언급되어 있다면 configtest가 왜 'Configuration OK'를 보여 줬는가? –

+0

@KeshavAgarwal 그것은 추측이지만 configtest는 구성 구문이 올바른지 만 필터/출력/입력의 구성 옵션이 맞는지 확인하지 않습니다. – baudsp

+0

좋습니다, 감사합니다! :디 –

관련 문제