# Nginx Access Logs

Treasure Agent（td-agent）からNginxアクセスログを追跡し、アクセスログをクラウドに継続的にインポートできます。

以下のトピックに進んでください:

## td-agentのインストール

'td-agent'は、アプリケーションサーバーにインストールする必要があります。td-agentは、あらゆる種類の時系列データのストリーミングアップロード専用のデーモンプログラムです。td-agentは、Treasure Dataによって開発・保守されています。

td-agentをセットアップするには、以下の記事を参照してください。Linuxシステム用のdeb/rpmパッケージを提供しています。

| OS | リンク |
|  --- | --- |
| MacOS X | [Installing td-agent on MacOS X](https://docs.fluentd.org/installation/install-by-dmg) |
| Ubuntu System | [Installing td-agent for Debian and Ubuntu](https://docs.fluentd.org/installation/install-by-deb) |
| RHEL / CentOS System | [Installing td-agent for Redhat and CentOS](http://docs.fluentd.org/installation/install-by-rpm) |
| AWS Elastic Beanstalk | [Installing td-agent on AWS Elastic Beanstalk](https://github.com/treasure-data/elastic-beanstalk-td-agent) |


## td-agent.confの変更

`apikey`オプションを設定して、認証キーを指定します。APIキーは、[Treasure コンソール](https://console.treasuredata.com/app/users/current)から確認できます。

/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/nginx/access.log
  pos_file /var/log/td-agent/nginx-access.pos
  tag td.production.access
  format nginx
</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>
```

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


```bash
$ sudo /etc/init.d/td-agent restart
```

td-agentは、ログを追跡し続け、ログをバッファリング（*var/log/td-agent/buffer/td*）し、自動的にクラウドにログをアップロードします。

## データインポートの確認

SIGUSR1シグナルを送信すると、td-agentのバッファがフラッシュされ、アップロードが即座に開始されます。


```bash
# generate access logs
$ curl http://host:port/

# flush the buffer
$ kill -USR1 `cat /var/run/td-agent/td-agent.pid`
```

データが正常にアップロードされたことを確認するには、以下のように`td tables`コマンドを発行します。


```bash
$ 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プロセスがダウンした場合でも、各行が正確に一度だけ読み取られることを保証します。ただし、情報はファイルに保持されるため、ファイルが破損すると「正確に一度」の保証が崩れます。

## 次のステップ

従来のRDBMSよりも柔軟なスキーマメカニズムを提供しています。クエリには、Hive Query Languageを活用しています。

- [Schema Management](/products/customer-data-platform/data-workbench/databases/schema-management)
- [Hive Query Language](/products/customer-data-platform/data-workbench/queries/hive/quickstart)
- [Programmatic Access with REST API and its Bindings](/tools/cli-and-sdks/api-references-and-tool-references)