# モニタリング構成

## 前提条件

Netacea へ Web トラフィックログを正常にストリーミングするには、以下の条件を満たしていることを確認してください：

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

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

* 保護ユースケースと、それぞれに対して脆弱なパスウェイのリストを提供していること。
* すべての既知の、安全な、ホワイトリスト登録済みユーザーのリストを提供していること。これには、信頼できるボット、IP、ジオロケーションのリストが含まれます。既知の悪意あるアクターに関する情報も有用です。
* Netacea がホストおよび提供する AWS S3 バケットの詳細（バケットパス、名前、ロケーション、認証情報）が提供されていること。

## 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 固有のカスタムフィールドをログに記録するために必要です。        |

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

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

### ステップ 3：配信

* 配信先として **Amazon S3** を選択します。
* **Name** に、配信先の人間が読みやすい説明を入力します。
* **Bucket** に、Netacea がホストする該当の S3 バケット名を入力します。
* **Folder path** には、Netacea から別途指示がない限り「**logs/**」を入力します。
* **Region** には、バケットが存在する AWS リージョンコードを入力します。Netacea から別途指示がない限り、eu-west-1（すべて小文字）を指定してください。
* **Access key ID** および **Secret access key** に、Netacea から提供された Amazon S3 バケットに関連付けられた値を入力します。
* **Validate & Save** をクリックして、配信先への接続を検証し、入力した詳細を保存します。
* **Push frequency** が可能な限り最小の値に設定されていることを確認します。

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

**Summary** タブで、設定したストリームのすべての詳細を確認し、上記の手順に従っていることを確認します。準備ができたら、**Activate stream upon saving** チェックボックスをオンにして、**Save stream** をクリックします。

### ステップ 5：ルールによる DataStream の有効化

ストリームの有効化には**最大 1 時間かかります**が、Web サイトをホストするプロパティ設定でルールを介して [DataStream ビヘイビア](https://techdocs.akamai.com/datastream2/docs/enable-datastream-behavior)を追加・有効化した後にのみ、データの収集とストリーミングが開始されます。DataStream を有効化するルールを作成するには、以下の手順に従ってください：

* 既存のアクティブなプロパティバージョンの新しいプロパティバージョンを作成し、新しく作成したバージョンを編集します。
* **Property Configuration Settings** で、+Rules を選択して新しいルールを作成します。
* **Blank Rule Template** を選択し、ルールに意味のある名前を付けてから、**Insert Rule** をクリックします。<br>

  <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>`。

{% hint style="info" %}
Netacea が複数の Web サイトを監視している場合は、複数のホスト名を追加できます。前に作成した DataStream で監視されるホスト名のみを含めてください。
{% endhint %}

<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>Rule Criteria</p></figcaption></figure>

* **Behaviors** セクションで、ビヘイビアを追加し、前に作成した DataStream を**有効化**します。

{% hint style="info" %}
既存のルールを複製して再利用できます。
{% endhint %}

<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>Rule Behaviors</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 %}
