Elasticsearch
Logstash

LogstashでS3にoutputするときに日付で階層を作っておきたい

結論

prefixのところで指定できる!

input {
  stdin {
  }
}

filter {
}

output {
   s3 {
     access_key_id => "**********************"
     secret_access_key => "*************************"
     region => "ap-northeast-1"
     bucket => "hoge.bar.piyo.fuga"
     prefix => "%{+YYYY}/%{+MM}/%{+DD}"
     size_file => 2048
     time_file => 10
     codec => "plain"
     canned_acl => "private"
   }
}

prefixのところで、%{+YYYY}, %{+MM}などを使って指定してやるとよい。
@timestampのところの値が取れていると思う。

HHやらDDやら、書式については、以下のページが参考になる。
https://www.elastic.co/guide/en/logstash/current/plugins-filters-date.html

%{+HH}を指定して時刻の部分も付与してやってみた例がこちら。

S3 Management Console.png