Fluentdの使い方
このガイドでは、Analytics v2で使用されるユーザーの決定的なログをfluentdを介して送信する方法について説明します。
Fluentdのインストール¶
Note
- td-agentのバージョン1.xのインストールをお勧めします。.
- td-agentライブラリは各言語用に提供されています。 (https://docs.fluentd.org/language-bindings)
td-agentのインストール¶
- td-agentの設定ファイルを編集する
Fluentdのデフォルト設定¶
- ログファイル: ログファイルのデフォルトパスは
/var/log/td-agent
であり、td-agent.logファイルはサブフォルダにあります。 - イベント: fluentdにおけるイベントは、レコードとログを意味します。
- ソース:
- マッチ: それは
Fluentdプラグイン¶
- プラグインを確認してインストールする: プラグインのリストを確認した後に必要なプラグインをインストールしてください。 (デフォルトで提供されるプラグインには
tail
、forward
、stdout
などがありますが、forest
のような他のプラグインは別途インストールする必要があります。)
$ td-agent-gem list #プラグインのリストを確認
# インストール可能なプラグインは、フォーマットされた td-agent-gem install [インストールしたいプラグイン] を使用
$ td-agent-gem install fluent-plugin-forest # fluent-plugin-forest プラグインをインストール
- タグ: タグはイベントで構成される値であり、
<match>
セクションはタグと一致する値を処理します。
# タグの使用例
<source>
@type tail
tag ha2union.game.com2us # このタグをin_tailを使用して送信されたイベントに添付しました
path /var/log/sample.log
</source>
# ソースを通じて転送された入力イベントは、イベントタグにマッピングされたマッチタグに送信されます。
<match ha2union.game.com2us>
@type stdout
<match>
[入力プラグイン]¶
- in_tail: in_tailプラグインは、
tail
コマンドを使用してデータを読み取ります。
<source>
@type tail
path /var/log/com2us.log # ファイルのような読み取りパス
pos_file /var/log/fluent/com2us_posfile.log.pos # 最後の読み取り部分を記録
tag ha2union.game.com2us # イベントタグ。送信イベントにタグを付ける。
</source>
# pos_file: fluentdを再実行する際、最後の読み取り部分からファイルを処理します。
- in_forward: 一般的に、他のfluentdノードからデータを受信するために使用されます。
<source>
@type forward
port 24224 # 送信ポート ( デフォルト : 24224 )
bind 0.0.0.0 # 送信するバインドアドレス ( デフォルト : 0.0.0.0(すべてのアドレス))
</source>
[出力プラグイン]¶
Note
output\_stdout
: イベントログをstdout
でエクスポートし、主にデバッグに使用されます。
output\_forward
: 他のfluentdノードにイベントログを送信する際に使用します。
<match <i></i>>
@type forward
<server>
name com2us.fluentd1
host [Server1のIPまたは受信のためのドメイン]
port 24224
weight 50 # <server>セクションで負荷分散の重みを設定
</server>
<server>
name com2us.fluentd2
host [Server2のIPまたは受信のためのドメイン]
port 24224
weight 50 # <server>セクションで負荷分散の重みを設定
</server>
</match>
fluent-plugin-forest
: タグ名を使用してログファイルを保存することを可能にします。(以下のように設定することで、ログをローカルに保存できます。)
<store>
@type forest
subtype file
<template>
time_slice_format %Y%m%d%H
time_slice_wait 10s
path /com2us/log/td-agent/data/${tag}/${tag}.*.log
compress gz
format json
</template>
</store>
Fluentdの使用例¶
fluentdを使用すると、以下の方法でログを送信できます。詳細については、以下のリンクをクリックしてください。
設定を編集¶
td-agent.conf
コンテキストを確認してください
- td-agentを再起動する