概要
この連携では、Adobe Experience Manager as a Cloud Service のセルフサービス型 HTTPS Log Forwarding を使用して、CDN ログを Agent Analytics API に送信します。AEM の CDN は Fastly をベースとしており、プログラムで設定された送信先に HTTPS 経由でログを継続的にストリーミングします。AEM Log Forwarding の詳細については、Adobe のドキュメントを参照してください。前提条件
- セルフサービス型 Log Forwarding が有効になっている AEM as a Cloud Service プログラム(サンドボックスティアのプログラムは Adobe によってサポートされておらず、ログを転送できません)
- プログラムの Git リポジトリへのコミットと Config Pipeline の実行が可能な Cloud Manager へのアクセス権
- Agent Analytics 用の Profound Log Ingestion Token
設定
1
ステップ 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)
2
ステップ 2
プログラムの Git リポジトリのトップレベルにある
config/ ディレクトリに logForwarding.yaml ファイルを追加します。これは AEM の Config Pipeline で必要とされるフォルダ構成です。config/logForwarding.yaml
aem.enabled: false は、AEM アプリケーション、Apache、Dispatcher の各ログファミリーの転送を無効にします。Profound には CDN ログのみが送信されます。metadata.envTypes は、設定の適用範囲を特定の環境タイプに限定します。本番環境の CDN ログのみを転送する場合は ["prod"] に設定し、ステージング環境や開発環境のログも転送する場合は "stage" や "dev" を含めます。Config Pipeline の対象となるすべての環境に適用する場合は、metadata ブロックを省略してください。3
ステップ 3(任意)
AEM の CDN ログには、デフォルトでは referer フィールドが含まれません。Profound の
referer フィールドに値を設定するには、受信した Referer ヘッダーをカスタムログプロパティにコピーする CDN リクエストトランスフォーメーションを追加します。プログラムの CDN 設定ファイル(例: config/cdn.yaml)に次の内容を追加します。config/cdn.yaml
logProperty の名前は、正確に小文字の referer である必要があります。Referer や referrer などの表記では認識されず、フィールドはエラーなく空のままになります。4
ステップ 4
Cloud Manager の Config Pipeline(Targeted Deployment)を使用して設定をデプロイします。
- Cloud Manager で、Pipelines → Add Pipeline → Targeted Deployment → Config Pipeline に移動します。
-
config/logForwarding.yaml(および設定した場合はconfig/cdn.yaml)を含むブランチをパイプラインに指定します。 - ログ転送を有効にする環境を対象として指定します。
- パイプラインを実行します。
初回の送信時、AEM の基盤となる Fastly の配信レイヤーは、送信先を検証するために
/.well-known/fastly/logging/challenge に対して一度だけ HTTP チャレンジを発行します。Profound のエンドポイントはこれを自動的に処理するため、お客様側での対応は不要です。Cloud Manager のログを確認した際にチャレンジリクエストが 1 件表示されていても、これは想定どおりの動作です。以上で完了です。AEM から Profound に CDN ログが送信されるようになります。数分以内にダッシュボードにデータが表示され始めます。
取得されるデータ
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
- Adobe — CDN log entry format
- Adobe — Use Config Pipelines
- API に関するご質問は support@tryprofound.com までお問い合わせください
セキュリティに関する考慮事項
- Log Ingestion Token は、平文の環境変数値ではなく、必ず Cloud Manager のシークレット変数として保存してください
- Log Ingestion Token は定期的にローテーションしてください
- ログ転送のアクティビティに異常なパターンがないか監視してください