# Akamai DataStream 2

### **Akamai DataStream 2 による S3 へのログ配信**

Akamai から Amazon S3 バケットにアクセスログを送信するには、**Akamai DataStream 2** を使用できます。これは、リアルタイムログ配信のための Akamai の標準的な推奨方法です。以下は、Netacea がホストする S3 バケットへの配信に特化した設定ガイダンスとともに、**DataStream 2** のセットアップに焦点を当てた手順です。

### 前提条件

Netacea への Web トラフィックログのストリーミングを正常に行うために、以下をご確認ください：

* Akamai ダッシュボードへのフルアクセス権を持つ有効な Akamai アカウントをお持ちであること。
* Akamai DataStream 2 が有効化されていること。

{% hint style="info" %}
DataStream 2 はコンテンツ配信に含まれており、追加料金は発生しません。この機能を有効にするには、Akamai のアカウントチームにお問い合わせください。
{% endhint %}

* Netacea から必要な AWS S3 バケットの詳細（バケットパス、名前、リージョン、認証情報）を受け取っていること。これらは[こちら](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide)で確認できます。
* ログ分析のために Netacea が必要とする[最小限の必須データセット](#step-2-data-set)フィールドを把握していること。

## DataStream 2 の設定

以下の設定に基づいて DataStream 2 ストリームを作成し有効化するには、[こちら](https://techdocs.akamai.com/datastream2/docs/quick-start)にある Akamai のドキュメントに従ってください：

#### ステップ 1：設定

**Configuration** タブを使用して、基本的なストリームの詳細を入力し、監視するプロパティを選択します。

#### ステップ 2：データセット

データセットの設定ステップでは、Netacea が定義した以下の最小データセットを使用してください：

| **必須フィールド**                                    | **説明**                                                       |
| ---------------------------------------------- | ------------------------------------------------------------ |
| Request time                                   | リクエストが受信された時刻                                                |
| Bytes                                          | ユーザーのリクエストの一部として送信されたバイト数                                    |
| Client IP                                      | リクエストが行われた IP アドレス                                           |
| HTTP status codes                              | サーバーから返された HTTP ステータスコード                                     |
| Protocol type                                  | レスポンス・リクエストサイクルのプロトコル                                        |
| Request host                                   | リクエスト内のホストヘッダーの値                                             |
| Request method                                 | リクエストの HTTP メソッド                                             |
| Request path                                   | リクエストされたリソースのパス                                              |
| Query string                                   | リクエストのクエリ文字列                                                 |
| User-Agent<mark style="color:red;">\*</mark>   | クライアントがヘッダーで送信したユーザーエージェント文字列                                |
| Referer<mark style="color:red;">\*</mark>      | ユーザーがリンクをたどってきた Web ページ                                      |
| Turn around time                               | 最後のリクエストヘッダーが受信されてから、応答の最初のバイトがクライアントソケットに書き込まれるまでの経過時間（ミリ秒） |
| Custom field<mark style="color:red;">\*</mark> | このフィールドは変数をサポートしており、Netacea 固有のカスタムフィールドをログに記録するために必要です。     |
| True-Client-IP\*\*                             | 元のクライアント IP の信頼できるソース                                        |
| X-Forwarded-For\*\*                            | プロキシ経由の場合のクライアントリクエストの接続 IP アドレス（配列）                         |

\*これらのフィールドを監視するには、関連する Akamai プロパティの **Log Request Details** ビヘイビアでカスタムデータセットパラメータのログ記録を有効にする必要があります。詳細は[カスタムパラメータのログ記録](https://techdocs.akamai.com/datastream2/docs/log-custom-parameters)を参照してください。

\*\* クライアント > オリジン間のトラフィック経路にプロキシが存在する場合に有用です

{% hint style="warning" %}
ログ形式として **JSON** を選択してください。
{% endhint %}

#### ステップ 3：配信

1. 配信先として **Amazon S3** を選択します。
2. **Name** に、配信先のわかりやすい説明を入力します。
3. **Bucket** に、Netacea がホストする関連の S3 バケット名を入力します。
4. **Folder path** に、Netacea から別途指示がない限り「**`logs/"`**」を入力します。
5. **Region** に、バケットが存在する AWS リージョンコードを入力します。別途指示がない限り、`eu-west-1`（すべて小文字）となります。
6. **Access key ID** と **Secret access key** に、Netacea から提供された認証情報を入力します。
7. **Validate & Save** をクリックして、配信先への接続を検証し、設定を保存します。
8. **Push frequency** が可能な限り低い値に設定されていることを確認します。

#### ステップ 4：サマリーと有効化

1. **Summary** タブで、設定されたすべての詳細を慎重に確認します。
2. 確認後、**Activate stream upon saving** チェックボックスをオンにします。
3. **Save stream** をクリックしてセットアップを完了します。

#### ステップ 5：ルールを介した DataStream の有効化

ストリームの有効化には最大 1 時間かかる場合があります。ただし、サイトのプロパティ設定でルールを介して [DataStream ビヘイビア](https://techdocs.akamai.com/datastream2/docs/enable-datastream-behavior)を追加して有効にした**後**にのみ、データの収集とストリーミングが行われます。

これを行うには：

1. 現在アクティブなプロパティの新しいプロパティバージョンを作成します。
2. 新しいバージョンを編集します。
3. **Property Configuration Settings** で、**+Rules** をクリックして新しいルールを追加します。
4. **Blank Rule Template** を選択し、わかりやすい名前を入力して、**Insert Rule** をクリックします。

<figure><img src="https://2885909206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKs3gGgxDF9S8O56fhTGU%2Fuploads%2Fgit-blob-481665751f49c248bbbf7453af292208532af100%2Fimage%20(5)%20(4).png?alt=media" alt=""><figcaption></figcaption></figure>

**ルールの設定**

* **Criteria セクション**\
  以下の一致条件を追加します：
  * **If Hostname is one of `<hostname>`**

<figure><img src="https://2885909206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKs3gGgxDF9S8O56fhTGU%2Fuploads%2Fgit-blob-abf200ab839be8f43c24f23110fc719b3c059867%2Fimage%20(9)%20(3).png?alt=media" alt=""><figcaption><p>ルール条件</p></figcaption></figure>

{% hint style="info" %}
Netacea が複数の Web サイトを監視している場合、複数のホスト名を含めることができます。先ほど作成した DataStream で監視対象となるものだけを含めてください。
{% endhint %}

**Behaviors セクション**

* 先ほど作成した **DataStream を有効にする**ビヘイビアを追加します。

  > 適切な場合は、既存のルールを複製して再利用することもできます。

<figure><img src="https://2885909206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKs3gGgxDF9S8O56fhTGU%2Fuploads%2Fgit-blob-10d0e74a162432cba13d424d98267487b6e7a857%2Fimage%20(1)%20(1)%20(3).png?alt=media" alt=""><figcaption><p>ルールビヘイビア</p></figcaption></figure>

* 別のビヘイビアを追加します：**Log Request Details**
  * **Include Custom Log Field** を `on` に設定します
  * **Custom Log Field** を `{{user.PMUSER_NETACEA_DS2_CUSTOM_FIELD}}` に設定します

<figure><img src="https://2885909206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKs3gGgxDF9S8O56fhTGU%2Fuploads%2Fgit-blob-904e3b8952ca40de8eb9533cf912bdc84f8ad8fb%2Fimage%20(11).png?alt=media" alt=""><figcaption><p>Log Request Details</p></figcaption></figure>

DataStream と関連するルールが作成されました。

{% hint style="info" %}
**Netacea が監視する個別の Web サイト（または Web サイトのグループ）ごとに、上記の手順を繰り返してください。**
{% endhint %}

### プロパティの有効化

すべての DataStream とルールが作成されたら、**Save** をクリックし、**Activate** タブを使用してプロパティの設定への変更を有効化（デプロイ）します。

{% hint style="success" %}
監視設定は、設定されたプロパティにデプロイされます。デプロイが正しく行われたことを確認するには：

* Netacea に内部監視メトリクスのレビューを依頼する。
* Netacea にデータの内容と形式の検証を依頼する。
  {% endhint %}

### 最終ステップ

ログ配信が有効になったら、**Netacea ソリューションエンジニアにご連絡ください**。これにより、以下のことが可能になります：

* データの受信を確認
* データセットの形式と完全性を検証
* 十分な量のデータが収集された後、分析を開始

セットアップ中にサポートが必要な場合は、Netacea SE チームがお手伝いいたします。お気軽にお問い合わせください。
