[英]Logstash S3 Input NoMethodError
我是Logstash的新手,無法正常使用s3輸入。 如下所示,我一直Error: undefined method common_prefixes for {}:Hash
此Error: undefined method common_prefixes for {}:Hash
問題的Error: undefined method common_prefixes for {}:Hash
,我不知道為什么。
我正在使用來自網站1.4.2的最新Logstash。 我下載,解壓縮,使用下面的配置運行並得到以下列出的錯誤。
我缺少依賴嗎? 看起來Logstash捆綁了我需要的所有東西,包括aws-sdk。
我的配置如下所示:
input {
s3 {
bucket => "mybucket/withadirectory/"
credentials => ["id", "key" ]
codec => "json"
}
}
output {
stdout { codec => rubydebug }
}
鏟斗內容
s3cmd ls s3://mybucket/withdirectory/
2014-11-24 21:43 0 s3://mybucket/withdirectory/
2014-12-08 07:45 729126 s3://mybucket/withdirectory/SampleFileForTesting.gz
錯誤
Pipeline started {:level=>:info, :file=>"logstash/pipeline.rb", :line=>"78"}
A plugin had an unrecoverable error. Will restart this plugin.
Plugin: <LogStash::Inputs::S3 bucket=>"mybucket/withdirectory/", credentials=>["xyz", "zyx"], region_endpoint=>"us-west-2">
Error: undefined method `common_prefixes' for {}:Hash
Exception: NoMethodError
Stack: /home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/data.rb:101:in `method_missing'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/data.rb:121:in `method_missing'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/response.rb:184:in `method_missing'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/s3/prefix_and_delimiter_collection.rb:31:in `each_member_in_page'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/s3/object_collection.rb:288:in `each_member_in_page'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/s3/paginated_collection.rb:31:in `_each_item'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/collection/with_limit_and_next_token.rb:54:in `_each_batch'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/collection.rb:80:in `each_batch'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/core/collection.rb:47:in `each'
/home/test/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/aws-sdk-1.35.0/lib/aws/s3/object_collection.rb:282:in `each'
/home/test/logstash-1.4.2/lib/logstash/inputs/s3.rb:168:in `list_new'
/home/test/logstash-1.4.2/lib/logstash/inputs/s3.rb:150:in `process_new'
/home/test/logstash-1.4.2/lib/logstash/inputs/s3.rb:137:in `run'
org/jruby/RubyKernel.java:1521:in `loop'
/home/test/logstash-1.4.2/lib/logstash/inputs/s3.rb:136:in `run'
/home/test/logstash-1.4.2/lib/logstash/pipeline.rb:163:in `inputworker'
/home/test/logstash-1.4.2/lib/logstash/pipeline.rb:157:in `start_input' {:level=>:error, :file=>"logstash/pipeline.rb", :line=>"168"}
我在輸出插件中有類似的問題,s3插件中存在一個json格式的錯誤。 https://logstash.jira.com/browse/LOGSTASH-1643
我改為1.5.0,一切正常。 不確定輸入插件是否存在相同的問題,您可以將編解碼器更改為Plain或切換到1.5.0進行嘗試。
祝你好運
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.