Karthikeyan
Karthikeyan

Reputation: 2001

LogStash JDBC plugin is not executing once `stdout` is added

I want to debug my Logstash JDBC plugin execution so i added stdout { codec => rubydebug }. Once i added and i started to execute my logstash file, its not starting and it is throwing error.

without stdout { codec => rubydebug } this line.,its working fine.

Please find the longs below

[2018-06-26T11:29:29,988][ERROR][logstash.agent           ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"LogStash::ConfigurationError", :message=>"Expected one of #, => at line 25, column 10 (byte 883) after output {\n\t  elasticsearch {\n\t\thosts => [\"localhost:9200\"]\n\t\tindex => \"replacement_local100\"\n\t\tstdout ", :backtrace=>["D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/compiler.rb:42:in `compile_imperative'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/compiler.rb:50:in `compile_graph'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/compiler.rb:12:in `block in compile_sources'", "org/jruby/RubyArray.java:2486:in `map'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/compiler.rb:11:in `compile_sources'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/pipeline.rb:51:in `initialize'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/pipeline.rb:169:in `initialize'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/pipeline_action/create.rb:40:in `execute'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/agent.rb:315:in `block in converge_state'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/agent.rb:141:in `with_pipelines'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/agent.rb:312:in `block in converge_state'", "org/jruby/RubyArray.java:1734:in `each'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/agent.rb:299:in `converge_state'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/agent.rb:166:in `block in converge_state_and_update'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/agent.rb:141:in `with_pipelines'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/agent.rb:164:in `converge_state_and_update'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/agent.rb:90:in `execute'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/logstash-core/lib/logstash/runner.rb:348:in `block in execute'", "D:/1SearchEngine/logstash-6.2.4/logstash-6.2.4/vendor/bundle/jruby/2.3.0/gems/stud-0.0.23/lib/stud/task.rb:24:in `block in initialize'"]}

Please find my logstash config file.

input {
  jdbc {
    jdbc_driver_library => "D:\1SearchEngine\data\ojdbc8.jar"
    jdbc_driver_class => "Java::oracle.jdbc.OracleDriver"
    jdbc_connection_string => "jdbc:oracle:thin:@localhost:1525/mydb"       
    jdbc_user => "user"
    jdbc_password => "aug2012"
    jdbc_fetch_size => "50000"
    statement => "select * from product"    
    }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "replacement_local100"
    stdout { codec => rubydebug }
  }
}

Am using logstash 6.2.4 version

Upvotes: 1

Views: 254

Answers (1)

Val
Val

Reputation: 217314

You've put the stdout output at the wrong place. See below:

output {
  stdout { codec => rubydebug }          <--- it must be here
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "replacement_local100"
  }
}

Upvotes: 3

Related Questions