Fluentd(td-agent) ファイルとS3にログを送信

matchで複数のアウトプットソースに保存したい時がある。

その場合はcopyプラグインを利用すると複数のアウトプットを指定できる。
今回の例ではファイルに書き出しつつ、1時間ごとにS3にApacheログファイルを送信している。
time_slice_format %Y%m%d_%H_apache.logがその設定であり、サイズがあふれない限り、このファイル名単位でS3に送信される。下記例では、年月日_時間_apache.logとなっていて、一時間単位でファイルをまとめてS3に送信する。time_slace_waitがその時間が終わったときに何分待つかという設定値だが、デフォルトは10分なので毎時10分過ぎにS3に送信される。
S3に送信される内容はfluentdのjson形式のファイルのようだ。

# Apache log
<source>
  type tail
  format apache
  path /var/log/httpd/blog_access_log
  tag apache.access
  pos_file /tmp/fluentd-apache.pos
</source>
<match apache.access>
  type copy
  <store>
    type file
    path /var/tmp/apache.log
  </store>
  <store>
        type s3
        buffer_path /var/tmp/fluentd_s3
        buffer_chunk_limit 100m    #1chunkに保存できるデータサイズ上限
        buffer_queue_limit 3      #1queueに保存できるchunk数の上限
        retry_wait 30s   #再送を実行するまでの待ち時間
        retry_limit 5    #再送実施回数
        aws_key_id "PUT YOUR AWS_KEY_ID"
        aws_sec_key "PUT YOUR AWS KEY"
        s3_region ap-northeast-1
        s3_bucket バケット名
        path logs/
        #時間単位でログファイルを生成
        time_slice_format %Y%m%d_%H_apache.log
        # デフォルトは10分待ってからアップする。
#        time_slice_wait 1m
  </store>
</match>
カテゴリー: Bigdata タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.