LoginSignup
1
2

More than 5 years have passed since last update.

td-agent3(Fluentd v1.0)でS3に「LTSV形式のログ」を保存する。2018-03-16

Posted at

内容

td-agent3(Fluentd v1.0)でS3にログを保存する では td-agent3Fluentd v1.0)で Apache のログを、 S3 に保存しました
今回は、「LTSV形式ログ」を保存する設定について記します

準備

td-agent3(Fluentd v1.0)でS3にログを保存する を一通り設定した状態にする

設定の例

LTSV形式のログについて

(例ということでかなりてきとーなものです)

  • /tmp/ltsv.log に出力される
  • ログのフォーマットは datetime:%Y-%m-%d %H:%M:%S<TAB>id:数値のID
    • 例: datetime:2018-03-05 07:48:33<TAB>id:697
    • $ printf "datetime:$(date "+%Y-%m-%d %H:%M:%S")\tid:$RANDOM\n" >> /tmp/ltsv.log で出力します

設定ファイル

参考: LTSV Parser Plugin

/etc/td-agent/td-agent.conf
# <source> の内容が本題
<source>
  @type tail
  path /tmp/ltsv.log
  tag ltsv.log
  pos_file /var/log/td-agent/ltsv-log.pos

  <parse>
    @type ltsv
  </parse>
</source>

# <match> についての詳細は割愛
<match ltsv.log>
  @type s3

  aws_key_id YOUR_AWS_KEY_ID
  aws_sec_key YOUR_AWS_SECRET_KEY
  s3_bucket YOUR_S3_BUCKET_NAME
  s3_region us-east-1
  path logs/${tag}/%Y-%m-%d/
  s3_object_key_format %{path}%{time_slice}_%{index}.%{file_extension}

  # if you want to use ${tag} or %Y/%m/%d/ like syntax in path / s3_object_key_format,
  # need to specify tag for ${tag} and time for %Y/%m/%d in <buffer> argument.

  <buffer tag,time>
    @type file
    path /var/log/td-agent/s3
    timekey 60
    timekey_wait 60
    chunk_limit_size 256m
  </buffer>
</match>

動作確認

以上の設定例で td-agent を起動してログ(/var/log/td-agent/td-agent.log)を確認します。
特に問題がなさそうであれば

$ while true ; do printf "datetime:$(date "+%Y-%m-%d %H:%M:%S")\tid:$RANDOM\n" >> /tmp/ltsv.log && sleep 10; done

などで「LTSV形式のログ」を出力して、S3にログがたまっていくか確認します。

ログデータの確認

S3に以下のようなテキストのログがたまっていきました

YOUR_S3_BUCKET_NAME/ltsv.log/2018-03-16/201803160439_0.gz
2018-03-16T04:39:32+00:00   ltsv.log    {"datetime":"2018-03-16 04:39:32","id":"8204"}
2018-03-16T04:39:42+00:00   ltsv.log    {"datetime":"2018-03-16 04:39:42","id":"13831"}
2018-03-16T04:39:52+00:00   ltsv.log    {"datetime":"2018-03-16 04:39:52","id":"14953"}

まとめ

  • 「LTSV形式のログ」を parse できました
  • td-agent3Fluentd v1.0)で S3 に「LTSV形式のログ」を保存できました
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2