giraffi/fluent-plugin-amqp

error communicating to ActiveMQ using AMQP 1.0

Closed this issue · 3 comments

I try to communicate with from Fluentd-0.12.27 (with fluent-plugin-amqp 0.9.3) to ActiveMQ 5.11 using AMQP 1.0 but I got an exception.

Here is the complete stacktrace :

2016-12-20 15:47:18 +0100 [info]: reading config file path="/fluentd/etc/fluent.conf"
2016-12-20 15:47:18 +0100 [info]: starting fluentd-0.12.27
2016-12-20 15:47:18 +0100 [info]: gem 'fluent-plugin-amqp' version '0.9.3'
2016-12-20 15:47:18 +0100 [info]: gem 'fluentd' version '0.12.27'
2016-12-20 15:47:18 +0100 [info]: adding match pattern="**" type="stdout"
2016-12-20 15:47:18 +0100 [info]: adding source type="amqp"
2016-12-20 15:47:18 +0100 [info]: using configuration file: <ROOT>
  <source>
    type amqp
    host myhost.be
    port 61616
    user system
    pass xxxxxx
    queue security.messages
    format json
  </source>
  <match **>
    type stdout
  </match>
</ROOT>
2016-12-20 15:47:18 +0100 [error]: unexpected error error_class=AMQ::Protocol::FrameTypeError error=#<AMQ::Protocol::FrameTypeError: Must be one of [:method, :headers, :body, :heartbeat]>
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/amq-protocol-1.9.2/lib/amq/protocol/frame.rb:64:in `decode_header'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/bunny-1.7.1/lib/bunny/transport.rb:245:in `read_next_frame'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/bunny-1.7.1/lib/bunny/session.rb:952:in `init_connection'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/bunny-1.7.1/lib/bunny/session.rb:280:in `start'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluent-plugin-amqp-0.9.3/lib/fluent/plugin/in_amqp.rb:79:in `start'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/root_agent.rb:115:in `block in start'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/root_agent.rb:114:in `each'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/root_agent.rb:114:in `start'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/engine.rb:237:in `start'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/engine.rb:187:in `run'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/supervisor.rb:570:in `run_engine'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/supervisor.rb:162:in `block in start'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/supervisor.rb:366:in `main_process'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/supervisor.rb:339:in `block in supervise'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/supervisor.rb:338:in `fork'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/supervisor.rb:338:in `supervise'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/supervisor.rb:156:in `start'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/lib/fluent/command/fluentd.rb:173:in `<top (required)>'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
  2016-12-20 15:47:18 +0100 [error]: /usr/lib/ruby/gems/2.3.0/gems/fluentd-0.12.27/bin/fluentd:5:in `<top (required)>'
  2016-12-20 15:47:18 +0100 [error]: /usr/bin/fluentd:23:in `load'
  2016-12-20 15:47:18 +0100 [error]: /usr/bin/fluentd:23:in `<main>'
2016-12-20 15:47:18 +0100 [info]: shutting down fluentd
2016-12-20 15:47:18 +0100 [info]: shutting down output type="stdout" plugin_id="object:3f95e0385b34"
2016-12-20 15:47:18 +0100 [info]: process finished code=0
2016-12-20 15:47:18 +0100 [warn]: process died within 1 second. exit.

Googleling a bit, I saw that ruby amq-protocol-1.9.2 doesn't support AMQP 1.0 (but only 0.9.1).
Do you confirm the compliance problem with AMQP 1.0 ? Or maybe my config is the problem ?

Kr

This plugin only supports AMQP 0.9.1. Unfortunately, AMQP 0.9.1 and 1.0 are very different protocols, and it doesn't look like there's a plugin for Fluentd that offers AMQP 1.0 support. If your ActiveMQ setup is configured to support MQTT, there's a Fluentd plugin for that, so that might be what you should look into.

Thanks @elyscape 😃

@nico2610 sorry for delay. I'll close it, is it okay?

Hello, thanks @elyscape for the informations.
@sawanoboly I close the issue.