> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryprofound.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Adobe Experience Manager

> このドキュメントでは、Adobe Experience Manager as a Cloud Service (AEMaaCS) の Log Forwarding を設定し、CDN ログを Profound Agent Analytics プラットフォームに送信する方法を説明します。

## 概要

この連携では、Adobe Experience Manager as a Cloud Service のセルフサービス型 HTTPS Log Forwarding を使用して、CDN ログを Agent Analytics API に送信します。AEM の CDN は Fastly をベースとしており、プログラムで設定された送信先に HTTPS 経由でログを継続的にストリーミングします。AEM Log Forwarding の詳細については、[Adobe のドキュメントを参照してください](https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/developing/log-forwarding)。

## 前提条件

* セルフサービス型 Log Forwarding が有効になっている AEM as a Cloud Service プログラム(サンドボックスティアのプログラムは Adobe によってサポートされておらず、ログを転送できません)

* プログラムの Git リポジトリへのコミットと Config Pipeline の実行が可能な Cloud Manager へのアクセス権

* Agent Analytics 用の Profound Log Ingestion Token

## 設定

<Steps>
  <Step title="ステップ 1">
    Cloud Manager で、ログを転送したい環境に Profound Log Ingestion Token をシークレット変数として追加します。

    **Configuration → Environment Variables → Add** に移動し、次のように設定します。

    * **Name** — `PROFOUND_LOG_INGESTION_TOKEN`

    * **Type** — `Secret`

    * **Service Applied** — `All`

    * **Value** — Profound の Agent Analytics プラットフォーム用に発行された Log Ingestion Token(`bot_PROFOUND_LOG_INGESTION_TOKEN`)
  </Step>

  <Step title="ステップ 2">
    プログラムの Git リポジトリのトップレベルにある `config/` ディレクトリに `logForwarding.yaml` ファイルを追加します。これは AEM の Config Pipeline で必要とされるフォルダ構成です。

    ```yaml config/logForwarding.yaml theme={null}
    kind: "LogForwarding"
    version: "1"
    metadata:
      envTypes: ["prod"]
    data:
      https:
        default:
          enabled: true
          url: "https://artemis.api.tryprofound.com/v1/logs/aem"
          authHeaderName: "X-API-Key"
          authHeaderValue: "${{PROFOUND_LOG_INGESTION_TOKEN}}"
        aem:
          enabled: false
    ```

    `aem.enabled: false` は、AEM アプリケーション、Apache、Dispatcher の各ログファミリーの転送を無効にします。Profound には CDN ログのみが送信されます。

    `metadata.envTypes` は、設定の適用範囲を特定の環境タイプに限定します。本番環境の CDN ログのみを転送する場合は `["prod"]` に設定し、ステージング環境や開発環境のログも転送する場合は `"stage"` や `"dev"` を含めます。Config Pipeline の対象となるすべての環境に適用する場合は、`metadata` ブロックを省略してください。
  </Step>

  <Step title="ステップ 3(任意)">
    AEM の CDN ログには、デフォルトでは referer フィールドが含まれません。Profound の `referer` フィールドに値を設定するには、受信した `Referer` ヘッダーをカスタムログプロパティにコピーする CDN リクエストトランスフォーメーションを追加します。

    プログラムの CDN 設定ファイル(例: `config/cdn.yaml`)に次の内容を追加します。

    ```yaml config/cdn.yaml theme={null}
    kind: "CDN"
    version: "1"
    data:
      requestTransformations:
        rules:
          - name: profound-log-referer
            when: "*"
            actions:
              - type: set
                logProperty: referer
                value:
                  reqHeader: referer
    ```

    <Note>
      `logProperty` の名前は、正確に小文字の `referer` である必要があります。`Referer` や `referrer` などの表記では認識されず、フィールドはエラーなく空のままになります。
    </Note>
  </Step>

  <Step title="ステップ 4">
    Cloud Manager の **Config Pipeline**(Targeted Deployment)を使用して設定をデプロイします。

    <Warning>
      `logForwarding.yaml` と CDN 設定ファイルは、Config Pipeline によってのみデプロイされます。Full Stack パイプラインや Web Tier パイプラインでは、これらのファイルはデプロイされません。
    </Warning>

    1. Cloud Manager で、**Pipelines → Add Pipeline → Targeted Deployment → Config Pipeline** に移動します。

    2. `config/logForwarding.yaml`(および設定した場合は `config/cdn.yaml`)を含むブランチをパイプラインに指定します。

    3. ログ転送を有効にする環境を対象として指定します。

    4. パイプラインを実行します。
  </Step>
</Steps>

<Note>
  初回の送信時、AEM の基盤となる Fastly の配信レイヤーは、送信先を検証するために `/.well-known/fastly/logging/challenge` に対して一度だけ HTTP チャレンジを発行します。Profound のエンドポイントはこれを自動的に処理するため、お客様側での対応は不要です。Cloud Manager のログを確認した際にチャレンジリクエストが 1 件表示されていても、これは想定どおりの動作です。
</Note>

<Check>以上で完了です。AEM から Profound に CDN ログが送信されるようになります。数分以内にダッシュボードにデータが表示され始めます。</Check>

## 取得されるデータ

AEM の CDN ログエントリは、次のように Profound の訪問スキーマにマッピングされます。

* 時刻と IP

  * `timestamp` — CDN がリクエストを受信した時刻。

  * `cli_ip` — クライアントの IP アドレス。

* リクエスト

  * `host` — クライアントリクエストの Host ヘッダー。

  * `url` — リクエストされたパスとクエリ文字列。

  * `method` — HTTP メソッド。

  * `req_ua` — クライアントから報告された User-Agent ヘッダー。

  * `referer` — Referer ヘッダー(ステップ 3 の任意の CDN リクエストトランスフォーメーションがデプロイされている場合にのみ値が設定されます)。

* レスポンス

  * `status` — HTTP レスポンスステータスコード。

  * `ttfb` — 最初の 1 バイトを受信するまでの時間(ミリ秒)。

  * レスポンスボディサイズ — Adobe の CDN ログスキーマにはネイティブのレスポンスサイズフィールドがないため、`0` として報告されます。

## トラブルシューティング

* ログが表示されない場合は、デプロイに使用したパイプラインが Full Stack や Web Tier ではなく **Config Pipeline** であることを確認してください

* パイプラインは成功したのに Profound にリクエストが届かない場合、プログラムがまだ Adobe の従来のサポートチケット方式のログ転送を使用している可能性があります。再試行する前に、Adobe にチケットを提出してセルフサービス型 Log Forwarding への移行を依頼してください

* データ量が想定の約 2 倍になっている場合、移行期間中に従来方式とセルフサービス型のログ転送が並行して実行されている可能性があります(通常、Adobe が数時間以内に解消します)

* `401` または `403` レスポンスが返される場合は、`PROFOUND_LOG_INGESTION_TOKEN` が **Service Applied: All** で設定されていること、およびトークンが Profound で有効になっていることを確認してください

* `url` が `https://` で始まっていることを確認してください(そうでない場合、AEM はデプロイ時に設定を拒否します)

* CDN 以外のログファミリーが転送されないように、`aem.enabled: false` が記述されていることを確認してください

## その他のリソース

* [Adobe — Log Forwarding for AEM as a Cloud Service](https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/developing/log-forwarding)

* [Adobe — CDN log entry format](https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/developing/logging#cdn-log)

* [Adobe — Use Config Pipelines](https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/operations/config-pipeline)

* API に関するご質問は [support@tryprofound.com](mailto:support@tryprofound.com) までお問い合わせください

## セキュリティに関する考慮事項

* Log Ingestion Token は、平文の環境変数値ではなく、必ず Cloud Manager のシークレット変数として保存してください

* Log Ingestion Token は定期的にローテーションしてください

* ログ転送のアクティビティに異常なパターンがないか監視してください
