# 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 キーは Treasure コンソール から確認できます。

ファイルを変更するには、`/etc/td-agent/td-agent.conf` にアクセスします。td-agent.conf ファイルで `apikey` オプションを設定します。

*YOUR_API_KEY* は実際の API キー文字列に置き換えてください。


```conf
# Tailing the Apache Log
<source>
  type tail
  path /var/log/httpd-access.log
  pos_file /var/log/td-agent/httpd-access.pos
  tag td.production.access
  format apache2
</source>

# Treasure Data Input and 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>
```

以下の行が設定されたら、エージェントを再起動します。


```
$ 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](/products/customer-data-platform/data-workbench/databases/schema-management)
- [Writing Hive Queries](/products/customer-data-platform/data-workbench/queries/hive/writing_hive_queries)
- [Programatic Access with REST API and its Bindings](/tools/cli-and-sdks/api-references-and-tool-references)