ログ転送 log-forwarding

NOTE
相互TLS (mTLS)認証のベータ版は、Splunk、Elasticsearch/OpenSearch、およびHTTPSの宛先、AEM ログ(Apache/Dispatcherを含む)およびCDN ログで利用できます。 参加するには、プログラム IDと環境IDをaemcs-logforwarding-beta@adobe.comにメールで送信してください。 相互TLS (mTLS)認証を参照してください。
NOTE
ログ転送は、アドビのサポートチケットの送信を必要とした従来の方法とは異なり、セルフサービス方式で設定されるようになりました。 ログ転送がアドビで設定されている場合は、移行の節を参照してください。
NOTE
AEM as a Cloud Serviceは、OpenTelemetry (Limited Availability) ​の一部として、OpenTelemetry (OTLP)経由でのログの送信もサポートしています。 同じ宛先で両方を有効にすると、重複したログメッセージがそこに届きます。詳しくは、そのページを参照してください。

ログベンダーのライセンスを所有しているお客様や、ログ製品をホストしているお客様は、AEM ログ(Apache/Dispatcher を含む)と CDN ログを関連するログの宛先に転送できます。 AEM as a Cloud Service は、次のログの宛先をサポートしています。

ログ技術
AEM
Dispatcher
CDN
mTLS
Amazon S3
はい
はい
Beta [1]
いいえ
Azure Blob Storage
はい
はい
はい
いいえ
DataDog
はい
はい
はい
いいえ
Dynatrace
はい
はい
Beta [1]
いいえ
ElasticSearch
OpenSearch
はい
はい
はい
Beta
HTTPS
はい
はい
はい
Beta
New Relic
はい
はい
Beta [1]
いいえ
Splunk
はい
はい
はい
Beta
Sumo Logic
はい
はい
はい
いいえ

Amazon S3、DynatraceおよびNew Relicへの[1] CDN ログ転送はベータ版です。 アクセスをリクエストするには、aemcs-logforwarding-beta@adobe.comにプログラム IDをメールで送信してください。 アクセスを有効にした後で、cdn.enabled: trueを持つ各宛先のCDN ログも有効にします。 Amazon S3、Dynatrace、New Relic(ベータ版)のCDN ログを参照してください。

NOTE
mTLS列の​ Beta ​とマークされたLog Technologiesは、AEM、Dispatcher、およびCDN ログのクライアント証明書認証(相互TLS)をサポートします。 mTLSはベータ版です。アクセスをリクエストするには、プログラム IDと環境IDを記載した電子メール aemcs-logforwarding-beta@adobe.comを送信してください。 相互TLS (mTLS)認証を参照してください。

ログ転送は、Git で設定を宣言することでセルフサービス方式で設定され、Cloud Manager 設定パイプラインを通じて開発環境、ステージング環境、本番環境の各タイプにデプロイできます。 設定ファイルは、コマンドラインツールを使用して高速開発環境(RDE)にデプロイできます。

AEM および Apache/Dispatcher ログを、専用エグレス IP などの AEM の高度なネットワークインフラストラクチャ経由でルーティングするオプションがあります。 CDN ログは常にCDNから直接送信され、高度なネットワークを使用しません。 ​ トランスポートと高度なネットワーク ​を参照してください。

この記事の編成方法 how-organized

この記事は、次のように構成されています。

  • 設定 - すべてのログの宛先に共通
  • トランスポートと高度なネットワーク - ログ設定を作成する前に、ネットワーク設定を考慮する必要があります。
  • 相互TLS (mTLS)認証(ベータ版) – クライアント証明書を使用してSplunk、Elasticsearch/OpenSearch、およびHTTPS宛先に認証する
  • ログの宛先設定 - 各宛先の形式はわずかに異なります
  • Amazon S3、Dynatrace、およびNew Relic(ベータ版)のCDN ログ – これらの宛先のCDN ログへのアクセスをリクエストして有効にする方法
  • ログエントリ形式 - ログエントリ形式に関する情報
  • 従来のログ転送からの移行 - アドビで以前設定したログ転送からセルフサービスアプローチに移行する方法

設定 setup

  1. logForwarding.yaml という名前のファイルを作成します。 これには、設定パイプラインの記事で説明されているように、メタデータを含める必要があります(kind は LogForwarding に設定し、version は「1」に設定する必要があります)。設定は次のようになります(例として Splunk を使用します)。

    code language-yaml
    kind: "LogForwarding"
    version: "1"
    data:
      splunk:
        default:
          enabled: true
          host: "splunk-host.example.com"
          token: "${{SPLUNK_TOKEN}}"
          index: "AEMaaCS"
    
  2. 設定パイプラインの使用で説明されているように、config または類似の名前の最上位フォルダーの下のどこかにファイルを配置します。

  3. RDE(コマンドラインツールを使用する環境)以外の環境タイプでは、設定パイプラインの記事のこのセクションで参照されているように、Cloud Manager で対象のデプロイメント設定パイプラインを作成します。フルスタックパイプラインと web 階層設定パイプラインでは、設定ファイルがデプロイされないことに注意してください。

  4. 設定をデプロイします。

設定内のトークン(${{SPLUNK_TOKEN}} など)は秘密鍵を表すので、Git に保存しないでください。 代わりに、Cloud Manager 秘密鍵環境変数として宣言します。 ログをオーサー層、パブリッシュ層およびプレビュー層に転送できるように、「適用されるサービス」フィールドのドロップダウン値として「すべて」を選択していることを確認します。

default ブロックの後に追加の cdn ブロックや aem ブロックを含めることで、CDN ログと AEM ログ(Apache/Dispatcher を含む)間で異なる値を設定できます。この場合、プロパティは default ブロックで定義されたプロパティを上書きできます。必要なのは enabled プロパティのみです。 次の例に示すように、CDN ログに別の Splunk インデックスを使用するユースケースが考えられます。

   kind: "LogForwarding"
   version: "1"
   data:
     splunk:
       default:
         enabled: true
         host: "splunk-host.example.com"
         token: "${{SPLUNK_TOKEN}}"
         index: "AEMaaCS"
       cdn:
         enabled: true
         token: "${{SPLUNK_TOKEN_CDN}}"
         index: "AEMaaCS_CDN"
NOTE
Amazon S3、Dynatrace、New Relicの場合、CDN ログはベータ版です。 これらは、プログラムがベータ版とcdn ブロックセット enabled: trueにアクセスできる場合にのみ転送されます。 Amazon S3、Dynatrace、New Relic(ベータ版)のCDN ログを参照してください。

もう 1 つのシナリオは、CDN ログまたは AEM ログ(Apache/Dispatcher を含む)のいずれかの転送を無効にすることです。 例えば、CDN ログのみを転送するには、次を設定します。

   kind: "LogForwarding"
   version: "1"
   data:
     splunk:
       default:
         enabled: true
         host: "splunk-host.example.com"
         token: "${{SPLUNK_TOKEN}}"
         index: "AEMaaCS"
       aem:
         enabled: false

トランスポートと高度なネットワーク transport-advancednetworking

一部の組織では、ログの宛先で受信できるトラフィックを制限することを選択する場合もあれば、HTTPS(443)以外のポートの使用を要求する場合もあります。 その場合は、ログ転送設定をデプロイする前に、高度なネットワークを設定する必要があります。

次の表を使用して、ポート 443 を使用しているかどうか、固定 IP アドレスからログを表示する必要があるかどうかに基づいて、高度なネットワークとログの設定の要件を確認します。 この表は、AEM ログ(Apache/Dispatcherを含む)に適用されます。 CDN ログについては、CDN ログとIP 許可リストを参照してください。

宛先ポート
固定 IP からログを表示するための要件があるか?
高度なネットワークが必要
LogForwarding.yaml ポート定義が必要
HTTPS(443)
不可
不可
不可
はい
はい、専用エグレス
いいえ
標準以外のポート(例:8088)
いいえ
はい、フレキシブルエグレス
はい
はい
はい、専用エグレス
はい
NOTE
ログが単一の IP アドレスから送信されるかどうかは、高度なネットワーク設定の選択によって決まります。 これを容易にするには、専用エグレスを使用する必要があります。
高度なネットワーク設定は、プログラムレベルと環境レベルでのイネーブルメントを必要とする 2 段階のプロセスです。
以下の注意によると、高度なネットワーク VPN接続でログ転送を使用することはできません。

AEM ログ(Apache/Dispatcherを含む)の場合、Advanced Networkingを設定している場合、aem.advancedNetworking プロパティを使用して、専用エグレス IP アドレスから転送できます。

次の例は、高度なネットワークを使用して標準の HTTPS ポートに対してログを設定する方法を示しています。

kind: "LogForwarding"
version: "1"
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      port: 443
      token: "${{SPLUNK_TOKEN}}"
      index: "aemaacs"
    aem:
      advancedNetworking: true

CDN ログとIP 許可リスト cdn-ip-allowlist

CDN ログは、AEM as a Cloud Serviceからではなく、CDN (Fastly)から直接送信されます。 これは、すべてのログ宛先に適用されます。

  • CDN ログは、https://api.fastly.com/public-ip-listに公開されたFastlyの共有IP アドレス範囲から送信されます。 専用エグレス IP アドレスから送信されることはありません。
  • advancedNetworking プロパティは、AEM ログ(Apache/Dispatcherを含む)にのみ適用されます。 CDN ログには影響しません。 advancedNetworkingが設定されていて、同じ宛先に対してCDN ログ転送が有効になっている場合、設定は警告をリマインダーとしてデプロイされます。
  • ロギング先が特定のIP アドレスからのトラフィックのみを受け入れる場合は、AEM ログの専用エグレス IP アドレスに加えて、Fastlyの公開IPv4およびIPv6範囲の​ all ​を許可リストに追加します。 専用エグレス IP アドレスのみを許可する宛先は、CDN ログを受信しません。
  • FastlyのIP アドレス範囲は、時間の経過とともに、時には数週間以内に変化します。 公開したリストを定期的に確認し、許可リストを最新の状態に保ちます。
  • Amazon S3には、CDN ログに関するその他の考慮事項があります。 Amazon S3 CDN ログ ​を参照してください。

共有IP アドレスのリストが許可リストに入りきれないほど大きい場合は、CDN ログをhttps サーバーまたは(Adobe以外の)Azure Blob Storeに送信することを検討してください。ここで、既知のIPから最終的な宛先にログを送信するためのロジックを記述できます。

NOTE
CDN ログが AEM ログと同じ IP アドレスから送信されることはありません。これは、ログが AEM Cloud Service ではなく Fastly から直接送信されるからです。
このため、高度なネットワーク VPN設定でログ転送を使用することはできません。

相互TLS (mTLS)認証(ベータ版) mtls

NOTE
mTLS for Log Forwardingはベータ版の機能です。 使用するには、プログラム IDと環境IDを記載したaemcs-logforwarding-beta@adobe.comに電子メールを送信します。

Splunk、Elasticsearch/OpenSearch、およびHTTPSの宛先は、相互TLS (mTLS)をサポートしています。 mTLSでは、AEM as a Cloud Serviceがログの宛先に接続する際にクライアント証明書を表示するので、宛先はログが自分の環境から来ていることを確認できます。 mTLSは、AEM ログ(Apache/Dispatcherを含む)とCDN ログに適用されます。

mTLSは、宛先の既存の認証と並行して動作します。 宛先の既存の認証プロパティ(token (Splunk)またはuser、password (Elasticsearch/OpenSearch)など)を保持します。 CDN ログを転送するHTTPS宛先の場合、authHeaderNameとauthHeaderValueが必要です。

設定 mtls-configuration

宛先の他のプロパティと一緒にmtls ブロックを追加します。

  • cert – 必須。 PEM形式のクライアント証明書。 その後に、クライアント証明書を最初に含む中間CA証明書を使用できます。
  • key – 必須。 クライアント証明書の秘密鍵(PEM形式)。 RSAおよびEC キーは、暗号化されていない、または暗号化されています。 ​ サポートされているキー形式を参照してください。
  • ca - オプション。 PEM形式のCA証明書は、宛先のサーバー証明書の検証に使用されます。 証明書チェーンなど、複数の証明書を含めることができます。 サーバー証明書がプライベート CAによって発行されたときに設定します。
  • keyPasswd - オプション。 秘密鍵のパスワード。 キーが暗号化されている場合にのみ設定します。

次の例では、mTLSを使用してAEMとCDN ログをSplunkに転送します。

kind: "LogForwarding"
version: "1"
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      token: "${{SPLUNK_TOKEN}}"
      index: "aemaacs"
      mtls:
        cert: "${{SPLUNK_MTLS_CERT}}"
        key: "${{SPLUNK_MTLS_KEY}}"
        ca: "${{SPLUNK_MTLS_CA}}"

次のルールが適用されます。

  • certとkeyは一緒に指定する必要があります。 caまたはkeyPasswdのみを含むmtls ブロックは拒否されます。
  • 各mtls プロパティは、${{SPLUNK_MTLS_CERT}}などの秘密参照である必要があり、それ以外は何も使用できません。 ファイル内に直接配置された証明書またはキーテキストは拒否されます。
  • Setupで説明されているように、各シークレットをCloud Manager Secret Environment Variableとして宣言します。 -----BEGIN行と-----END行を含むPEM テキスト全体を貼り付けます。 値をCloud Managerにペーストするときに改行が削除された場合、改行は自動的に復元されます。 複数の証明書を提供するには、同じ秘密鍵に次々と貼り付けます。
  • デプロイ時にクライアント証明書が確認されます。 有効なPEMとその有効期間内である必要があります。 certに複数の証明書が含まれている場合、クライアント証明書が最初に来て、証明書が有効なチェーンを形成する必要があります。 チェックが失敗した場合、デプロイメントは失敗します。

サポートされるキー形式 mtls-key-formats

キーのPEM テキストの最初の行は、その形式を示しています。

キー形式
PEM テキストの最初の行
RSA、PKCS#1
-----BEGIN RSA PRIVATE KEY-----
EC、SEC1
-----BEGIN EC PRIVATE KEY-----
PKCS#8 (RSAまたはEC)
-----BEGIN PRIVATE KEY-----
暗号化されたPKCS#8 (RSAまたはEC)
-----BEGIN ENCRYPTED PRIVATE KEY-----
AESまたはTriple DES (DES-EDE3-CBC)を使用した、暗号化された古い形式(RSAまたはEC)
-----BEGIN RSA PRIVATE KEY-----または-----BEGIN EC PRIVATE KEY-----、続いてProc-Type: 4,ENCRYPTED行およびDEK-Info行

暗号化されたキーの場合は、keyPasswdをそのパスワードに設定します。

暗号化されたPKCS#8は、暗号化されたキーに使用することをお勧めします。 古い形式のキーを変換するには、次のコマンドを使用します。このコマンドでは、現在のパスワードを求め、次に新しいキーのパスワードを求めます。

openssl pkcs8 -topk8 -v2 aes-256-cbc -in client.key -out client-pkcs8.key

client-pkcs8.keyのコンテンツをkeyが参照する秘密鍵に、そのパスワードをkeyPasswdが参照する秘密鍵に保存します。

CDN ログ mtls-cdn

他のプロパティと同様に、defaultの下のmtls ブロックは、AEM ログとCDN ログの両方に適用されます。 CDN ログに別の証明書を使用するには、cdn ブロックでmtls プロパティを設定します。 mTLSをAEM ログのみに使用するか、CDN ログのみに使用するには、defaultではなくaemまたはcdn ブロックにmtls ブロックを配置します。

宛先へのCDN ログ転送を有効にする設定をデプロイした後、最初のCDN ログが到着するまでに数分かかる場合があります。 HTTPS宛先の場合、CDN ログ配信も、サーバーがHTTPSで説明されている1回限りのチャレンジを完了した後にのみ開始されます。 チャレンジリクエストは同じクライアント証明書で送信されるため、サーバーはチャレンジパスでその証明書を受け入れる必要があります。

証明書のローテーションと有効期限 mtls-rotation

証明書をローテーションするには、証明書(および変更された場合はキー)を保持するCloud Manager シークレット環境変数を更新し、設定パイプラインを再実行します。 ログ転送設定ファイル自体が変更されていない場合は、設定が再度適用されるように、ログ転送設定ファイルにも変更を加えます。 例えば、新しいシークレット環境変数に新しい値を格納し、mtls ブロックでそれらの名前を参照します。

また、クライアント証明書の有効期限が切れるおよそ21日前に、プロアクティブな​ アクション センター通知が届く場合もあります。 この通知に頼ることなく、証明書の有効期限を自分で追跡できます。

ログの宛先設定 logging-destinations

サポートされているログの宛先の設定と、特定の考慮事項を以下に示します。

Amazon S3 amazons3

Amazon S3へのCDN ログはベータ版です。 アクセスをリクエストするには、aemcs-logforwarding-beta@adobe.comにプログラム IDをメールで送信してください。 有効にする方法については、Amazon S3、Dynatrace、およびNew Relic (ベータ版) ​のCDN ログを参照し、ファイルレイアウトと考慮事項についてはAmazon S3 CDN ログ ​を参照してください。

NOTE
AEM ログ(Apache/Dispatcherを含む)は、100 MBのログが収集された場合、または10分後のいずれか早い方のログが収集された場合に、ログファイルタイプごとにS3にアップロードされます。 これにより、機能を切り替えた後は、S3 へのログの書き込みに初期遅延が発生する場合があります。 この動作の詳細情報。 CDN ログの書き方は異なります。Amazon S3 CDN ログ ​を参照してください。
kind: "LogForwarding"
version: "1"
data:
  awsS3:
    default:
      enabled: true
      region: "your-bucket-region"
      bucket: "your-bucket-name"
      accessKey: "${{AWS_S3_ACCESS_KEY}}"
      secretAccessKey: "${{AWS_S3_SECRET_ACCESS_KEY}}"

AEM ログとCDN ログ(CDN ログはベータ版)の両方を転送するには:

kind: "LogForwarding"
version: "1"
data:
  awsS3:
    default:
      enabled: true
      region: "us-east-1"
      bucket: "your-bucket-name"
      accessKey: "${{AWS_S3_ACCESS_KEY}}"
      secretAccessKey: "${{AWS_S3_SECRET_ACCESS_KEY}}"
    cdn:
      enabled: true

CDN ログのみを転送するには(ベータ版):

kind: "LogForwarding"
version: "1"
data:
  awsS3:
    default:
      enabled: true
      region: "us-east-1"
      bucket: "your-bucket-name"
      accessKey: "${{AWS_S3_ACCESS_KEY}}"
      secretAccessKey: "${{AWS_S3_SECRET_ACCESS_KEY}}"
    aem:
      enabled: false
    cdn:
      enabled: true

S3 ログ転送ツールを使用するには、S3 バケットへのアクセスに関する適切なポリシーを AWS IAM ユーザーに事前設定する必要があります。 IAM ユーザー資格情報の作成方法について詳しくは、AWS IAM ユーザードキュメントを参照してください。

IAM ポリシーでは、ユーザーに s3:PutObject の使用を許可する必要があります。 (ベータ版) CDN ログを転送するには、s3:AbortMultipartUploadも許可します。 他の権限は必要ありません。ユーザーはバケットを読んだりリストしたりする必要はありません。 次に例を示します。

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "s3:PutObject",
            "s3:AbortMultipartUpload"
        ],
        "Resource": "arn:aws:s3:::your-bucket-name/*"
    }]
}

バケットがCDN ログのみを受信する場合は、Resourceをarn:aws:s3:::your-bucket-name/aemcdn/*に制限できます。

実装方法について詳しくは、AWS バケットポリシードキュメントを参照してください。

Amazon S3 CDN ログ(ベータ版) amazons3-cdn

Amazon S3へのCDN ログはベータ版です。 プログラムとcdn.enabled: trueへのアクセスが必要です。 Amazon S3、Dynatrace、New Relic(ベータ版)のCDN ログを参照してください。

CDN ログは、バケットのaemcdn/ フォルダーの下に書き込まれます。 ファイル名形式はYYYY-MM-DDThh:mm:ss.000-<uniqueid>.log.gzです。 次に例を示します。

aemcdn/
   2026-03-04T10:00:00.000-WnFWYN9BpOUs2aOVn4ee.log.gz
   2026-03-04T10:00:00.000-0pX8ub2yQcAmLs7rT1kd.log.gz
   2026-03-04T10:05:00.000-h3JkVv9ZqN2wE5sXyR0a.log.gz
  • ファイルはgzip圧縮されています。 各ファイルには、複数のログエントリ、1行に1つのJSON オブジェクトが含まれます。 これらのエントリのプロパティは、Azure Blob Storageに書き込まれたCDN ログと同じです。 ログ記録の書式については、AEM as a Cloud Serviceのログ記録で説明します。各ログ記録には、以下の​ ログ記録の書式節で説明されている追加の属性も含まれます。
  • 新しいファイルのセットは5分ごとに書き込まれます。 CDNには多くのサーバーがあり、トラフィックを処理する各サーバーは独自のファイルを書き込むため、トラフィックがほとんどなくても、5分ごとに多くのファイルが必要になります。 例えば、低トラフィックのテスト環境では、5分ごとに約50個のファイルが生成されました。
  • ログエントリは通常、リクエストの1~6分後にバケットに表示されます。
  • ファイル名の時間は正確な時間ウィンドウではなく、ファイルが重なります。 例えば、…T16:00:00.000-….log.gzという名前のファイルには、15:55から16:04までのエントリを格納できます。 各エントリのtimestamp プロパティを使用して、リクエストがいつ発生したかを検索します。
  • ファイルは書き込み後も変更されません。

お客様は、これらのファイルの処理と管理を担当します。例えば、aemcdn/接頭辞にS3 ライフサイクルルールを付けます。

CDN ログの考慮事項(ベータ版):

  • 認証は、IAM ユーザーのアクセスキーを使用します。 IAMの役割はサポートされていません。

  • IAM ユーザーに必要なのはs3:PutObjectとs3:AbortMultipartUploadのみです。 バケットの読み取りや一覧表示に権限は必要ありません。

  • Amazon S3 マネージドキー(SSE-S3)を使用したデフォルトのバケット暗号化がサポートされており、CDN ログファイルは保存時に暗号化されます。

  • 標準のAWS商用リージョンのバケットのみがサポートされます。 AWS GovCloud (米国)およびAWS China リージョンはサポートされていません。 region プロパティはバケットの領域である必要があります。

  • 却下されたアップロードは再試行されません。 バケットポリシーまたはIAM ユーザーの権限がCDN ログのアップロードを拒否した場合、そのアップロードのログエントリは警告なしで失われます。 これは、失敗したアップロードが再試行されるAEM ログとは異なります。 バケットポリシーまたはIAM ユーザーに対する変更で、CDNからのアップロードがブロックされないようにしてください。

  • バケットでのみ許可されるs3:PutObjectおよびs3:AbortMultipartUploadのIAM ユーザー(バケットがCDN ログのみを受信する場合はaemcdn/ プレフィックスでのみ許可される)と、IP アドレス条件を持たないバケットポリシーをお勧めします。

  • バケットポリシーでIP アドレスによるアクセスを制限する場合は、Fastlyの公開IPv4およびIPv6のすべての範囲をaws:SourceIp条件に追加し、最新の状態に保ちます。 CDN ログとIP 許可リストを参照してください。

  • VPC エンドポイント経由のリクエストのみを受け付けるバケット(例えば、aws:SourceVpce条件を持つバケットポリシー)は、CDN ログを受信できません。

  • 失われたCDN ログを検出するには、次の点を考慮してください。

    • AWS CloudTrail データイベントまたはS3 サーバーアクセスログ。 レコードは、FastlyのIP アドレスからPutObject件のリクエスト(HTTP ステータス 403)を拒否しました。
    • 新しいオブジェクトが予想以上に長くaemcdn/の下に到着しなかったときに起動するアラーム。 ファイルは5分ごとに書き込まれます。

Azure Blob Storage azureblob

kind: "LogForwarding"
version: "1"
data:
  azureBlob:
    default:
      enabled: true
      storageAccountName: "example_acc"
      container: "aem_logs"
      sasToken: "${{AZURE_BLOB_SAS_TOKEN}}

認証には、SAS トークンを使用する必要があります。 これは、共有アクセストークンページではなく、共有アクセス署名ページから作成し、次の設定を行う必要があります。

  • 許可するサービス:BLOBを選択する必要があります。
  • 許可されているリソース:オブジェクトとコンテナを選択する必要があります。
  • 許可されている権限:読み取り、書き込み、追加、リスト、作成を選択する必要があります。
  • 有効な開始日時と有効期限。 有効期限は、設定をデプロイする時点で、少なくとも3か月後である必要があります。

サンプル SAS トークン設定のスクリーンショットを次に示します。

Azure Blob SAS トークン設定

以前は正常に機能していたログの配信が停止した場合は、設定した SAS トークンが期限切れになっていることがあるので、まだ有効かどうかを確認します。

Azure Blob Storage CDN ログ azureblob-cdn

グローバルに分散された各ログサーバーは、aemcdn フォルダーの下に数秒ごとに新しいファイルを生成します。 一度作成したファイルは、それ以降は追加されません。 ファイル名の形式は、YYYY-MM-DDThhss.sss-uniqueid.log です。 例:2024-03-04T10:00:00.000-WnFWYN9BpOUs2aOVn4ee.log.

例えば、ある時点で次のようになります。

aemcdn/
   2024-03-04T10:00:00.000-abc.log
   2024-03-04T10:00:00.000-def.log

30 秒後には、次のようになります。

aemcdn/
   2024-03-04T10:00:00.000-abc.log
   2024-03-04T10:00:00.000-def.log
   2024-03-04T10:00:30.000-ghi.log
   2024-03-04T10:00:30.000-jkl.log
   2024-03-04T10:00:30.000-mno.log

各ファイルには、それぞれが別の行に記述された複数の JSON ログエントリが含まれます。 ログエントリの形式について詳しくは、AEM as a Cloud Service のログを参照してください。また、各ログエントリには、次のログエントリ形式の節で説明するその他のプロパティも含まれます。

Azure Blob Storage AEM ログ azureblob-aem

AEM ログ(Apache/Dispatcher を含む)は、次の命名規則に従ってフォルダーの下に表示されます。

  • aemaccess
  • aemerror
  • aemrequest
  • aemdispatcher
  • aemhttpdaccess
  • aemhttpderror

各フォルダーの下に単一のファイルが作成され、追記されます。 このファイルが大きくなりすぎないように、処理と管理はお客様の責任となります。

AEM as a Cloud Service のログのログエントリ形式を参照してください。 ログエントリには、次のログエントリ形式の節で説明するその他のプロパティも含まれます。

Datadog datadog

kind: "LogForwarding"
version: "1"
data:
  datadog:
    default:
      enabled: true
      host: "http-intake.logs.datadoghq.eu"
      token: "${{DATADOG_API_KEY}}"
      tags:
         tag1: value1
         tag2: value2

考慮事項

  • 特定のクラウドプロバイダーとの統合を行わずに、API キーを作成します。
  • tags プロパティはオプションです
  • AEM ログの場合、Datadog ソースタグは、aemaccess、aemerror、aemrequest、aemdispatcher、aemhttpdaccess または aemhttpderror のいずれかに設定されます
  • CDN ログの場合、Datadog ソースタグは、aemcdn に設定されます
  • Datadog サービスタグは、adobeaemcloud に設定されていますが、tags セクションで上書きできます
  • ログ転送用の適切なインデックスを決定するために、取り込みパイプラインで Datadog タグを使用している場合は、ログ転送 YAML ファイルでこれらのタグが正しく設定されていることを確認します。 タグが欠落していると、パイプラインがタグに依存している場合に、ログの取り込みに成功しないことがあります。

Elasticsearch および OpenSearch elastic

kind: "LogForwarding"
version: "1"
data:
  elasticsearch:
    default:
      enabled: true
      host: "example.com"
      user: "${{ELASTICSEARCH_USER}}"
      password: "${{ELASTICSEARCH_PASSWORD}}"
      pipeline: "ingest pipeline name"

考慮事項

  • デフォルトでは、ポートは 443 です。 オプションで port というプロパティで上書きできます
  • 資格情報には、アカウント資格情報ではなく、デプロイメント資格情報を使用します。 これらは、次の画像のような画面で生成される資格情報です。

Elastic デプロイメント資格情報

  • AEM ログの場合、index は、aemaccess、aemerror、aemrequest、aemdispatcher、aemhttpdaccess または aemhttpderror のいずれかに設定されます
  • オプションのパイプラインプロパティは、Elasticsearch または OpenSearch 取り込みパイプラインの名前に設定する必要があります。このパイプラインは、ログエントリを適切なインデックスにルーティングするように設定できます。 パイプラインのプロセッサータイプは script に設定し、スクリプト言語は painless に設定する必要があります。 次に、ログエントリを aemaccess_dev_26_06_2024 などのインデックスにルーティングするサンプルスクリプトスニペットを示します。
def envType = ctx.aem_env_type != null ? ctx.aem_env_type : 'unknown';
def sourceType = ctx._index;
def date = new SimpleDateFormat('dd_MM_yyyy').format(new Date());
ctx._index = sourceType + "_" + envType + "_" + date;

HTTPS https

kind: "LogForwarding"
version: "1"
data:
  https:
    default:
      enabled: true
      url: "https://example.com/aem_logs/aem"
      authHeaderName: "X-AEMaaCS-Log-Forwarding-Token"
      authHeaderValue: "${{HTTPS_LOG_FORWARDING_TOKEN}}"

考慮事項

  • URL 文字列には https:// を含める必要があります。そうしないと検証が失敗します。
  • URL にはポートを含めることができます。 例えば、https://example.com:8443/aem_logs/aem のようになります。 URL 文字列にポートが含まれていない場合、ポート 443(デフォルトの HTTPS ポート)が想定されます。

HTTPS CDN ログ https-cdn

Web リクエスト(POST)は、ログエントリの配列である JSON ペイロードを使用して継続的に送信されます。ログエントリ形式について詳しくは、AEM as a Cloud Service のログを参照してください。 その他のプロパティについて詳しくは、次のログエントリ形式の節を参照してください。

また、sourcetype という名前のプロパティもあり、その値は aemcdn に設定されています。

NOTE
最初の CDN ログエントリが送信される前に、HTTP サーバーは 1 回限りのチャレンジを正常に完了する必要があります。つまり、パス /.well-known/fastly/logging/challenge に送信されたリクエストは、本文にアスタリスク * が含まれ、ステータスコード 200 で応答する必要があります。

HTTPS AEM ログ https-aem

AEM ログ(apache/dispacher を含む)の場合、web リクエスト(POST) は、ログエントリの配列である JSON ペイロードを使用して継続的に送信されます。様々なログエントリ形式について詳しくは、AEM as a Cloud Service のログを参照してください。 その他のプロパティについて詳しくは、次のログエントリ形式の節を参照してください。

また、Source-Type という名前のプロパティもあり、その値は次のいずれかに設定されています。

  • aemaccess
  • aemerror
  • aemrequest
  • aemdispatcher
  • aemhttpdaccess
  • aemhttpderror

New Relic Log API newrelic-https

New Relicへのログ転送では、取り込みにNew Relic HTTPS Log APIを利用します。 New RelicへのCDN ログはベータ版です。 アクセスをリクエストするには、aemcs-logforwarding-beta@adobe.comにプログラム IDをメールで送信してください。 有効にする方法については、Amazon S3、Dynatrace、およびNew Relic(ベータ版) 🔗のCDN ログを参照してください。

  kind: "LogForwarding"
  version: "1"
  data:
    newRelic:
      default:
        enabled: true
        uri: "https://log-api.newrelic.com/log/v1"
        apiKey: "${{NR_API_KEY}}"

AEM ログとCDN ログ(CDN ログはベータ版)の両方を転送するには:

  kind: "LogForwarding"
  version: "1"
  data:
    newRelic:
      default:
        enabled: true
        uri: "https://log-api.newrelic.com/log/v1"
        apiKey: "${{NR_API_KEY}}"
      cdn:
        enabled: true

CDN ログのみを転送するには(ベータ版):

  kind: "LogForwarding"
  version: "1"
  data:
    newRelic:
      default:
        enabled: true
        uri: "https://log-api.newrelic.com/log/v1"
        apiKey: "${{NR_API_KEY}}"
      aem:
        enabled: false
      cdn:
        enabled: true
NOTE
New Relic へのログ転送は、お客様が所有している New Relic アカウントでのみ使用できます。

考慮事項

  • New Relic では、New Relic アカウントがプロビジョニングされている場所に基づいて、地域固有のエンドポイントを提供します。 アカウントのリージョンのLog API エンドポイントにuriを設定します(例:米国リージョンのアカウントの場合はhttps://log-api.newrelic.com/log/v1)。 詳しくは、New Relic ドキュメントを参照してください。
  • apiKeyの場合、ログを受け取るアカウントからNew Relicのライセンスキー(キータイプ INGEST - LICENSE)を使用します。 同じキーがAEM ログとCDN ログに使用されます。
  • AEM ログの場合、source属性はaemaccess、aemerror、aemrequest、aemdispatcher、aemhttpdaccess、またはaemhttpderrorのいずれかに設定されます。 CDN ログ (ベータ版)の場合、sourceはaemcdnに設定され、各レコードはすべてのCDN ログプロパティを保持します。 例えば、CDN ログをクエリするには:FROM Log SELECT * WHERE source = 'aemcdn' SINCE 1 hour ago。
  • New Relicに送信されたCDN ログエントリ(ベータ版)では、timestampは数値です。Unix エポックからのリクエスト開始時間(ミリ秒単位)です。 他のログの宛先は、timestampをISO 8601文字列として受け取ります。
  • CDN ログ(ベータ版)は、New Relicの取り込みに大幅な量を追加する可能性があります。 Amazon S3、Dynatrace、New Relic(ベータ版)のCDN ログを参照してください。

Dynatrace Log API dynatrace-https

Dynatrace へのログ転送では、ログの取り込みに Dynatrace HTTPS API を使用します。 DynatraceへのCDN ログはベータ版です。 アクセスをリクエストするには、aemcs-logforwarding-beta@adobe.comにプログラム IDをメールで送信してください。 有効にする方法については、Amazon S3、Dynatrace、およびNew Relic(ベータ版) 🔗のCDN ログを参照してください。

トークンには、インジェスト ログ (logs.ingest)のスコープが必要です。 同じトークンがAEM ログとCDN ログに使用されます。

  kind: "LogForwarding"
  version: "1"
  data:
    dynatrace:
      default:
        enabled: true
        environmentId: "${{DYNATRACE_ENVID}}"
        token: "${{DYNATRACE_TOKEN}}"

AEM ログとCDN ログ(CDN ログはベータ版)の両方を転送するには:

  kind: "LogForwarding"
  version: "1"
  data:
    dynatrace:
      default:
        enabled: true
        environmentId: "${{DYNATRACE_ENVID}}"
        token: "${{DYNATRACE_TOKEN}}"
      cdn:
        enabled: true

CDN ログのみを転送するには(ベータ版):

  kind: "LogForwarding"
  version: "1"
  data:
    dynatrace:
      default:
        enabled: true
        environmentId: "${{DYNATRACE_ENVID}}"
        token: "${{DYNATRACE_TOKEN}}"
      aem:
        enabled: false
      cdn:
        enabled: true

考慮事項

  • サポートされているのは、Dynatrace SaaS環境のみです。 environmentIdは、環境URL https://<environmentId>.live.dynatrace.comのIDです。 URLやホスト名ではなく、IDのみを使用してください。CDN ログの場合は、ドットを含めることはできません。 Dynatrace Managed エンドポイントとActiveGate エンドポイントはサポートされていません。
  • 各ログエントリには、source プロパティが含まれます。 AEM ログの場合は、aemaccess、aemerror、aemrequest、aemdispatcher、aemhttpdaccessまたはaemhttpderrorのいずれかです。 CDN ログ (ベータ版)の場合はaemcdnです。
  • CDN ログ(ベータ版)は、Dynatraceの取り込みに大幅な量を追加する可能性があります。 Amazon S3、Dynatrace、New Relic(ベータ版)のCDN ログを参照してください。

DynatraceでのCDN ログの検索(ベータ版) dynatrace-cdn

Dynatraceは、各CDN ログエントリをJSON テキストとしてログレコードのcontentに保存し、エントリのtimestampをレコード時間として使用します。 source、url、statusなどのCDN ログプロパティは、個別のログ属性ではありません。 Dynatraceに転送されるAEM ログにも同じことが適用されます。 これにより、以下を実現できます。

  • クラシックログビューアのシンプルモードのフィルターは、これらのプロパティでは機能しません。 存在しない属性のフィルターは無視されるので、すべてのログが返されます。
  • これらのレコードのログ statusにはNONEが表示されます。これは、CDN status プロパティがログレベルではなくHTTP ステータスコードであるためです。

代わりに、アドバンスドモード(DQL)を使用してください。 過去1時間のCDN ログを検索するには:

fetch logs, from: now() - 1h
| filter matchesPhrase(content, "aemcdn")

CDN ログプロパティを解析し、一部を表示するには:

fetch logs, from: now() - 1h
| parse content, "JSON:cdn"
| filter cdn[source] == "aemcdn"
| fields timestamp, cdn[url], cdn[status], cdn[pop], cdn[cache], cdn[aem_tier]

Splunk splunk

kind: "LogForwarding"
version: "1"
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      token: "${{SPLUNK_TOKEN}}"
      index: "aemaacs"

考慮事項

  • デフォルトでは、ポートは 443 です。 オプションで port というプロパティで上書きできます
  • sourcetype フィールドには、特定のログに応じて、次のいずれかの値が設定されます。aemaccess、aemerror、
    aemrequest、aemdispatcher、aemhttpdaccess、aemhttpderror、aemcdn
  • 必要な IP が許可リストに登録されていてもログが配信されない場合は、Splunk トークンの検証を適用するファイアウォールルールがないことを確認します。 Fastly は、無効な Splunk トークンが意図的に送信される最初の検証ステップを実行します。 ファイアウォールが無効な Splunk トークンとの接続を終了するように設定されている場合、検証プロセスは失敗し、Fastly が Splunk インスタンスにログを配信できなくなります。
NOTE
従来のログ転送からこのセルフサービスモデルに移行する場合、Splunk インデックスに送信される sourcetype フィールドの値が変更されていることがあるので、それに応じて調整します。

Sumo Logic sumologic

Sumo Logic をデータ取り込み用に設定すると、ホスト、receiverURI、秘密鍵を単一の文字列で提供する「HTTP ソースアドレス」が表示されます。 例:

https://collectors.de.sumologic.com/receiver/v1/http/ZaVnC...

URL の最後のセクション(先頭の / を除く)をコピーし、上記の設定の節で説明したように、CloudManager 秘密鍵環境変数として追加し、設定でその変数を参照する必要があります。 次に例を示します。

kind: "LogForwarding"
version: "1"
data:
  sumoLogic:
    default:
      enabled: true
      collectorURL: "https://collectors.de.sumologic.com/receiver/v1/http"
      privateKey: "${{SUMOLOGIC_PRIVATE_KEY}}"
      index: "aem-logs"
NOTE
index フィールドの動作は、ログの種類によって異なります。
  • AEM ログ (Apache/Dispatcherを含む): Sumo Logic Enterprise サブスクリプションがある場合は、indexで指定されたパーティションにルーティングされます。 エンタープライズ以外のサブスクリプションは、代わりにsumologic_default パーティションにルーティングされます。
  • CDN ログ: index フィールドは無視されます。これは、Sumo Logicに転送されるCDN ログでは、インデックス作成が技術的にサポートされていないためです。 CDN ログは常にsumologic_default パーティションにルーティングされます。
詳しくは、Sumo Logic パーティションドキュメントを参照してください。

Amazon S3、Dynatrace、New RelicのCDN ログ(ベータ版) cdn-opt-in

Amazon S3、Dynatrace、New RelicへのCDN ログ転送はベータ版です。 これらの宛先へのAEM ログ(Apache/Dispatcherを含む)の転送は影響を受けず、リクエストは必要ありません。

CDN ログをいずれかの宛先に転送するには、両方の手順を実行します。

  1. プログラムへのアクセスをリクエストします。 プログラム IDと使用する宛先をaemcs-logforwarding-beta@adobe.comに電子メールで送信します。 Adobeは、プログラムに対してアクセスが有効になっている場合に応答します。
  2. 各宛先のCDN ログを有効にします。 アクセスが有効になったら、ログ転送設定の宛先のcdn ブロックにenabled: trueを設定し、設定パイプラインを実行します。 下の例を参照してください。

両方の手順が必要です。

  • アクセスだけでは、CDN ログは転送されません。 ほとんどのログ送信先では、有効なdefault ブロックがAEM ログとCDN ログの両方を転送します。 Amazon S3 (awsS3)、Dynatrace (dynatrace)、およびNew Relic (newRelic)の場合、cdn ブロックがenabled: trueを明示的に設定すると、CDN ログは​ のみ ​に転送されます。
  • プログラムに対してアクセスが有効になる前にcdn.enabled: trueを設定すると、設定はエラーなしでデプロイされますが、CDN ログはこれらの宛先に転送されません。

cdn ブロックは、資格情報を含むdefault ブロックから他のすべてのプロパティを継承するため、enabled: trueは追加する必要がある唯一のプロパティです。

kind: "LogForwarding"
version: "1"
data:
  newRelic:
    default:
      enabled: true
      uri: "https://log-api.newrelic.com/log/v1"
      apiKey: "${{NR_API_KEY}}"
    cdn:
      enabled: true

アクセス権を持つプログラムの場合、設定は次のように機能します。

設定
AEM ログ
Amazon S3、Dynatrace、New Relicに対するCDN ログ
CDN ログを他の宛先に送信
default.enabled: trueのみ
転送済み
転送なし (2027年1月26日まで)
転送済み
default.enabled: true および cdn.enabled: true
転送済み
転送済み
転送済み
default.enabled: true および cdn.enabled: false
転送済み
未転送
未転送
default.enabled: true、aem.enabled: false、cdn.enabled: true
未転送
転送済み
転送済み

他の宛先と同様に、cdn ブロックで設定されたプロパティは、defaultの値を上書きします。 CDN ログのみを転送するには、最終行と同様にaem.enabled: falseを設定します。

CDN ログの転送を停止するには、cdn.enabled: falseを設定し、設定パイプラインを実行します。 その宛先へのCDN ログ転送は、設定がデプロイされたときに停止します。 AEMのログは影響を受けません。

NOTE
CDN ログがこれらの宛先に対してオプトインする理由
CDN ログ転送が利用可能になる前に、多くの組織がAEM ログ用にAmazon S3、Dynatrace、またはNew Relicを設定しました。 CDN ログには、CDN キャッシュから提供されるリクエストを含め、CDNが処理するすべてのリクエストのエントリが含まれているため、通常はAEM ログよりもはるかに大きくなります。 また、AEM ログとは異なるIP アドレスからも送信されます(Transport & Advanced Networkingを参照)。 cdn.enabled: trueを要求すると、既存の設定では、予期しない取り込みコストやトラフィックが発生することなく、AEM ログのみを転送し続け、決定する時間を確保できます。
IMPORTANT
アクセス要求とオプトインは一時的なものです。 2027年1月26日(火)以降、アクセス要求は必要ありません。Amazon S3、Dynatrace、New Relicは、他の宛先と同じルールに従います。有効なdefault ブロックは、CDN ログも転送します。 これらの宛先のいずれかにAEM ログのみを転送し続けるには、cdn.enabled: falseを設定します。 今すぐ設定できます。その日付の前後で同じ効果があります。

CDN ログを有効にする前に、追加ボリュームを推定します。 DynatraceやNew Relicなど、取り込んだボリュームで請求されるベンダーのログは、AEM ログと同じようにCDN ログに課金されます。

ベータ版に関するフィードバックを提供するには、aemcs-logforwarding-beta@adobe.comにメールを送信してください。

ログエントリ形式 log-formats

各ログタイプ(CDN ログ、Apache/Dispatcher を含む AEM ログ)の形式について詳しくは、AEM as a Cloud Service のログを参照してください。 一部のログ宛先では、CDN ログエントリのプロパティを追加または変更します。例えば、New Relicの場合はtimestampの形式を指定します。 宛先🔗をログに記録して、CDN ログエントリを参照してください。

複数のプログラムや環境からのログが同じログの宛先に転送される場合があるので、ログの記事で説明されている出力に加えて、各ログエントリには次のプロパティが含まれます。

  • aem_env_id
  • aem_env_type
  • aem_program_id
  • aem_tier

例えば、プロパティには次の値を含めることができます。

aem_env_id: 1242
aem_env_type: dev
aem_program_id: 12314
aem_tier: author

従来のログ転送からの移行 legacy-migration

ログ転送の設定がセルフサービスモデルを通じて実現される前は、お客様がサポートチケットを開くようリクエストされ、アドビが統合を開始していました。

アドビによってそのように設定されたお客様は、ご都合のよいときにセルフサービスモデルに移行できます。 この移行を行う理由がいくつかあります。

  • 新しい環境(例:新しい開発環境または RDE)のプロビジョニング。
  • 既存の Splunk エンドポイントまたは資格情報に対する変更。
  • CDN ログが使用可能になる前にアドビがログ転送を設定しており、CDN ログの受信を希望している。
  • 時間的な制約のある変更が必要になる前に、組織が知識を得られるよう、セルフサービスモデルにプロアクティブに適応するという意識的な決定。

移行の準備が整ったら、前の節で説明したように YAML ファイルを設定するだけです。 Cloud Manager 設定パイプラインを使用して、設定を適用する必要がある各環境にデプロイします。

すべての環境に設定をデプロイし、セルフサービスで制御できるようにすることをお勧めしますが、必須ではありません。 そうしないと、アドビが設定した環境とセルフサービスで設定した環境を区別できなくなる場合があります。

NOTE
Splunk インデックスに送信される sourcetype フィールドの値が変更されていることがあるので、それに応じて調整します。
アドビサポートが以前に設定した環境にログ転送をデプロイすると、最大で数時間、重複したログを受信する場合があります。 これは最終的には自動的に解決されます。
recommendation-more-help
experience-manager-cloud-service-help-main-toc