目次
1. はじめに
2. .ebextension
内にtd-agent3の設定ファイルを作る
3. .ebextension
内にtd-agent3のインストールファイルを作る
4. デプロイ
1. はじめに
環境
fluentd-v1.0(td-agent3)
Amazon Linux 1
2. .ebextension
でtd-agent3の設定ファイルを作る
Elastic Beanstalk以下(eb)では、.ebextension
という設定ファイルを追加することによって環境設定が可能です。
- 作成したファイルの拡張子は
.config
とし、YAMLもしくはJSON形式にします。 - 設定ファイルはアルファベット順に実行されます。
(設定ファイル読み込み例)
以下のように設定ファイルを作成した場合
.ebextensions/01td-agent3.config
が先に読み込まれます。
.ebextensions/01td-agent3.config
.ebextensions/02td-agent-install.config
(設定例 01-td-agent.config)
設定の中身はバージョンによって書き方が異なるので注意が必要ですので、使用されるtd-agentのバージョン確認することをおすすめします。
例えばbufferプラグインでも書き方が全く異なります。
buffer_type file
<buffer>
@type file
</buffer>
(Amazon Linuxのバージョン確認方法)
使用したいebに接続した状態で$ cat /etc/system-release
と入力すると、
=> Amazon Linux AMI release 2017.09
のように使用してるバージョン確認ができます。
下記は01td-agent.config
の設定例です。
※設定内容は適当ですので、実際に設定したい内容に書き換えてください。
files:
"/etc/td-agent/td-agent.conf":
owner: root
group: root
content: |
<match pattern1>
<buffer>
@type file
path /var/log/fluent/s3
</buffer>
</match>
<match pattern>
@type s3
aws_key_id YOUR_AWS_KEY_ID
aws_sec_key YOUR_AWS_SECRET_KEY
s3_bucket YOUR_S3_BUCKET_NAME
s3_region YOUR_S3_BUCKET_REGION
path logs/
<buffer tag,time>
@type file
path /var/log/fluent/s3
timekey 3600
timekey_wait 1m
timekey_use_utc true
chunk_limit_size 256m
</buffer>
</match>
3. .ebextension
でtd-agent3のインストールファイルを作る
# errors get logged to /var/log/cfn-init.log. See Also /var/log/eb-tools.log
commands:
01-command:
command: echo 'Defaults:root !requiretty' >> /etc/sudoers
02-command:
command: curl -L https://toolbelt.treasuredata.com/sh/install-amazon1-td-agent3.sh | sh
03-command:
command: /etc/init.d/td-agent restart
インストールするURLはご自身の環境に合わせてください。↑はAmazon Linux 1の場合です。
4. デプロイ
eb環境がない方はeb init
でEB上でアプリケーションを作成し、
eb create
で環境を構築してください。この辺の説明は省きます。
すでにある方はeb deploy
で設定内容反映させてください。
設定がおかしかったりすると、deployに失敗すると思うので原因はログで確認してください。
eb ssh
で接続したあと起動確認しましょう。
バージョン確認
$ rpm -q td-agent
$ td-agent --version
起動、停止、再起動、ステータス
$ sudo /etc/init.d/td-agent start
$ sudo /etc/init.d/td-agent stop
$ sudo /etc/init.d/td-agent restart
$ sudo /etc/init.d/td-agent status
コマンドライン上でS3プラグインがどんな設定項目を持っているか確認
td-agent --show-plugin-config output:s3
参考
Installing Fluentd Using rpm Package
設定ファイル (.ebextensions) による高度な環境のカスタマイズ
AWS Elastic Beanstalk の詳細な環境設定 » 設定オプション