# Fluentd 継続的データインポートインテグレーション Fluentdを使用してTreasure Dataにデータを継続的にインポートできます。 [Fluentd](http://fluentd.org/)は、Rubyで書かれたデーモンで、ログをJSONストリームとして収集し、ログをバッファリングし、MySQL、MongoDB、あるいは他のFluentdインスタンスなどの他のシステムにログを送信します。 Treasure Agent(td-agent)ロギングデーモンにはFluentdが含まれています。しかし、多くのユーザーはRuby gemsを介してFluentdをインストールしています。既存のFluentdインストールをTreasure Dataに接続できます。詳細については、[サーバーサイドエージェントとしてのtd-agent](https://docs.treasuredata.com/smart/project-product-documentation/about-treasure-data-s-server-side-agent)をお読みください。 ## 前提条件 - [Fluentd](http://fluentd.org/)とそのインストールに関する基本的な知識。 ## fluent-plugin-tdのインストール 以下のようにfluentdとfluent-plugin-td gemsをインストールします。 ``` $ gem install fluentd $ gem install fluent-plugin-td ``` 設定ファイルに以下の行を追加します。fluent-plugin-tdにはtdlog出力タイプが含まれており、これはTreasure Dataにデータをアップロードするために使用されます。 ``` # HTTP input source type http port 8888 # TCP input source type forward port 24224 # Treasure Data output type tdlog endpoint api.treasuredata.com apikey ... auto_create_table buffer_type file buffer_path /path/to/buffer/td use_ssl true ``` APIキーは、アカウントを認証するための秘密鍵です。APIキーは、TDコンソールのプロファイルから取得できます。 ## データアップロードの確認 Fluentdサーバーを起動します。 ``` $ ./bin/fluentd --config fluentd.conf ``` HTTPを使用してJSON形式でログを追加します。 ``` $ curl -X POST -d 'json={"action":"login","user":2}' \ http://localhost:8888/td.testdb.www_access ``` Fluentdは継続的にログをアップロードし、毎分データを送信します。SIGUSR1シグナルを送信すると、Fluentdはバッファリングされたログを即座にクラウドにフラッシュします。 ``` $ kill -USR1 pid_of_fluentd ``` td tablesコマンドを実行して、データが正常にインポートされたことを確認します。 ``` $ td tables +------------+------------+------+-----------+ | Database | Table | Type | Count | +------------+------------+------+-----------+ | testdb | www_access | log | 1 | +------------+------------+------+-----------+ ``` 問題が発生した場合は、Fluentdのログがトラブルシューティングの良い出発点です。