記錄轉送 log-forwarding
擁有記錄廠商授權或託管記錄產品的客戶可以將AEM記錄(包括Apache/Dispatcher)和CDN記錄轉送至相關聯的記錄目的地。 AEM as a Cloud Service支援下列記錄目的地:
[1] CDN記錄檔轉送至Amazon S3、Dynatrace和New Relic已進入測試版。 若要要求存取權,請使用您的程式識別碼以電子郵件傳送aemcs-logforwarding-beta@adobe.com。 啟用存取權後,您也會針對每個具有cdn.enabled: true的目的地,開啟CDN記錄檔。 檢視Amazon S3、Dynatrace和New Relic (測試版)的CDN記錄。
記錄轉送是透過在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
-
建立一個名為
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" -
將檔案放置在名為 config 或類似名稱的頂層資料夾之下,如使用設定管道中所述。
-
針對RDE (使用命令列工具)以外的環境型別,在Cloud Manager中建立目標部署設定管道,如此區段所參考;請注意,完整棧疊管道和Web層管道不會部署設定檔案。
-
部署設定。
設定中的權杖(例如${{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"
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允許清單。
對於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的記錄傳送至其最終目的地。
雙向TLS (mTLS)驗證(測試版) mtls
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文字的第一行會顯示其格式:
-----BEGIN RSA PRIVATE KEY----------BEGIN EC PRIVATE KEY----------BEGIN PRIVATE KEY----------BEGIN ENCRYPTED PRIVATE KEY-----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記錄檔以瞭解檔案版面配置和考量事項。
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分鐘寫入一次。
- AWS CloudTrail資料事件或S3伺服器存取記錄檔。 他們記錄來自Fastly的IP位址的已拒絕
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權杖設定的熒幕擷圖:
如果記錄檔在先前正常運作後停止傳遞,請檢查您所設定的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。
/.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
考量事項
- 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是您環境URLhttps://<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,因為CDNstatus屬性是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執行個體。
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"
index欄位行為取決於記錄型別:- AEM記錄檔(包括Apache/Dispatcher):已路由傳送至
index所指定的資料分割,但前提是您有Sumo Logic Enterprise訂閱。 非Enterprise訂閱會改路由至sumologic_default磁碟分割。 - CDN記錄檔:已忽略
index欄位,因為轉送至Sumo Logic的CDN記錄檔在技術上不支援索引。 CDN記錄檔一律會路由至sumologic_default資料分割。
Amazon S3、Dynatrace和New Relic的CDN記錄(測試版) cdn-opt-in
轉送至Amazon S3、Dynatrace和New Relic的CDN記錄檔為測試版。 將AEM記錄(包括Apache/Dispatcher)轉送至這些目的地不受影響,且不需要請求。
若要將CDN記錄轉送至其中一個目的地,請完成以下兩個步驟:
- 要求您程式的存取權。 以電子郵件傳送aemcs-logforwarding-beta@adobe.com,其中包含您的方案ID和您要使用的目的地。 為您的方案啟用存取權時,Adobe會回覆。
- 為每個目的地啟用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
對於具有存取權的方案,設定的運作方式如下:
default.enabled: truedefault.enabled: true 和 cdn.enabled: truedefault.enabled: true 和 cdn.enabled: falsedefault.enabled: true、aem.enabled: false和cdn.enabled: true如同其他目的地,在cdn區塊中設定的屬性會覆寫來自default的值。 若要僅轉送CDN記錄,請設定aem.enabled: false,如同最後一列。
若要停止轉送CDN記錄檔,請設定cdn.enabled: false並執行設定管道。 建置設定時,會停止轉送至該目的地的CDN記錄。 AEM記錄檔不受影響。
cdn.enabled: true表示現有設定僅會轉送AEM記錄,不會產生非預期的擷取成本或流量,並讓您有時間做出決定。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設定,哪些是以自助方式設定。
sourcetype欄位值可能已變更,因此請適當的調整。