Skip to main content

概要

この連携では、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)を使用して設定をデプロイします。
logForwarding.yaml と CDN 設定ファイルは、Config Pipeline によってのみデプロイされます。Full Stack パイプラインや Web Tier パイプラインでは、これらのファイルはデプロイされません。
  1. Cloud Manager で、Pipelines → Add Pipeline → Targeted Deployment → Config Pipeline に移動します。
  2. config/logForwarding.yaml(および設定した場合は config/cdn.yaml)を含むブランチをパイプラインに指定します。
  3. ログ転送を有効にする環境を対象として指定します。
  4. パイプラインを実行します。
初回の送信時、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 が記述されていることを確認してください

その他のリソース

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

  • Log Ingestion Token は、平文の環境変数値ではなく、必ず Cloud Manager のシークレット変数として保存してください
  • Log Ingestion Token は定期的にローテーションしてください
  • ログ転送のアクティビティに異常なパターンがないか監視してください