5

I'm trying to install docker-elk stack using docker-compose, elastic search and kibana are working fine, but my logstash is not connecting to elastic search and throwing error shown below, I'm installing this for first time so doesn't have much knowledge about it.

logstash-5-6          | [2017-11-26T06:09:06,455][ERROR][logstash.outputs.elasticsearch] Failed to install template. {:message=>"Template file '' could not be found!", :class=>"ArgumentError", :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-7.4.2-java/lib/logstash/outputs/elasticsearch/template_manager.rb:37:in `read_template_file'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-7.4.2-java/lib/logstash/outputs/elasticsearch/template_manager.rb:23:in `get_template'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-7.4.2-java/lib/logstash/outputs/elasticsearch/template_manager.rb:7:in `install_template'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-7.4.2-java/lib/logstash/outputs/elasticsearch/common.rb:58:in `install_template'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-7.4.2-java/lib/logstash/outputs/elasticsearch/common.rb:25:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/output_delegator_strategies/shared.rb:9:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/output_delegator.rb:43:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:290:in `register_plugin'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:301:in `register_plugins'", "org/jruby/RubyArray.java:1613:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:301:in `register_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:310:in `start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:235:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:398:in `start_pipeline'"]}
logstash-5-6          | [2017-11-26T06:09:06,455][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["//elasticsearch-5-6:9201"]}

Logstash.conf

input {
    tcp {
        port => 5001
    }
}

## Add your filters / logstash plugins configuration here

output {
    elasticsearch {
        hosts => "localhost:9201"
    }
}
Sandeep Kanabar
  • 1,264
  • 17
  • 33
arjunsv3691
  • 791
  • 6
  • 19
  • Can you post the logstash pipeline cfg ( filter and output ) along with the question – Ram Nov 27 '17 at 02:50
  • @Ram ok sure I will edit the post and will add those – arjunsv3691 Nov 27 '17 at 17:55
  • @Ram I have added configuration can you check it – arjunsv3691 Nov 27 '17 at 18:01
  • The logstash on startup will try to install a default index template if none is present, The Index template will be available in the path ( if your logstah is installed in /opt ) Then the path will be /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-x.x-java/lib/logstash/outputs/elasticsearch/ check for the file elasticsearch-template-esXx.json ( where X is the elasticsearch version) is present, if not the logstash is not installed properly – Ram Nov 28 '17 at 12:06

1 Answers1

2

providing the custom template and updating its path in output plugin solved the issue.

arjunsv3691
  • 791
  • 6
  • 19