AEM的OpenTelemetry opentelemetry-apm

Adobe正在以OpenTelemetry取代內建於AEM as a Cloud Service的應用程式效能監控(APM)整合,這是每個主要監控平台支援的開放式業界標準可觀察性方法。

現在,AEM as a Cloud Service包含完全由Adobe管理的內建APM整合。 當該整合被取代時,您需要自備APM端點 — 接受開放遙測資料的廠商平台,或是自我裝載(內部部署) OpenTelemetry相容的後端。

AVAILABILITY
此功能處於​ 有限可用性 ​中。 若要使用它,請在回覆您的要求後,立即透過電子郵件傳送aemcs-apm-beta@adobe.com來要求存取權 — Adobe為您的環境啟用OpenTelemetry。 如果您的環境目前使用Adobe的內建APM整合,該整合會在啟用OpenTelemetry後停止傳送資料,因為兩者無法同時執行。
請注意,它​ 不 ​適用於HIPAA範圍內的環境、快速開發環境(RDE)和沙箱。

此變更的優點 benefits

  • 更多立即可用的遙測 — 將追蹤、量度和記錄一起提供,讓您比目前內建整合更全面地瞭解AEM應用程式的行為。
  • 開放式的業界標準 — OpenTelemetry在可觀察性業界廣泛採用,提供您一致的遙測格式,受到廣泛支援。
  • 傳送遙測給符合您組織的提供者 — 包括您目前的提供者(如果它支援OpenTelemetry)。
  • 進階網路支援 — 如果您的端點為私人,或要求從已知穩定IP位址離開傳出流量,此整合可支援專用輸出。
  • 量度、追蹤和記錄檔的統一方法 — 這三個機制的單一整合點,而不是單獨的機制。 記錄轉送會繼續依原樣運作,您現在不需要變更轉送記錄的方式。

概觀 overview

AEM as a Cloud Service可以使用OpenTelemetry (開放式的業界標準可觀察性方法)從應用程式發出遙測,並將其轉送給您選擇的APM提供者。 這可讓您透過團隊已使用的工具,連同其他系統一並監控AEM應用程式。

使用此整合的常見原因包括調查緩慢或失敗的請求、追蹤JVM一段時間內的健康狀況和資源使用情況、為您的AEM層級建立儀表板和警報,以及在事件期間將AEM行為與您的其他服務建立關聯 — 所有這些都不需要離開您的團隊已使用的監控工具。

下列遙測在範圍中:

  • 追蹤 — 分散式追蹤AEM應用程式處理的要求。
  • 量度 — 應用程式量度,例如JVM執行階段量度(記憶體、記憶體收集、執行緒)和輸入HTTP要求率、延遲和錯誤率。 用於請求處理、背景作業和內容存放庫的AEM量度正在向所有環境推出。 環境更新後,這些日期就會開始自動顯示,不會變更您的設定。
  • 記錄檔 — 您的AEM應用程式在WARN層級以上的記錄檔,使用OpenTelemetry的記錄檔訊號傳送。 記錄是選用專案,可不受追蹤和量度影響而切換。

記錄檔轉送繼續透過其現有的個別機制受到支援,且不受此整合的影響。

若要瞭解其運作方式,包括遙測如何從AEM傳輸至您的APM平台、您控制什麼以及如何選擇平台,請參閱教學課程透過OpenTelemetry的可觀察性。

WARNING
如果您透過此OpenTelemetry整合​ 和 ​同時啟用記錄檔轉送,且兩者都傳送到相同的目的地,您會在該處收到重複的記錄檔訊息。 請為每個目的地只啟用一個路徑,或將每個路徑傳送到不同的目的地。
IMPORTANT
只有由AEM應用程式產生的遙測會傳送給您的APM提供者。 不會包含底層Cloud Service執行階段和基礎結構的詳細資訊。 檢視傳送了哪些資料。

支援的OpenTelemetry版本 supported-versions

元件
支援
OpenTelemetry Java代理程式
2.x
匯出通訊協定
OTLP/HTTPS (透過HTTPS的開放式遙測通訊協定)

OpenTelemetry代理程式會在Cloud Service執行階段中執行。 Adobe會提供它並保持為最新狀態,因此您不需要自行安裝、管理或升級。 Adobe更新代理程式時,特定修補程式版本可能會變更。

支援的OpenTelemetry變體 supported-variants

您的AEM應用程式可以使用下列任何OpenTelemetry代理程式變體(分佈)進行檢測,所有這一切都根據上述版本。 如需詳細資訊,請參閱每個專案的檔案:

變數
文件
OpenTelemetry (上游) — 預設
OpenTelemetry Java檢測
Grafana
適用於Java的Grafana OpenTelemetry分佈
Splunk
OpenTelemetry Java的Splunk分佈

預設上游變體可與任何APM供應商搭配使用。 Grafana和Splunk變體會針對這些平台新增廠商特定的裝置和預設值。 Adobe會在部署時將選取的代理程式變體安裝在AEM容器中。 在有限可用性期間,預設會使用上游變體;若要使用Grafana或Splunk變體,請在您請求存取權時詢問它。 config/otel.yaml檔案會設定遙測的位置;它沒有欄位可選取代理程式變體。

NOTE
config/otel.yaml檔案中的type值(例如grafana或splunk)可識別您的APM提供者,以便您的端點與認證正確驗證。 它不會選取代理程式變體。

APM供應商 apm-vendors

您可以傳送遙測給任何接受​ OTLP/HTTPS ​之OpenTelemetry資料的應用程式效能監視廠商。 這與您選擇的OpenTelemetry變體無關。 支援OTLP/HTTPS的廠商包括:

此清單並非詳盡無遺 — 任何公開OTLP/HTTPS端點的後端都可以使用。

支援的環境 supported-environments

您可以在您的Cloud Manager 生產、階段​和​ 開發 ​環境中啟用此整合。 每個環境都分別啟用 — 請參閱步驟1。 不支援快速開發環境(RDE)。

現有APM整合 existing-apm

OpenTelemetry無法與其他APM代理程式一起在相同環境中執行:

  • Adobe的內建APM整合(New Relic) — OpenTelemetry會取代它。 一旦Adobe依您的請求為環境啟用OpenTelemetry,New Relic就不會再接收來自該環境的資料。 您可以返回到2026年11月底 — 請參閱常見問題集。
  • Dynatrace OneAgent — 如果環境中已安裝Dynatrace OneAgent,則會優先安裝。 設定管道會拒絕您的OpenTelemetry設定,並出現錯誤訊息,指出Dynatrace已在環境中啟用。 若要在那裡使用OpenTelemetry,請先聯絡Adobe支援以移除Dynatrace OneAgent。
NOTE
您仍然可以將OpenTelemetry資料​傳送至 Dynatrace做為您的APM提供者 — 請參閱提供者特定設定。 上述優先順序規則僅適用於環境內執行的Dynatrace OneAgent。

網路連線 network-connectivity

您的APM提供者的端點必須可透過HTTPS從您的AEM as a Cloud Service環境連線。

如果您的APM端點為私人,或您需要從穩定的已知IP位址離開傳出流量,則此整合支援​具有專用輸出的「進階網路」。 請參閱進階網路以瞭解如何啟用它。

會傳送哪些資料 what-data-is-sent

只有​ 您的AEM應用程式 ​產生的追蹤、量度和(如果已啟用)記錄檔會傳送給您的APM提供者。 下列範例說明您可以預期的資料型別。

追蹤 — 跨越應用程式處理的要求,包括:

  • 傳入的HTTP要求範圍,以方法和路由(例如GET /content/...)命名。
  • 處理請求時產生的Servlet、輸出HTTP和輸出資料庫(JDBC)範圍。
  • AEM架構涵蓋顯示AEM處理請求時花費時間的位置: Sling請求處理、元件轉譯、HTL指令碼轉譯以及JCR查詢。

大量內部排程器和健康情況探查活動(例如Quartz工作)會篩選掉,以便追蹤會聚焦於應用程式請求。

量度 — JVM執行階段和HTTP伺服器量度,使用標準OpenTelemetry量度名稱,以及aem.首碼下的AEM量度(正在轉出;它們會自動出現,不會變更設定),包括:

  • JVM執行階段: jvm.memory.used、jvm.gc.duration、jvm.thread.count和jvm.cpu.recent_utilization。
  • HTTP伺服器: http.server.request.duration (要求速率、延遲百分位數和錯誤率衍生自此長條圖)。
  • AEM,正在轉出:要求與錯誤計數(aem.requests.*)、Jetty執行緒集區使用量(aem.jetty.threads.*)、Sling工作、排程器及驗證(aem.sling.*)、存放庫工作階段、查詢、觀察、索引與二進位儲存(aem.oak.*),以及資產處理(aem.dam.*)。

記錄檔 — 您的AEM應用程式在WARN層級以上的記錄檔專案,在啟用時使用OpenTelemetry的記錄檔訊號傳送。 正在開發調整此記錄層級的功能。 記錄專案具有與追蹤和量度(service.name, deployment.environment)相同的資源屬性,以及產生它們的要求之追蹤和範圍識別碼,因此可以與追蹤相關聯。

以這種方式傳送的記錄檔與記錄檔轉送無關 — 請參閱總覽以瞭解為何將兩者啟用至相同目的地會導致重複專案。

如何識別遙測 — 每個追蹤和量度都包含可識別其來源的資源屬性,包括:

  • service.name — 識別您的程式、環境、服務和階層(例如,cm-p<program>-e<environment>-aem-publish-prod)。
  • deployment.environment — 環境型別(例如,prod或stage)。

有關託管您的應用程式的Cloud Service執行階段和平台的資訊(例如內部主機名稱、位址、容器識別碼,以及作業系統或程式詳細資訊),會在任何資料離開您的環境之前移除。

設定整合 set-up

如需使用WKND範例專案的引導式逐步解說,從將認證儲存在Cloud Manager到驗證可觀察性平台中的遙測,請參閱教學課程設定OpenTelemetry以深入瞭解AEM應用程式。

步驟1:要求存取權 request-access

以電子郵件傳送aemcs-apm-beta@adobe.com,其中包含您的Cloud Manager方案ID以及您想要啟用的環境ID。 如果您想使用Grafana或Splunk代理程式變體,而不是預設值,請在電子郵件中說明(請參閱支援的OpenTelemetry變體)。

Adobe會在回覆您的請求後立即為這些環境啟用OpenTelemetry。 如果環境目前使用Adobe的內建APM整合,該整合會在啟用OpenTelemetry後停止傳送資料 — 請參閱現有APM整合。

步驟2:新增您的設定檔 add-configuration

新增config/otel.yaml檔案至您的Cloud Manager設定管道存放庫。 至少要指定:

  • 此組態套用的環境型別(例如,stage和prod)。
  • 您的APM提供者的型別和OTLP/HTTPS端點URL (包括地區,如果適用)。
  • 您的提供者使用的驗證方法(請參閱步驟3)。

請參閱下方的設定範例,以取得確切的檔案格式,包括New Relic、Dynatrace、Grafana Cloud、Splunk、Datadog、Dash0以及一般或自我主控端點的範例。

步驟3:設定您的驗證認證 configure-credential

在Cloud Manager中宣告名稱為OTEL_CUSTOMER_AUTH的機密環境變數,以提供APM提供者所需的認證。 將​ 套用的服務 ​設定為​全部,讓作者、發佈和預覽層級可以使用認證。

若要新增或更新環境變數,您必須是部署管理員角色的成員。 如需完整程式,請參閱Cloud Manager中的環境變數。

根據提供者的驗證方法設定值:

驗證方法
OTEL_CUSTOMER_AUTH的值
範例
HTTP基本
單字Basic、空格,然後是username:password的Base64編碼。
Basic YWxhZGRpbjpvcGVuc2VzYW1l
持有人權杖
單字Bearer、空格,然後是您的權杖。
Bearer eyJhbGciOiJ...
API金鑰
僅限原始金鑰值,首碼為​no。
New Relic擷取授權金鑰(例如40個字元的金鑰)
NOTE
對於​ 基本 ​與​ 持有人 ​驗證,值會以標準Authorization標頭傳送,因此必須包含配置字(Basic或Bearer)。 對於使用自訂標頭的提供者 — 例如,New Relic的api-key標頭 — 只提供原始認證值,並將設定檔案中的authHeaderName設定為正確的標頭名稱(請參閱設定範例)。
CAUTION
OTEL_CUSTOMER_AUTH是認證。 請一律宣告為​ 機密 ​環境變數,如此一來,其值絕不會儲存在Git中或公開於記錄中。

提供者特定的設定 provider-specific

下表總結列出一些常見提供者的端點與驗證。 一律在提供者自己的檔案中確認目前的值。 對於使用自訂標頭(例如,New Relic和Datadog)的提供者,請將OTEL_CUSTOMER_AUTH設為僅限原始金鑰值,並將設定檔案中的authHeaderName設為正確的標頭名稱(請參閱設定範例)。

提供者
端點範例
驗證
New Relic
https://otlp.nr-data.net (美國), https://otlp.eu01.nr-data.net (歐盟)
擷取​ 授權 ​金鑰,以自訂api-key標頭傳送(原始值,無前置詞)。 使用內嵌授權金鑰,而非使用者(NRAK-)金鑰。
Datadog
https://otlp.<your-datadog-site> (例如,https://otlp.datadoghq.com)
API金鑰,以自訂dd-api-key標頭傳送。 直接OTLP 追蹤​攝入在預覽中。
Dynatrace
https://{your-environment-id}.live.dynatrace.com/api/v2/otlp
API存取權杖,在Authorization標頭中傳送為Api-Token <token>。 將OTEL_CUSTOMER_AUTH設為Api-Token <token>。
虛線0
https://ingress.<region>.aws.dash0.com:4318 (例如,https://ingress.eu-west-1.aws.dash0.com:4318)
驗證權杖,在Authorization標頭中傳送為Bearer <token>。 將OTEL_CUSTOMER_AUTH設為Bearer <token>。
Grafana Cloud
https://otlp-gateway-<zone>.grafana.net/otlp (例如,https://otlp-gateway-prod-us-east-0.grafana.net/otlp)
Grafana Cloud執行個體識別碼和存取原則權杖,在Authorization標頭中以HTTP Basic傳送。 將OTEL_CUSTOMER_AUTH設為Basic <base64(instanceID:token)>。
Splunk
OpenTelemetry收集器之Splunk散發的OTLP/HTTP端點,以閘道執行(例如,https://<your-splunk-otel-collector>:4318)
您的閘道設定為接受的認證,在Authorization標頭中傳送(例如,Bearer <token>)。

設定範例 example-configuration

根據您來自提供者特定設定的提供者,將類似下列範例之一的檔案新增至您的Config Pipeline存放庫中的config/otel.yaml。

New Relic:

kind: "Otel"
version: "1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "newrelic"
  endpoint: "https://otlp.nr-data.net"   # https://otlp.eu01.nr-data.net for the EU region
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"
  metrics: true   # optional
  logs: true      # optional — see Overview for the Log Forwarding duplicate-message warning

Dynatrace:

kind: "Otel"
version: "1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "dynatrace"
  endpoint: "https://{your-environment-id}.live.dynatrace.com/api/v2/otlp"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the secret's value must be "Api-Token <token>"
  metrics: true
  logs: true

資料標籤:

kind: "Otel"
version: "1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://otlp.<your-datadog-site>"   # for example, https://otlp.datadoghq.com
  authHeaderName: "dd-api-key"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the secret's value is the raw API key, no prefix
  metrics: true
  logs: true

虛線0:

kind: "Otel"
version: "1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://ingress.<region>.aws.dash0.com:4318"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the secret's value must be "Bearer <token>"
  metrics: true
  logs: true

Grafana雲端:

kind: "Otel"
version: "1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "grafana"
  endpoint: "https://otlp-gateway-<zone>.grafana.net/otlp"   # for example, https://otlp-gateway-prod-us-east-0.grafana.net/otlp
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the secret's value must be "Basic <base64(instanceID:token)>"
  metrics: true
  logs: true

Splunk (透過作為閘道執行的OpenTelemetry收集器的Splunk散發):

kind: "Otel"
version: "1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "splunk"
  endpoint: "https://<your-splunk-otel-collector>:4318"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the credential your gateway accepts, for example "Bearer <token>"
  metrics: true
  logs: true

一般或自我主控端點 (例如,內部部署OpenTelemetry收集器):

kind: "Otel"
version: "1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://<your-otlp-endpoint>"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # for example, "Basic <base64(user:pass)>"
  metrics: true
  logs: true

進階網路(專用輸出) — 適用於私用端點,或要求流量從已知穩定IP位址離開的端點(請參閱網路連線):

kind: "Otel"
version: "1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://<your-private-otlp-endpoint>"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"
  metrics: true
  logs: true
  advancedNetworking: true   # routes this endpoint's egress through Advanced Networking instead of direct internet egress
IMPORTANT
除非Cloud Manager已針對您的環境布建進階網路,否則advancedNetworking不會生效 — 請在依賴它之前確認此設定。 請參閱進階網路。
NOTE
metrics和logs都是選擇性的且彼此獨立 — 如果您只想要追蹤,請省略或設為false。

步驟4:部署 deploy

在Adobe確認您的環境已啟用OpenTelemetry (請參閱步驟1)後,請執行設定管道以部署config/otel.yaml。 管道在套用設定之前會驗證您的設定並檢查您的端點和認證,因此大部分錯誤會直接在管道記錄中報告。

管道完成後,來自AEM應用程式的追蹤、量度和(如果已啟用)記錄檔開始出現在您的APM提供者中。 使用步驟5確認。

步驟5:驗證整合 verify

由於遙測會傳送給您自己的APM提供者,因此您會從提供者的工具確認整合;Adobe不會將此資料傳回給您。

管道完成後,請等待數分鐘讓資料到達,然後檢查您的APM提供者,瞭解下列資訊:

  • 追蹤 — 您的AEM服務的新範圍。 例如,搜尋您製作或發佈層級的service.name,或傳入的HTTP要求範圍。
  • 量度 — 您的服務的傳入jvm.*和http.server.*量度,以及轉出至您的環境後的aem.*量度。
  • 記錄檔 (如果已啟用) — 您AEM服務的傳入記錄檔專案。

如果顯示此資料,表示整合有效果。

NOTE
為了確認您的端點和認證可正常運作,每次驗證您的設定時,設定管道都會傳送單一測試範圍給您的APM提供者。 它出現在服務名稱otel-config-operator-validator下,可以安全地忽略。

疑難排解 troubleshooting

如果遙測未出現在您的APM提供者中,請檢查下列專案:

症狀
檢查內容
設定管道錯誤: OTel tracing is disabled for this environment或Feature 'Otel' not allowed
尚未為此環境啟用OpenTelemetry。 如步驟1中所述,要求存取權,並在Adobe確認其已啟用後再次執行管道。
設定管道錯誤,指出Dynatrace已經啟用
Dynatrace OneAgent已安裝在環境中,並取得優先權。 請參閱現有的APM整合。
管道完成之後沒有資料
確認自您上次變更後,設定管道已成功完成。 請等候幾分鐘讓第一個資料送達,然後重新檢查端點URL和OTEL_CUSTOMER_AUTH值。
驗證錯誤或已拒絕的資料
確認OTEL_CUSTOMER_AUTH值與提供者要求的格式相符(請參閱步驟3和提供者特定設定)。 常見的錯誤包括或省略配置文字(Basic、Bearer或Api-Token),並使用錯誤的金鑰,例如New Relic使用者(NRAK-)金鑰而不是內嵌授權金鑰。
端點無法連線
確認端點URL和區域正確,且端點可透過HTTPS連線。 如果您的端點為私人,或您的提供者需要來自已知IP位址的流量,請以專用輸出啟用進階網路。
不確定是否需要進階網路
只有在無法從公用網際網路連線到您的APM端點,或您的提供者要求您允許列出穩定的來源IP位址時,才需要它。 公用SaaS端點(例如上述提供者範例)不需要它。
沒有記錄專案,但會顯示追蹤和量度
確認已在您的設定中啟用記錄檔(請參閱傳送哪些資料)。 只會傳送WARN層級以上的專案,因此如果您的應用程式最近未記錄警告或錯誤,可能沒有任何專案可傳送。
在目的地重複記錄訊息
您可能有此整合的記錄檔和記錄檔轉送傳送至相同目的地。 請參閱概觀 — 每個目的地僅啟用一個路徑。
名稱為otel-config-operator-validator的不熟悉的服務
這是設定管道傳送以檢查您的端點和認證的測試範圍。 這是預期中的且可以忽略。

如果在這些檢查之後仍沒有顯示遙測,請連絡aemcs-apm-beta@adobe.com並提供您的程式和環境詳細資料。

常見問題 faq

為什麼發生此變更?

AEM as a Cloud Service客戶已要求其他量度和營運資料,以及內容中的追蹤、範圍和記錄。 OpenTelemetry是產業標準,支援所有這些功能,並以廣泛支援的格式(OTLP)輸出。

我需要要求存取權嗎?

可以。 在有限可用期間,請傳送電子郵件至aemcs-apm-beta@adobe.com,其中包含您的程式與環境ID。 Adobe會在回覆您的請求後立即為這些環境啟用OpenTelemetry。 HIPAA範圍內的環境尚未提供這項功能。

如果我啟用OpenTelemetry,New Relic會發生什麼事?

一旦Adobe依您的請求為環境啟用OpenTelemetry,資料就不再從該環境傳送至New Relic。 兩者無法同時執行。

如果我從New Relic移轉至OpenTelemetry,可以移回嗎?

可以。 電子郵件aemcs-apm-beta@adobe.com和Adobe會停用您環境的OpenTelemetry。 然後在config/otel.yaml檔案中設定enabled: false (或移除檔案)、執行設定管道,並執行完整棧疊管道以完成還原New Relic。 在2026年11月底之前皆可使用此功能。

如果我的環境執行Dynatrace OneAgent,我可以使用OpenTelemetry嗎?

不在相同環境中 — 以Dynatrace OneAgent優先。 您可以移除OneAgent並改用OpenTelemetry,包括Dynatrace做為APM提供者。 請參閱現有的APM整合。

2026年11月之後會發生什麼事?

Adobe將從其內建的APM解決方案改用OpenTelemetry作為其永久可觀察性解決方案。

recommendation-more-help
experience-manager-cloud-service-help-main-toc