500GBまで無料で使えるTreasure Dataをtd-agentから利用する際のテーブルの指定方法


最近、当ブログのアクセスログを格納するのにtd-agent -> mongodbというのを先日に設定しました。現在はmongodbに入れているだけなんですが、td-agentの開発を行なっているTreasure Dataが提供しているログの蓄積、解析を行うためのプラットフォームがとても簡単に利用できそうだったので使ってみました。実際に使ってみた感想としては、td-agentの設定さえ知っていれば会員登録から5分くらいで利用開始できる手軽さでした。

広告

導入から簡単な使い方についてはTreasure Dataのサイトにクイックスタートガイドがあるので、それが参考になります。

Quickstart Guide | Treasure Data

クイックスタートガイドに従ってテーブルを作成したので、いざtd-agentから使ってみようかと思い、td-agentの設定方法を探しているとどれもテーブルを自動作成する設定のものが多く、明示的にテーブルを指定する方法がなかなか見つからず、結局treasure-data/fluent-plugin-tdのソースを読んで見つけました。

結果、自前で作成したテーブルにapacheのアクセスログを格納する場合は下記のような設定になりました。

<source>
  type tail
  path /var/log/apache/fukata.org/access.log
  format apache
  tag fukata_org.access_logs
  pos_file /var/log/td-agent/fukata_org.apache_pos
</source>

<match fukata_org.apache_logs>
  type tdlog
  apikey [apikey]                # 発行したapikey

  auto_create_table false        # 明示的にfalseを指定しないとデフォルト trueになる
  database          fukata       # データベース名
  table             access_logs  # テーブル名
  flush_interval    300s
  use_ssl           true

  buffer_type file
  buffer_path /var/log/td-agent/buffer/td
</match>

明示的にテーブル名を指定しなかった場合はタグの*.[DATABASE].[TABLE]が利用されるようです。

関連記事