I've installed that latest version of Logstash (at the time of writing 7.5.0), and attempting to use the RabbitMQ output within the pipeline. When I start logstash, it connects to RabbitMQ as seen in the logs but receive the following errors in the logs:
[2019-12-08T23:47:35,154][ERROR][logstash.javapipeline ][main] Pipeline aborted due to error {:pipeline_id=>"main", :exception=>#<NoMethodError: undefined method `on_recovery_started' for #<Java::ComRabbitmqClientImpl::AMQConnection:0x5d02ddfd>>, :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/march_hare-4.1.1-java/lib/march_hare/session.rb:430:in `method_missing'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-integration-rabbitmq-7.0.0-java/lib/logstash/outputs/rabbitmq.rb:121:in `block in back_pressure_provider_for_connection'", "org/jruby/RubyKernel.java:1885:in `tap'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-integration-rabbitmq-7.0.0-java/lib/logstash/outputs/rabbitmq.rb:114:in `back_pressure_provider_for_connection'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-integration-rabbitmq-7.0.0-java/lib/logstash/outputs/rabbitmq.rb:55:in `register'", "org/logstash/config/ir/compiler/OutputStrategyExt.java:106:in `register'", "org/logstash/config/ir/compiler/AbstractOutputDelegatorExt.java:48:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:199:in `block in register_plugins'", "org/jruby/RubyArray.java:1800:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:198:in `register_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:474:in `maybe_setup_out_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:211:in `start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:153:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:108:in `block in start'"], "pipeline.sources"=>["/etc/logstash/conf.d/000-inputs.conf", "/etc/logstash/conf.d/555-filter.conf", "/etc/logstash/conf.d/999-outputs.conf"], :thread=>"#<Thread:0x3d03ffa8 run>"}
The error doesn't give much insight that I can see.
The pipeline sources are very basic:
input {
beats {
port => 5044
tags => [ "beats" ]
}
}
filter {
mutate {
add_tag => ["1006"]
}
}
output {
rabbitmq {
key => "key"
exchange => "exchange"
exchange_type => "direct"
host => "hostname"
user => "user"
password => "password"
port => 5671
durable => true
persistent => true
ssl => true
ssl_certificate_path => "/path/to/ca/cert.p12"
ssl_certificate_password => "ca_password"
}
}
I'm wondering if it has anything to do with the integration plugins with that was recently released (blog post)
Any ideas?
Cheers,
Kev