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におけるイベントは、レコードとログを意味します。
- ソース: はさまざまな inputを受信することを可能にし、多くのプラグインは@ typeを使用することで利用できます。
- マッチ: それは経由で送信された inputイベントを処理します。
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を再起動する