2014-12-09 5 views
1

Я новичок в logstash и не могу получить вход s3 для работы. Как вы можете видеть ниже, я продолжаю сталкиваться с этой проблемой Error: undefined method common_prefixes for {}:Hash, и я понятия не имею, почему.Logstash S3 Input NoMethodError

Я использую последнюю версию Logstash с сайта, 1.4.2. Я загружаю, распаковываю, запускаю с приведенной ниже конфигурацией и получаю ошибку, указанную ниже.

У меня отсутствует зависимость? Похоже, что 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"} 

ответ

1

У меня есть аналогичные про в выходном плагине есть ошибка в s3-плагине для формата json. https://logstash.jira.com/browse/LOGSTASH-1643

И я перехожу к 1.5.0, и все работает нормально. Не уверен, что для входного плагина есть такая же проблема, вы можете изменить кодек на обычный или переключиться на 1.5.0, чтобы попробовать.

Удача ~

Смежные вопросы