やりたいこと
やりたいこと…
- fluent-plugin-s3 を使っていてバケット以下でディレクトリを作って更にその配下に日付毎のログを保存したい
以下のような感じでログを保存したいと思います。
${BUCKET}/logs/YYYYMMDD/YYYYMMDD-H.gz
さて、どうするか
必要なもの
- Amazon S3
- fluent-plugin-s3
fluent-plugin-s3 のインストール方法とか割愛。
td-agent.conf
以下のように書きました。
type s3 aws_key_id AKxxxxxxxxxxxxxxxxxxxxxxx aws_sec_key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx s3_bucket ${BUCKET} s3_endpoint s3-ap-northeast-1.amazonaws.com ## s3_object_key_format %{path}%{time_slice}/%{index}.%{file_extension} path logs/ buffer_path /var/log/td-agent/s3 time_slice_format %Y%m%d/%Y%m%d-%H.log ##time_slice_format %Y%m%d-%H%M/%Y%m%d-%H-%M-%S.log time_slice_wait 10m
time_slice_format を %Y%m%d-%H%M/%Y%m%d-%H-%M-%S.log な感じで書くと…
${BUCKET}/logs/YYYYMMDD-HM/YYYYMMDD-H-M-S.log_0.gz
って感じで S3 に保存されます。但し、かなり短い間隔で S3 に put することになるのでお財布と相談しましょう。
ちなみに…
上記の設定の場合にはバッファのファイル名は以下のようになります。
s3.20140812%2F20140812-10.log.b50064cb9581dfbcb.log
fluent-plugin-forest を使えばこのバッファファイル名も動的に生成出来るのかしら…。とりあえず日付毎にディレクトリ切れたのでまた今度考えることにします。
助かりました
まじで。
元記事は、こちらです。