LoginSignup
3
6

More than 5 years have passed since last update.

Treasure Agent (td-agent)からTreasure Dataにデータを入れる

Last updated at Posted at 2014-10-19

トレジャーデータでは、クラウドサービスに継続的にデータをアップロードするためのデーモンとしてTreasure Agent(td-agent)を開発しました。td-agentの一部はFluentdとしてオープンソース化されており、様々な企業で使われています。

この記事では、td-agentを用いてトレジャーデータにデータをアップロードする方法を紹介します。こちらの3分ビデオチュートリアルでも実際の設定方法を見ることができます。

Step0: 事前準備

事前準備として、こちらのドキュメントに従ってNTPとファイルディスクリプタ最大数の設定を行って下さい。最悪の場合、ログの消失に繋がります。

Step1: td-agentのインストール

Mac / Linux向けのパッケージが提供されていますので、ダウンロードしてインストールします。

RHEL/CentOS 5,6
$ curl -L http://toolbelt.treasuredata.com/sh/install-redhat.sh | sh
Ubuntu 10.04,12.04
# 10.04 Lucid
$ curl -L http://toolbelt.treasuredata.com/sh/install-ubuntu-lucid.sh | sh
# 12.04 Precise
$ curl -L http://toolbelt.treasuredata.com/sh/install-ubuntu-precise.sh | sh
MacOS X 10.8,10.9
$ open 'http://packages.treasuredata.com/2/macosx/td-agent-2.0.3-0.dmg'

Step2: td-agent.confの編集

/etc/td-agent/td-agent.confを以下のように編集します。APIキーはトレジャーデータにサインアップしたあと、Webコンソールから取得します。Write Only APIキーを使うのに注意して下さい。

# HTTP input
<source>
  type http
  port 8888
</source>

# Treasure Data output
<match td.*.*>
  type tdlog
  endpoint api.treasuredata.com
  apikey YOUR_API_KEY
  auto_create_table
  buffer_type file
  buffer_path /var/log/td-agent/buffer/td
  use_ssl true
</match>

編集後、再起動を行います。

# Linux
$ sudo /etc/init.d/td-agent restart

# MacOS X
$ sudo launchctl unload /Library/LaunchDaemons/td-agent.plist
$ sudo launchctl load /Library/LaunchDaemons/td-agent.plist

Step3: データの投入

最後にデータを投入してみます。今回はHTTT POSTにてJSONをローカルのtd-agentに送信します。

$ curl -X POST -d 'json={"action":"login","user":2}' \
  http://localhost:8888/td.testdb.www_access

通常は5分に1回データのアップロードが行われます。以下のコマンドで強制的にバッファをフラッシュする事も可能です。

# Linux
$ kill -USR1 `cat /var/run/td-agent/td-agent.pid`

# MacOS X
$ sudo kill -USR1 `sudo launchctl list | grep td-agent | cut -f 1`

その後、Webコンソールのデータベースタブからデータが投入された事を確認できます。

まとめ

以上で完了です。何か問題が起こった場合は、/var/log/td-agent/td-agent.logを参照するか、support@treasure-data.comまで問い合わせて下さい。

HTTPの他にも各種言語からログをPOSTする事が出来ます。Java, Ruby, Python, Perl, PHP, Node.js, Scala, .NET等がサポートされています。

td-agentのトレジャーデータへの書き出しプラグインにはその他にも様々なオプションがあります。詳しい情報に関しては以下の記事を参考にして下さい。

大規模環境での設定は以下のドキュメントを参考にして下さい。弊社では約5000台にtd-agentをインストールし、リアルタイムにログを1分間隔で収集されているお客様もいます。

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6