Search code examples
rubyelasticsearchlogstashelastic-stack

Why is this Logstash JMS Plugin giving "Error Initializing"?


I've downloaded and installed the JMS Plugin but unable to run it with logstash. I'm getting this error message:

[2023-05-23T14:00:56,868][ERROR][logstash.javapipeline    ][main] Pipeline error {:pipeline_id=>"main", :exception=>#<NoMethodError: undefined method `each_with_object' for nil:NilClass>, :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.6.0/gems/logstash-input-jms-3.2.2-java/lib/logstash/inputs/jms.rb:183:in `obfuscate_jms_config'",
"/usr/share/logstash/vendor/bundle/jruby/2.6.0/gems/logstash-input-jms-3.2.2-java/lib/logstash/inputs/jms.rb:179:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:237:in `block in register_plugins'",
"org/jruby/RubyArray.java:1865:in `each'",
"/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:236:in `register_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:395:in `start_inputs'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:320:in `start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:194:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:146:in `block in start'"], "pipeline.sources"=>["/usr/share/logstash/config/jms.conf"], :thread=>"#<Thread:0x70132530@/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:134 run>"}

Any idea what's missing? Have no idea what's going on here so I appreciate any help I can get. Thanks in advance!

Tried initializing the plugin after installation, instead of it starting it stops with an exception message.


Solution

  • The jms plugin loads the jms_config from either yaml, jndi, or the plugin options. The functions that load from JNDI or options always return a hash, so you must be loading from a YAML file that logstash is unable to read.