0

ドッキングされたELKスタック内にセットアップされたLogstashから[S3バケットに格納された] AWS ELBログを解析します。AWS ELBログを解析するためのLogstashの設定方法は?

クローンthisレポ。 Hereはドキュメントです。

私はこのような私のlogstashの設定ファイルを追加しました[および他のすべてをコメントアウト]:

# AWS ELB configuration file ADD ./aws_elb_logs.conf /etc/logstash/conf.d/aws_elb_logs.conf

設定ファイルは以下の通りです:

input { 
    s3 { 
     # Logging_user AWS creds 
     access_key_id  => "fjnsdfjnsdjfnjsdn" 
     secret_access_key => "asdfsdfsdfsdfsdfsdfsdfsd" 

     bucket   => "elb-access-logs" 

     region   => "us-west-2" 

     # keep track of the last processed file 
     sincedb_path => "./last-s3-file" 
     codec   => "json" 
     type   => "elb" 
    } 
} 

filter { 
    if [type] == "elb" { 
     grok { 
      match => [ 'message', '%{TIMESTAMP_ISO8601:timestamp} %{NOTSPACE:loadbalancer} %{IP:client_ip}:%{NUMBER:client_port:int} (?:%{IP:backend_ip}:%{NUMBER:backend_port:int}|-) %{NUMBER:request_processing_time:float} %{NUMBER:backend_processing_time:float} %{NUMBER:response_processing_time:float} (?:%{NUMBER:elb_status_code:int}|-) (?:%{NUMBER:backend_status_code:int}|-) %{NUMBER:received_bytes:int} %{NUMBER:sent_bytes:int} "(?:%{WORD:verb}|-) (?:%{GREEDYDATA:request}|-) (?:HTTP/%{NUMBER:httpversion}|-()?)" "%{DATA:userAgent}"(%{NOTSPACE:ssl_cipher} %{NOTSPACE:ssl_protocol})?' ] 
     } 
     grok { 
      match => [ "request", "%{URIPROTO:http_protocol}" ] 
     } 
     geoip { 
      source => "client_ip" 
      target => "geoip" 
      add_tag => [ "geoip" ] 
     } 
     useragent { 
      source => "userAgent" 
     } 
     date { 
      match => ["timestamp", "ISO8601"] 
     } 
    } 
} 

output { 
    elasticsearch { 
     hosts => localhost 
     port => "9200" 
     index => "logstash-%{+YYYY.MM.dd}" 
    } 
    stdout { 
     debug => true 
    } 
} 

私はコンテナを作成すると、 Logstashから次のエラーログが取得されます。

==> /var/log/logstash/logstash.log <== 
{:timestamp=>"2016-10-18T13:04:40.798000+0000", :message=>"Pipeline aborted due to error", :exception=>"LogStash::ConfigurationError", :backtrace=>["/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/config/mixin.rb:88:in `config_init'", "org/jruby/RubyHash.java:1342:in `each'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/config/mixin.rb:72:in `config_init'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/outputs/base.rb:79:in `initialize'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/output_delegator.rb:74:in `register'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:181:in `start_workers'", "org/jruby/RubyArray.java:1613:in `each'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:181:in `start_workers'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:136:in `run'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/agent.rb:491:in `start_pipeline'"], :level=>:error} 
{:timestamp=>"2016-10-18T13:04:43.801000+0000", :message=>"stopping pipeline", :id=>"main"} 

私は何が起こっているのか/間違っているのか理解できません!

任意のポインタが歓迎されるであろう。..

EDIT:

は今、このあります: ==> /var/log/logstash/logstash.log <== {:timestamp=>"2016-10-18T14:26:50.492000+0000", :message=>"A plugin had an unrecoverable error. Will restart this plugin.\n Plugin: <LogStash::Inputs::S3 access_key_id=>\"gsfgdfgdfgdfgdfg\", secret_access_key=>\"dsfgsdfgsdgsdfgsdfg\", bucket=>\"elb-access-logs-dr\", region=>\"us-west-2\", sincedb_path=>\"./last-s3-file\", codec=><LogStash::Codecs::JSON charset=>\"UTF-8\">, type=>\"elb\", use_ssl=>true, delete=>false, interval=>60, temporary_directory=>\"/opt/logstash/logstash\">\n Error: The request signature we calculated does not match the signature you provided. Check your key and signing method.", :level=>:error}

+1

[あなたの以前の](http://stackoverflow.com/questions/40087769/how-to-send-aws-elb-logs-to-an-elk-stack-inside-docker)の質問は、依然として関連しているのですかこれはそれを置き換えますか? – R0MANARMY

+1

これはより具体的に置き換えられます。ありがとう –

+0

クール、他のものを削除してもよろしいですか? – R0MANARMY

答えて

1

あなたは、のためにあなたの設定をlogstashバージョン> 2と容器の一使用している場合elasticsearch出力プラグインは、エラーが発生している場所です。 logstashバージョン2では、構成オプションportが削除されました。ポートはhostsオプション(cf doc)のホストで構成されています。

+0

ありがとう、それはいくつかの進歩を遂げました!今、別のものがある:\。上記の編集を確認してください –

+0

@KostasDemiris私は編集を見ました。私はs3バケットとs3プラグインでの経験は全くないので、あなたが提供したログに何が入っているのか、クレデンシャルに問題があるとしか言えません。この問題の助けが必要な場合は、別の質問 – baudsp

+0

を尋ねる必要があります。私はそれを見つけた。参考のためhttp://stackoverflow.com/a/20720402/1163667。 もう一度ありがとうございます。そんなに卑劣な者だった;] –

関連する問題