logstash-plugins / logstash-output-sqs

Apache License 2.0
4 stars 22 forks source link

Could not output to FIFO sqs #24

Open chhuang0123 opened 7 years ago

chhuang0123 commented 7 years ago

For project requirement, we create a new FIFO SQS to grantee no duplicate issue. SO, we add additional config to separate two SQSs (Standard and FIFO). After restarting logstash-shipper, we could see log records are inserted in Standard SQS. However, there are not any records in FIFO SQS. Additional, we get a lot of error messages in our log files.

chhuang0123 commented 7 years ago

We encounter the same error message on logstash-output-sqs-4.0.0 with ElasticSearch 5/5.2.1/5.4

toddprater commented 7 years ago

I have this problem as well. It looks like the aws-sdk needs to be updated to at least 2.6.24 according to this comment on an issue in the aws-sdk-ruby repo, which was when they added support for the message group ID (which is required for FIFO queues.) I also see that it may not be a completely straightforward fix since the dependency seems to be defined in logstash-mixin-aws and so may affect quite a few plugins.

hvdnew commented 5 years ago

I have following library versions -

  1. Logstash - 6.6
  2. jRuby 2.3.0
  3. AWS SDK - 2.11.202

I still get this error. @toddprater do you happen to know anything about this? My output config looks like this - sqs { queue => "_sqs_queue_" region => "_aws_region_" codec => "json" batch_events => 10 proxy_uri => "https://proxy:3128/" }

[2019-02-18T13:11:21,904][FATAL][logstash.runner ] An unexpected error occurred! {:error=>#, :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/aws-sdk-core-2.11.202/lib/seahorse/client/plugins/raise_response_errors.rb:15:in call'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/aws-sdk-core-2.11.202/lib/aws-sdk-core/plugins/jsonvalue_converter.rb:20:incall'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/aws-sdk-core-2.11.202/lib/aws-sdk-core/plugins/idempotency_token.rb:18:in call'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/aws-sdk-core-2.11.202/lib/aws-sdk-core/plugins/param_converter.rb:20:incall'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/aws-sdk-core-2.11.202/lib/seahorse/client/plugins/response_target.rb:21:in call'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/aws-sdk-core-2.11.202/lib/seahorse/client/request.rb:70:insend_request'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/aws-sdk-core-2.11.202/lib/seahorse/client/base.rb:207:in block in define_operation_methods'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-output-sqs-5.1.2/lib/logstash/outputs/sqs.rb:172:insend_message_batch'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-output-sqs-5.1.2/lib/logstash/outputs/sqs.rb:142:in block in multi_receive_encoded_batch'", "org/jruby/RubyArray.java:1734:ineach'", "org/jruby/RubyEnumerable.java:1067:in each_with_index'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-output-sqs-5.1.2/lib/logstash/outputs/sqs.rb:133:inmulti_receive_encoded_batch'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-output-sqs-5.1.2/lib/logstash/outputs/sqs.rb:120:in multi_receive_encoded'", "/usr/share/logstash/logstash-core/lib/logstash/outputs/base.rb:87:inmulti_receive'", "org/logstash/config/ir/compiler/OutputStrategyExt.java:114:in multi_receive'", "org/logstash/config/ir/compiler/AbstractOutputDelegatorExt.java:97:inmulti_receive'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:373:in block in output_batch'", "org/jruby/RubyHash.java:1343:ineach'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:372:in output_batch'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:324:inworker_loop'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:287:in `block in start_workers'"]}

AlexandreLine commented 5 years ago

It seems FIFO SQS are not supported, am I right ? I was able to setup an regular SQS and plugged into my logstash setup (as output/input) to monitor my waiting queue. Could you let us know when a FIFO SQS will be supported ?