最近、当ブログのアクセスログを格納するのに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]が利用されるようです。