# モニタリング構成

### 前提条件

Netacea がお客様のプラットフォームを正常にモニタリングできるよう、以下の事項をご確認ください。

1. Netacea に Fastly [IAM Role](https://docs.fastly.com/en/guides/creating-an-aws-iam-role-for-fastly-logging) を提供済みであること（要請があった場合）。
2. 関連するログ配信エンドポイントおよび認証情報が [Netacea portal](https://docs.netacea.com/jp/netacea-puraguin/accessing-your-integration-settings) 経由で共有されていること。
3. 既知の安全で信頼できるリストに含まれるユーザー、パートナー、サードパーティアプリのリストを提供済みであること。これには信頼できるボットや自動化ツールのリストも含まれます。既知の悪意あるアクターに関する情報も有用です。
4. 保護のユースケースと、それぞれに対して脆弱なパスウェイのリストを提供済みであること。

### 最小必須データセット

データを正常に分析するために、以下のデータがモニタリングされます。

<table><thead><tr><th width="234">必須フィールド</th><th>説明</th></tr></thead><tbody><tr><td>タイムスタンプ</td><td>リクエストを受信した時刻</td></tr><tr><td>IP アドレス</td><td>リクエスト元の IP アドレス</td></tr><tr><td>ユーザーエージェント</td><td>クライアントがヘッダーで送信するユーザーエージェント文字列</td></tr><tr><td>メソッド</td><td>リクエストの HTTP メソッド</td></tr><tr><td>パス</td><td>リクエストされたリソースのパス</td></tr><tr><td>クエリ</td><td>リクエストのクエリ文字列</td></tr><tr><td>ステータス</td><td>サーバーから返される HTTP ステータスコード</td></tr><tr><td>リファラー</td><td>ユーザーがリンクをたどって来た元のウェブページ</td></tr><tr><td>送信バイト数</td><td>ユーザーのリクエストの一部として送信されたバイト数</td></tr><tr><td>プロトコル</td><td>レスポンス・リクエストサイクルのプロトコル</td></tr><tr><td>リクエスト時間</td><td>リクエストにかかった時間（マイクロ秒単位）</td></tr><tr><td>リクエストホスト</td><td>現在の Host リクエストヘッダー</td></tr><tr><td>JA3 フィンガープリント</td><td>JA3 は SSL/TLS クライアントフィンガープリントを作成するための手法です</td></tr></tbody></table>

{% hint style="info" %}
上記の標準フィールドに加えて、Netacea インテグレーションはログフォーマットにいくつかのカスタムフィールドを追加します。\
\
これらには以下が含まれます：<br>

`bc_type`、`user_id`、`integration_type` および `integration_version`。
{% endhint %}

### 実装手順

1. Fastly ウェブインターフェースにログインします。
2. ホームページから適切なサービスを選択します。検索ボックスを使用して、ID、名前、またはドメインで検索できます。
3. 設定編集ボタンをクリックし、アクティブバージョンをクローンするオプションを選択します。ドメインページが表示されます。

以下のすべての設定変更は、新しくクローンされたバージョンに対して行われます。

{% hint style="info" %}
将来ロールバックが必要になった場合に備えて、現在アクティブなバージョンをメモしておいてください。
{% endhint %}

### ログストリーミング

* Logging エリアに移動します。
* Amazon S3 の「Create endpoint」ボタンをクリックします

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

* 以下の詳細を入力します：

XLOCKX168

<table><thead><tr><th width="186">フィールド</th><th>値</th></tr></thead><tbody><tr><td>名前</td><td>エンドポイントの覚えやすい名前を入力します（例：Netacea_Logging）。</td></tr><tr><td>配置</td><td>Format Version Default</td></tr><tr><td>ログフォーマット</td><td><a href="#undefined">ログフォーマット</a></td></tr><tr><td>タイムスタンプ</td><td><a href="#timestamp">タイムスタンプ</a></td></tr><tr><td>バケット名</td><td><a href="../accessing-your-integration-settings">Netacea portal</a> から提供された Amazon S3 バケットの名前。</td></tr><tr><td>アクセス方法</td><td><a href="../accessing-your-integration-settings">Netacea portal</a> から提供された IAM Role ARN またはユーザー認証情報。</td></tr><tr><td>期間</td><td></td></tr></tbody></table>

169XLOCKX

| パス           | /                                                                                                                |
| ------------ | ---------------------------------------------------------------------------------------------------------------- |
| ドメイン         | <p>Netacea から提供された Amazon S3 エンドポイントのドメイン。</p><p>指定がない場合は、<code>s3.eu-west-1.amazonaws.com</code> を使用してください。</p> |
| ログ行フォーマットを選択 | Blank                                                                                                            |
| 圧縮           | Gzip                                                                                                             |

{% hint style="info" %}
上記で指定されていないオプションは、デフォルト値のままにしてください。
{% endhint %}

#### ログフォーマット

{% code overflow="wrap" fullWidth="false" %}

```
{"@timestamp": "%{%Y-%m-%dT%H:%M:%S%z}t","bc_type": %{if(req.http.netacea_bctype_string, "%u0022" + json.escape(req.http.netacea_bctype_string) + "%u0022", "null")}V,"bytes_sent": "%B","cookie_session_status": %{if(req.http.x-netacea:cookie_session_status, "%u0022" + json.escape(req.http.x-netacea:cookie_session_status) + "%u0022", "null")}V,"client": "%{json.escape(client.ip)}V","domain": %{if(req.http.host, "%u0022" + json.escape(req.http.host) + "%u0022", "null")}V,"integration_mode": %{"%u0022" + json.escape(req.http.x-netacea:integration_mode) + "%u0022"}V,"integration_type": %{if(req.http.integration_type, "%u0022" + json.escape(req.http.integration_type) + "%u0022", "null")}V,"integration_version": %{if(req.http.integration_version, "%u0022" + json.escape(req.http.integration_version) + "%u0022", "null")}V,"method": "%{json.escape(req.method)}V","path": "%{json.escape(req.url.path)}V","mit_svc_latency":%{if(req.http.x-netacea:mit_svc_latency, "%u0022" + json.escape(req.http.x-netacea:mit_svc_latency) + "%u0022", "0")}V,"mit_status":%{if(req.http.x-netacea:mit_status, "%u0022" + json.escape(req.http.x-netacea:mit_status) + "%u0022", "0")}V,"protocol": "%{json.escape(req.proto)}V","query": "%{json.escape(req.url.qs)}V","referrer": %{if(req.http.referer, "%u0022" + json.escape(req.http.referer) + "%u0022", "null")}V,"request_time": %{time.elapsed}V,"status": "%{json.escape(resp.status)}V","user_agent": %{if(req.http.user-agent, "%u0022" + json.escape(req.http.user-agent) + "%u0022", "null")}V,"user_id": %{if(req.http.x-netacea-userid, "%u0022" + json.escape(req.http.x-netacea-userid) + "%u0022", "null")}V,"client_ja3_md5": %{if(tls.client.ja3_md5, "%u0022" + json.escape(tls.client.ja3_md5) + "%u0022", "null")}V,"x_forwarded_for": %{if(req.http.X-Forwarded-For, "%u0022" + json.escape(req.http.X-Forwarded-For) + "%u0022", "null")}V}
```

{% endcode %}

#### タイムスタンプ

```
%Y-%m-%dT%H:%M:%S.000
```

### ログ設定に関する考慮事項

Fastly では、「[Shielding](https://developer.fastly.com/learning/concepts/shielding/)」と呼ばれるホスト機能を有効にすることができます。この機能には、オリジン負荷の軽減、キャッシュヒット率の向上などのメリットがあります。このインテグレーションを使用する Fastly サービスでこの機能を有効にすると、ログが重複します。

デフォルトで Fastly ログ配信を設定すると、Netacea が必要としない静的コンテンツやメディアコンテンツを含むすべてのリクエストが送信されます。\
\
この問題を解決するには、サービスに条件を追加し、Netacea Logging に関連付ける必要があります。

* Conditions エリアに移動します
* 「Create Condition」をクリックします

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

* ポップアップウィンドウに以下の詳細を入力します：

<table><thead><tr><th width="186">フィールド</th><th>値</th></tr></thead><tbody><tr><td>タイプ</td><td>Response</td></tr><tr><td>名前</td><td>例：Netacea_Log_Visit</td></tr><tr><td>適用条件</td><td><code>(req.url !~ "/media/" &#x26;&#x26; req.url !~ "/static/") &#x26;&#x26; fastly.ff.visits_this_service == 0</code></td></tr><tr><td>優先度</td><td>10（デフォルト）</td></tr></tbody></table>

* 「Save」をクリックし、Logging エリアに移動します
* Netacea Logging を見つけ、「Attach a condition」をクリックします

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

* ポップアップウィンドウで、新しく作成した条件を選択します

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

### 完了

以下の手順が完了していることを確認してください：

* エラー警告が表示されていないことを確認

編集したバージョンを「Activate」をクリックしてデプロイする準備が整いました。

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

ログ配信は、設定されたサービスにデプ
