# Apache アクセスログインポート連携 Treasure Agent (td-agent) から Apache ログを追跡して、アクセスログをクラウドに継続的にインポートできます。 # td-agent のインストール アプリケーションサーバーに td-agent をインストールします。td-agent は、あらゆる種類の時系列データのストリーミングアップロード専用のデーモンプログラムです。td-agent は、Treasure Data が Fluentd プロジェクトの下で保守しているオープンソースプロジェクトです。td-agent は、Treasure Data 用のカスタムプラグインで Fluentd を拡張しています。 - [Install Fluentd](https://www.fluentd.org/download) # td-agent.conf の変更 `apikey` オプションを設定して認証キーを指定します。API キーは TD Console から確認できます。 ファイルを変更するには、`/etc/td-agent/td-agent.conf` にアクセスします。td-agent.conf ファイルで `apikey` オプションを設定します。 *YOUR_API_KEY* は実際の API キー文字列に置き換えてください。 ```conf # Tailing the Apache Log type tail path /var/log/httpd-access.log pos_file /var/log/td-agent/httpd-access.pos tag td.production.access format apache2 # Treasure Data Input and Output 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 ``` 以下の行が設定されたら、エージェントを再起動します。 ``` $ sudo /etc/init.d/td-agent restart ``` td-agent はログを追跡し続け、ログをバッファリングし (*var/log/td-agent/buffer/td*)、自動的にログをクラウドにアップロードします。 # データインポートの確認 SIGUSR1 シグナルを送信すると、td-agent のバッファがフラッシュされ、アップロードがすぐに開始されます。 ``` # generate access logs $ curl http://host:port/ # flush the buffer $ kill -USR1 `cat /var/run/td-agent/td-agent.pid` ``` データが正常にアップロードされたことを確認するには、次のように `td tables` コマンドを実行します。 ``` $ td tables +------------+------------+------+-----------+ | Database | Table | Type | Count | +------------+------------+------+-----------+ | production | access | log | 1 | +------------+------------+------+-----------+ ``` 正しく動作していない場合は、`/var/log/td-agent.log` を確認してください。`td-agent:td-agent` にログを読み取る権限が必要です。 **td-agent はログローテーションを処理します**。td-agent はログの最後の位置を記録し、td-agent プロセスがダウンした場合でも、各行が正確に 1 回だけ読み取られることを保証します。ただし、情報はファイルに保持されるため、ファイルが破損すると「正確に 1 回」の保証は崩れます。 # 次のステップ Treasure Data は、従来の RDBMS よりも柔軟なスキーマメカニズムを提供しています。クエリには、Hive Query Language を活用します。 - [Schema Management](https://docs.treasuredata.com/articles/project-product-documentation/schema+Management) - [Writing Hive Queries](https://docs.treasuredata.com/articles/project-product-documentation/writing-hive-queries) - [Programatic Access with REST API and its Bindings](https://docs.treasuredata.com/articles/project-product-documentation/client-library-rest-apis)