簡単な話ですが、めっちゃめちゃ久しぶりに触って完全に忘却の彼方だったので、備忘録のため残しておきます。
やってみた
1. td-agentインストール
今回はec2に入れたので、公式にあったコマンドを実行しました。
$ sudo curl -L https://toolbelt.treasuredata.com/sh/install-amazon2-td-agent3.sh | sh . .. ... .... ..... インストール: td-agent.x86_64 0:3.2.0-0.el2 依存性関連をインストールしました: avahi-libs.x86_64 0:0.6.31-19.amzn2 cups-client.x86_64 1:1.6.3-35.amzn2 cups-libs.x86_64 1:1.6.3-35.amzn2 m4.x86_64 0:1.4.16-10.amzn2.0.2 mailx.x86_64 0:12.5-19.amzn2 ncurses-compat-libs.x86_64 0:6.0-8.20170212.amzn2.1.2 patch.x86_64 0:2.7.1-10.amzn2.0.2 spax.x86_64 0:1.5.2-13.amzn2.0.1 system-lsb-core.x86_64 0:4.1-27.amzn2.3.5 system-lsb-submod-security.x86_64 0:4.1-27.amzn2.3.5 util-linux-user.x86_64 0:2.30.2-2.amzn2.0.4 完了しました! Installation completed. Happy Logging!
2. 確認
$ td-agent --version
td-agent 1.2.2
一応自動起動も行ってます。
$ sudo systemctl enable td-agent.service $ sudo systemctl start td-agent.service
3. pluginのインストール
$ sudo /opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-s3 Fetching: fluent-plugin-s3-1.1.7.gem (100%) Successfully installed fluent-plugin-s3-1.1.7 Parsing documentation for fluent-plugin-s3-1.1.7 Installing ri documentation for fluent-plugin-s3-1.1.7 Done installing documentation for fluent-plugin-s3 after 0 seconds 1 gem installed
4. 設定ファイル記載
公式の設定をほぼほぼ使ってます。
# nginx(access.log) <source> @type tail path /var/log/nginx/access.log format nginx tag nginx.access pos_file /var/log/nginx/access.log.pos </source> # nginx(error.log) <source> @type tail path /var/log/nginx/error.log tag nginx.error pos_file /var/log/nginx/error.log.pos format multiline format_firstline /^\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[\w+\] (?<pid>\d+).(?<tid>\d+): / format1 /^(?<time>\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}) \[(?<log_level>\w+)\] (?<pid>\d+).(?<tid>\d+): (?<message>.*)/ multiline_flush_interval 3s </source> # upload(S3) <match nginx.**> @type s3 aws_key_id xxxxxxxxxxxxx aws_sec_key zzzzzzzzzzzzzzzzzzz s3_bucket nginx-logs s3_region ap-northeast-1 path ${tag}/ s3_object_key_format %{path}%{time_slice}_%{index}.%{file_extension} <buffer tag,time> @type file path /var/log/td-agent/s3 timekey 3600 timekey_wait 10m timekey 60 timekey_wait 60 chunk_limit_size 256m </buffer> </match>
5. 再起動
$ sudo systemctl restart td-agent
これで完成です。
こんな感じでアクセスログ上がってます。
終わりに
めちゃめちゃ久しぶりに触ったので、完全に忘れてました。
S3にあげたログをredshiftで拾ってそれをmetabaseで可視化するのが目標なので、とりあえずはここまでにしておきます。