fluentd v1.0で指定した時間でログをs3に送信する方法です。
ググると v0.10の記事が多く flush_interval でハマりました。
設定内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<source> @type tail format none path /var/log/httpd/access.log pos_file /var/log/httpd/pos/access.log tag apache.access </source> <source> @type tail format none path /var/log/httpd/error.log pos_file /var/log/httpd/pos/error.log tag apache.error </source> <match *.**> @type forest subtype s3 <template> s3_bucket バケット名 s3_region リージョン名 path バケット内の保存先パス buffer_path /var/log/td-agent/buffer/${tag} time_slice_format %Y/%m/%d/%H/%Y%m%d%H_${tag_parts[0]}_${tag_parts[1]}_${hostname} retry_wait 10s retry_limit 5 <buffer tag,time> timekey 5m timekey_wait 1m </buffer> </template> </match> |
ポイント v1.0では<buffer>を使用します
fluentdの公式サイトに記載がありますが、 v1.0では bufferに関することは bufferタグで括ります。
<buffer>内の tag,timeですが
バッファリングするchunkキーで、今回はtagとtimeを使用しているため tag,timeとしています。
指定は、time_slice_formatで行なっており、以下の指定では tag(tag_parts[0]、tag_parts[1])、time(%Y/%m/%d/%H/%Y%m%d%H)を使用しているため tag, timeと指定しています。
%Y/%m/%d/%H/%Y%m%d%H_${tag_parts[0]}_${tag_parts[1]}_${hostname}
実際に出力される間隔は
timekey 5m
で指定しており、5mなので5分ごとにs3にログが送信されます。