Hello Logstash Community,
I'm looking for some help resolving a NameError
problem when trying to run the journald input plugin.
More specifically - I'm building a docker image for Logstash 5.5.1 and installing the journald
plugin using:
logstash-plugin install logstash-input-journald
which completes successfully:
Validating logstash-input-journald
Installing logstash-input-journald
Installation successful
I also verify that the plugin is correctly installed by listing plugins on a running container:
logstash-plugin list --verbose | grep journald
logstash-input-journald (2.0.1)
The issue I'm running into is that when the plugin is started, I receive the following error:
[LogStash::Runner] ERROR logstash.agent - Cannot create pipeline {:reason=>
"Couldn't find any input plugin named 'journald'. Are you sure this is correct?
Trying to load the journald input plugin resulted in this error: Problems loading
the requested plugin named journald of type input. Error: NameError NameError"}
Here is the more verbose error:
[LogStash::Runner] ERROR logstash.plugins.registry - Problems loading a plugin
with {:type=>"input", :name=>"journald", :path=>"logstash/inputs/journald",
:error_message=>"NameError", :error_class=>NameError, :error_backtrace=>
["/usr/share/logstash/logstash-core/lib/logstash/plugins/registry.rb:226:in
`namespace_lookup'", "/usr/share/logstash/logstash-core/lib/logstash/plugins/registry.rb:162:in
`legacy_lookup'", "/usr/share/logstash/logstash-core/lib/logstash/plugins/registry.rb:138:inbox_tray:
`lookup'", "/usr/share/logstash/logstash-core/lib/logstash/plugins/registry.rb:180:inbox_tray:
`lookup_pipeline_plugin'", "/usr/share/logstash/logstash-core/lib/logstash/plugin.rb:140:inbox_tray:
`lookup'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:100:inbox_tray:
`plugin'", "(eval):12:in `initialize'", "org/jruby/RubyKernel.java:1079:in `eval'",
"/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:72:in `initialize'",
"/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:156:in `initialize'",
"/usr/share/logstash/logstash-core/lib/logstash/agent.rb:286:in `create_pipeline'",
"/usr/share/logstash/logstash-core/lib/logstash/agent.rb:95:in `register_pipeline'",
"/usr/share/logstash/logstash-core/lib/logstash/runner.rb:314:in `execute'",
"/usr/share/logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:67:inbox_tray:
`run'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:209:in `run'",
"/usr/share/logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:132:inbox_tray:
`run'", "/usr/share/logstash/lib/bootstrap/environment.rb:71:in `(root)'"]}
For testing purposes I have simplified the journald plugin config as much as possible:
journald {
lowercase => true
path => "/var/log/journal"
seekto => "head"
thisboot => true
type => "systemd"
}
My apologies for the wall of text. One final comment I'd like to make is that this was working fine using the elastic docker image docker.elastic.co/logstash/logstash:5.5.0
but that image is too bloated and so I'm trying to reduce the size by starting with alpine:3.6
.
Does anyone know what's going on here and why it is that the plugin is throwing an error as if it is were not installed?