記錄轉送 log-forwarding

NOTE
雙向TLS (mTLS)驗證的測試版適用於Splunk、Elasticsearch/OpenSearch和HTTPS目的地,以及AEM記錄(包括Apache/Dispatcher)和CDN記錄。 若要加入,請以電子郵件傳送aemcs-logforwarding-beta@adobe.com,其中包含您的方案ID和環境ID。 請參閱雙向TLS (mTLS)驗證。
NOTE
記錄轉送現在以自助方式設定,有別於傳統方法(需要提交Adobe支援票證)。 如果您的記錄轉送是由Adobe設定,請參閱移轉區段。
NOTE
AEM as a Cloud Service也支援透過OpenTelemetry (OTLP)傳送記錄檔,這是OpenTelemetry (有限可用性)的一部分。 如果在相同目的地啟用兩者,您會在該處收到重複的日誌訊息 — 如需詳細資訊,請參閱該頁面。

擁有記錄廠商授權或託管記錄產品的客戶可以將AEM記錄(包括Apache/Dispatcher)和CDN記錄轉送至相關聯的記錄目的地。 AEM as a Cloud Service支援下列記錄目的地:

記錄技術
AEM
Dispatcher
CDN
mTLS
Amazon S3
是
是
Beta [1]
否
Azure Blob儲存
是
是
是
否
DataDog
是
是
是
否
Dynatrace
是
是
Beta [1]
否
Elasticsearch
OpenSearch
是
是
是
Beta
HTTPS
是
是
是
Beta
New Relic
是
是
Beta [1]
否
Splunk
是
是
是
Beta
相撲邏輯
是
是
是
否

[1] CDN記錄檔轉送至Amazon S3、Dynatrace和New Relic已進入測試版。 若要要求存取權,請使用您的程式識別碼以電子郵件傳送aemcs-logforwarding-beta@adobe.com。 啟用存取權後,您也會針對每個具有cdn.enabled: true的目的地,開啟CDN記錄檔。 檢視Amazon S3、Dynatrace和New Relic (測試版)的CDN記錄。

NOTE
在mTLS資料行中標示為​ Beta ​的記錄技術支援AEM、Dispatcher和CDN記錄的使用者端憑證驗證(雙向TLS)。 mTLS為測試版;若要要求存取權,請傳送電子郵件至aemcs-logforwarding-beta@adobe.com,其中包含您的方案ID和環境ID。 請參閱雙向TLS (mTLS)驗證。

記錄轉送是透過在Git中宣告設定以自助方式設定,並可透過Cloud Manager設定管道部署至開發、中繼和生產環境型別。 可以使用命令列工具將設定檔案部署至快速開發環境 (RDE) 中。

AEM和Apache/Dispatcher記錄檔可選擇透過AEM的進階網路基礎結構(例如專用輸出IP)進行路由。 CDN記錄會一律直接從CDN傳送,不使用進階網路。 請參閱傳輸與進階網路。

本文的結構方式 how-organized

本文章的編排方式如下:

  • 設定 — 適用於所有記錄目的地
  • 傳輸與進階網路 — 在建立記錄組態之前,應考慮網路設定
  • 雙向TLS (mTLS)驗證(測試版) — 使用使用者端憑證向Splunk、Elasticsearch/OpenSearch和HTTPS目標進行驗證
  • 記錄目的地設定 — 每個目的地的格式稍有不同
  • Amazon S3、Dynatrace和New Relic (測試版)的CDN記錄 — 如何請求這些目的地的CDN記錄存取權並啟用它們
  • 記錄專案格式 — 記錄專案格式的相關資訊
  • 從舊版記錄轉送移轉 — 如何從Adobe先前設定的記錄轉送移至自助方法

設定 setup

  1. 建立一個名為 logForwarding.yaml 的檔案。 它應該包含中繼資料,如設定管道文章中所述(kind​應該設定為LogForwarding且版本設定為"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 秘密環境變數。 請務必選取「全部」作為「已套用服務」欄位的下拉式清單值,以便將記錄檔轉送至作者、發佈及預覽層級。

您可以在CDN記錄檔與AEM記錄檔(包括Apache/Dispatcher)之間設定不同的值,方法是在​ 預設 ​區塊之後加入額外的​ cdn ​和/或​ aem ​區塊,其中的屬性可以覆寫​ 預設 ​區塊中定義的屬性;只需要啟用的屬性。 一個可能的使用案例是對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記錄為測試版。 只有在您的程式可存取Beta版且cdn區塊組別為enabled: true時,才會轉送這些專案。 檢視Amazon S3、Dynatrace和New Relic (測試版)的CDN記錄。

另一種情況是停用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位址顯示記錄取決於您選擇的進階網路設定。 必須使用專用輸出來處理這個問題。
進階網路設定是兩步驟程式,需要在程式和環境層級啟用。
根據以下注意事項,無法將記錄轉送與進階網路VPN連線一起使用。

對於AEM記錄檔(包括Apache/Dispatcher),如果您已設定進階網路,則可以使用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記錄會直接從CDN (Fastly)傳送,而非從AEM as a Cloud Service。 這適用於每個記錄目的地:

  • CDN記錄檔是從Fastly的共用IP位址範圍傳送,發佈在https://api.fastly.com/public-ip-list。 絕對不會從您的專用輸出IP位址傳送電子郵件。
  • advancedNetworking屬性僅適用於AEM記錄檔(包括Apache/Dispatcher)。 它對CDN記錄沒有影響。 如果已設定advancedNetworking且為相同目的地啟用CDN記錄轉送,則會部署設定並警告作為提醒。
  • 如果您的記錄目的地只接受來自特定IP位址的流量,除了您的AEM記錄專用輸出IP位址之外,還將Fastly已發佈的IPv4和IPv6範圍的​ 所有 ​新增到其允許清單。 只允許專用輸出IP位址的目的地不會收到CDN記錄。
  • Fastly的IP位址範圍會隨著時間而改變,有時在幾週內。 請定期檢閱已發佈的清單,並保持您的允許清單為最新狀態。
  • Amazon S3對CDN記錄有其他考量事項。 請參閱Amazon S3 CDN記錄檔。

如果共用IP位址清單太大而無法加入允許清單,請考慮將CDN記錄傳送至https伺服器或(非Adobe)Azure Blob存放區,其中可寫入邏輯,以將已知IP的記錄傳送至其最終目的地。

NOTE
CDN記錄無法顯示來自與您的AEM記錄顯示來源相同的IP位址,因為記錄會直接從Fastly傳送,而不是AEM Cloud Service。
因此,無法將記錄轉送與進階網路VPN設定搭配使用。

雙向TLS (mTLS)驗證(測試版) mtls

NOTE
記錄轉送的mTLS是測試版功能。 若要使用它,請傳送電子郵件至aemcs-logforwarding-beta@adobe.com,其中包含您的程式ID和環境ID。

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}},且沒有其他參考。 直接放在檔案中的憑證或金鑰文字遭到拒絕。
  • 將每個密碼宣告為Cloud Manager 密碼環境變數,如設定中所述。 貼上完整的PEM文字,包括-----BEGIN和-----END行。 如果您將值貼入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-----
加密的較舊格式(RSA或EC),使用AES或三重DES (DES-EDE3-CBC)
-----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記錄檔,請將mtls區塊放在aem或cdn區塊中,而非default。

在您部署可啟用CDN記錄轉送至目的地的設定後,可能需要幾分鐘才會有第一個CDN記錄送達。 針對HTTPS目的地,CDN記錄傳送也只有在伺服器完成HTTPS中說明的一次性挑戰後才開始。 挑戰要求會以相同的使用者端憑證傳送,因此您的伺服器也必須接受挑戰路徑上的該憑證。

憑證輪換與到期 mtls-rotation

若要旋轉憑證,請更新儲存憑證的Cloud Manager秘密環境變數(以及金鑰,如果變更),然後重新執行設定管道。 如果記錄轉送組態檔本身未變更,請同時對其進行變更,以便再次套用組態。 例如,將新值儲存在新的機密環境變數中,並在mtls區塊中參照這些名稱。

您也可以在使用者端憑證過期前21天,收到主動式動作中心通知。 自行追蹤憑證到期日,而非依賴此通知。

記錄目的地組態 logging-destinations

以下列出支援的記錄目的地的設定以及任何特定考量。

Amazon S3 amazons3

Amazon S3的CDN記錄為測試版。 若要要求存取權,請使用您的程式識別碼以電子郵件傳送aemcs-logforwarding-beta@adobe.com。 請參閱Amazon S3、Dynatrace和New Relic (測試版)的CDN記錄檔以瞭解如何啟用它們,並參閱Amazon S3 CDN記錄檔以瞭解檔案版面配置和考量事項。

NOTE
在收集100 MB記錄時或10分鐘後(以先發生者為準),AEM記錄(包括Apache/Dispatcher)會針對每種記錄檔案型別上傳至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記錄轉寄站,您需要預先設定AWS IAM使用者,並為該使用者提供存取S3儲存貯體的適當原則。 如需如何建立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壓縮。 每個檔案包含多個記錄專案,每行一個JSON物件。 這些專案的屬性與寫入Azure Blob儲存體的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中國地區。 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儲存 azureblob

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

SAS權杖應該用於驗證。 應從共用存取權杖頁面而非共用存取權杖頁面中建立,並應使用下列設定進行設定:

  • 允許的服務:必須選取Blob。
  • 允許的資源:必須選取物件和容器。
  • 允許的許可權:必須選取讀取、寫入、新增、清單、建立。
  • 有效的開始和到期日期/時間。

以下是範例SAS權杖設定的熒幕擷圖:

Azure Blob SAS權杖組態

如果記錄檔在先前正常運作後停止傳遞,請檢查您所設定的SAS權杖是否仍然有效,因為它可能已過期。

Azure Blob儲存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儲存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金鑰,而不與特定雲端提供者進行任何整合。
  • 標籤屬性是選用的
  • 對於AEM記錄檔,Datadog來源標籤設為aemaccess、aemerror、aemrequest、aemdispatcher、aemhttpdaccess或aemhttpderror其中之一
  • 對於CDN記錄,Datadog來源標籤設為aemcdn
  • Datadog服務標籤已設定為adobeaemcloud,但您可以在標籤區段中覆寫它
  • 如果您的內嵌管道使用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的屬性覆寫
  • 對於認證,請務必使用部署認證,而不是帳戶認證。 這些是在畫面中產生的認證,可能類似於此影像:

彈性部署認證

  • 針對AEM記錄檔,index設定為aemaccess、aemerror、aemrequest、aemdispatcher、aemhttpdaccess或aemhttpderror其中之一
  • 選用管道屬性應該設定為Elasticsearch或OpenSearch擷取管道的名稱,可以將其設定為將記錄專案路由到適當的索引。 管道的處理器型別必須設定為​指令碼,而且指令碼語言應設定為​無痛苦的。 以下是指令碼片段範例,可將記錄專案路由至索引,例如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記錄。 以下Log Entry Formats區段中提及其他屬性。

還有名稱為sourcetype的屬性,其設定為值aemcdn。

NOTE
在傳送第一個CDN記錄專案之前,您的HTTP伺服器必須成功完成一次性質詢:傳送至路徑/.well-known/fastly/logging/challenge的要求必須在內文中以星號*回應,且狀態碼為200。

HTTPS AEM記錄 https-aem

對於AEM記錄檔(包括apache/dispacher),網路要求(POST)將會持續傳送,其json裝載為記錄專案陣列,並具有各種記錄專案格式,如AEM as a Cloud Service記錄中所述。 以下Log Entry Formats區段中提及其他屬性。

也有名為Source-Type的屬性,其設定為下列其中一個值:

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

New Relic記錄API newrelic-https

記錄轉送至New Relic會利用New Relic HTTPS記錄API來擷取。 New Relic的CDN記錄為測試版。 若要要求存取權,請使用您的程式識別碼以電子郵件傳送aemcs-logforwarding-beta@adobe.com。 請參閱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帳戶布建位置,提供區域特定的端點。 將uri設為您帳戶所在地區的記錄API端點,例如,為美國地區帳戶的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記錄API dynatrace-https

記錄轉送至Dynatrace會利用Dynatrace HTTPS API來擷取。 Dynatrace的CDN記錄為測試版。 若要要求存取權,請使用您的程式識別碼以電子郵件傳送aemcs-logforwarding-beta@adobe.com。 請參閱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或主機名稱:對於CDN記錄,其不能包含點。 不支援Dynatrace Managed和ActiveGate端點。
  • 每個記錄專案都包含source屬性。 對於AEM記錄,它是aemaccess、aemerror、aemrequest、aemdispatcher、aemhttpdaccess或aemhttpderror之一。 CDN記錄檔(測試版)為aemcdn。
  • CDN記錄(測試版)可為Dynatrace擷取新增大量流量。 檢視Amazon S3、Dynatrace和New Relic (測試版)的CDN記錄。

在Dynatrace (Beta)中尋找CDN記錄 dynatrace-cdn

Dynatrace會將每個CDN記錄專案儲存為記錄記錄的content中的JSON文字,並使用專案的timestamp作為記錄時間。 CDN記錄檔屬性(例如source、url和status)不是個別的記錄檔屬性。 這同樣適用於轉送至Dynatrace的AEM記錄檔。 因此:

  • 傳統記錄檢視器簡單模式中的篩選器無法用於這些屬性。 系統會忽略不存在的屬性上的篩選器,所以會傳回所有記錄。
  • 這些記錄的記錄status顯示NONE,因為CDN status屬性是HTTP狀態代碼,而不是記錄層級。

請改用進階模式(DQL)。 若要尋找過去一小時的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欄位值可能已變更,因此請適當的調整。

相撲邏輯 sumologic

在設定Sumo Logic以進行資料擷取時,您將會看到「HTTP Source位址」,該位址會在單一字串中提供主機、接收者URI和私密金鑰。 例如:

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):已路由傳送至index所指定的資料分割,但前提是您有Sumo Logic Enterprise訂閱。 非Enterprise訂閱會改路由至sumologic_default磁碟分割。
  • CDN記錄檔:已忽略index欄位,因為轉送至Sumo Logic的CDN記錄檔在技術上不支援索引。 CDN記錄檔一律會路由至sumologic_default資料分割。
如需詳細資訊,請參閱Sumo邏輯分割檔案。

Amazon S3、Dynatrace和New Relic的CDN記錄(測試版) cdn-opt-in

轉送至Amazon S3、Dynatrace和New Relic的CDN記錄檔為測試版。 將AEM記錄(包括Apache/Dispatcher)轉送至這些目的地不受影響,且不需要請求。

若要將CDN記錄轉送至其中一個目的地,請完成以下兩個步驟:

  1. 要求您程式的存取權。 以電子郵件傳送aemcs-logforwarding-beta@adobe.com,其中包含您的方案ID和您要使用的目的地。 為您的方案啟用存取權時,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位址傳送(請參閱傳輸與進階網路)。 目前需要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記錄收費。

若要針對Beta版提供意見回饋,請傳送電子郵件至aemcs-logforwarding-beta@adobe.com。

記錄專案格式 log-formats

請參閱AEM as a Cloud Service的記錄,以瞭解每個個別記錄型別(CDN記錄檔和AEM記錄檔,包括Apache/Dispatcher)的格式。 某些記錄目的地會在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

在透過自助模型完成記錄轉送設定之前,已要求客戶開啟支援票證,Adobe將在其中啟動整合。

若客戶是以Adobe的方式進行設定,歡迎他們在方便時改用自助服務模式。 進行此轉換有幾個原因:

  • 已布建新環境(例如,新的開發環境或RDE)。
  • 變更您現有的Splunk端點或認證。
  • Adobe已在CDN記錄可用之前設定記錄轉送,您想要接收CDN記錄。
  • 主動因應自助服務模式的明智決策,讓貴組織在需要進行時效性變動之前便已掌握相關知識。

準備移轉時,只需依照前幾節所述設定YAML檔案即可。 使用Cloud Manager設定管道來部署至應套用設定的每個環境。

我們建議(但非必要)將設定部署到所有環境,以便它們都處於自助控制之下。 如果沒有,您可能會忘記哪些環境已由Adobe設定,哪些是以自助方式設定。

NOTE
傳送至您Splunk索引的sourcetype欄位值可能已變更,因此請適當的調整。
當記錄轉送部署至先前由Adobe支援設定的環境時,您可能會收到長達數小時的重複記錄。 這最終會自動解決。
recommendation-more-help
experience-manager-cloud-service-help-main-toc