Fluentdでcopyとforestを利用するときの書き方

以前、FluentdからBigQueryへのログ送信をした時は「forest – copy – bigquery_insert」の順で書いてしまったのですが、copyでBigQuery以外にも出力したい時などにforestが余計だなと感じました。

これまでの書き方

<match bqlog.*.*>
  @type forest
  subtype copy

  <case bqlog.*.*>
    <store>
      @type bigquery_insert
      ~~BigQueryの出力設定~~
    </store>
  </case>

</match>

「copy – forest – bigquery_insert」の書き方であればFluentd標準のタグプレースホルダーが使えます。

新しい書き方

<match bqlog.*.*>
  @type copy

  <store>
    @type forest
    subtype bigquery_insert

    <template>
      ~~BigQueryの出力設定~~
    </template>
  </store>

  <store>
    ~~他の出力設定~~
  </store>

</match>

この書き方のほうがスマートで使いやすいと思います。