OpenTelemetry (Beta) opentelemetry-apm

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

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

AVAILABILITY
本頁為預先通知。 下述的OpenTelemetry整合目前透過​ Beta ​程式提供;計畫在2026年稍後提供更廣的可用性。 若要加入Beta計畫,請傳送電子郵件至aemcs-apm-beta@adobe.com,說明您的使用案例。 如果您的組織目前仰賴Adobe的內建APM整合,請使用此Beta期間評估OpenTelemetry、選擇您自己的APM端點,並在該變更前規劃您的轉換。 註冊後,請參閱下面的步驟1為您的環境啟用它。

此變更的優點 benefits

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

概觀 overview

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

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

下列遙測在範圍中:

​* 追蹤 — 分散式追蹤AEM應用程式處理的要求。
​* 量度 — 應用程式量度,例如JVM執行階段量度(記憶體、記憶體收集、執行緒)和輸入HTTP要求率、延遲和錯誤率。
​* 記錄檔 — 您的AEM應用程式的記錄檔,使用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變體會針對這些平台新增廠商特定的裝置和預設值。

APM供應商 apm-vendors

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

​* New Relic
​* Grafana Cloud
​* Splunk Observability Cloud
​* Dynatrace
​* Datadog
​* 虛線0
​* 蜂窩
​* 彈性可觀察性
​* 相撲邏輯
​* ServiceNow Cloud可觀察性

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

支援的環境 supported-environments

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

網路連線 network-connectivity

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

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

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

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

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

​* 傳入的HTTP要求範圍,以方法和路由(例如GET /content/...)命名。
​* 處理請求時產生的Servlet和輸出資料庫(JDBC)範圍。

大量內部排程器和健康情況探查活動(例如Quartz工作)會篩選掉,以便追蹤會聚焦於應用程式請求。 微調的AEM架構內部跨距(例如Sling資源解析、OSGi服務或JCR存取)在此版本中不會發出。

量度 — JVM執行階段和HTTP伺服器量度,使用標準OpenTelemetry量度名稱,包括:

​* JVM執行階段: jvm.memory.usedjvm.gc.durationjvm.thread.countjvm.cpu.recent_utilization
​* HTTP伺服器: http.server.request.duration (要求速率、延遲百分位數和錯誤率衍生自此長條圖)。

記錄檔 — 啟用時,使用OpenTelemetry的記錄檔訊號傳送的AEM應用程式記錄檔專案。 記錄專案具有與追蹤和量度(service.namedeployment.environment)相同的資源屬性,因此它們可以相互關聯。

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

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

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

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

設定整合 set-up

步驟1:啟用整合 request-access

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

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

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

步驟2:設定您的驗證認證 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標頭傳送,因此必須包含配置字(BasicBearer)。 對於使用自訂標頭的提供者 — 例如,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>

設定範例 example-configuration

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

New Relic

kind: "Otel"
version: "v1"
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: "v1"
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: "v1"
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: "v1"
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

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

kind: "Otel"
version: "v1"
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: "v1"
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
metricslogs都是選擇性的且彼此獨立 — 如果您只想要追蹤,請省略或設為false

步驟3:部署 deploy

整合會在您環境的下一個​ 部署 ​上生效,亦即下次在Cloud Manager中為該環境執行部署管道(例如,完整棧疊部署)時。 如果您在加入config/otel.yaml檔案並設定認證後,尚未部署環境,請執行部署以啟用環境。

部署後,AEM應用程式的追蹤、量度和(若已啟用)記錄開始出現在APM提供者中。 使用步驟4確認。

步驟4:驗證整合 verify

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

部署完成後,請等待幾分鐘讓資料送達,然後檢查您的APM提供者,以取得下列資訊:

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

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

疑難排解 troubleshooting

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

症狀
檢查內容
部署後無資料
確認部署已成功完成,並且自整合啟用後部署已執行。 請等候幾分鐘讓第一個資料送達,然後重新檢查端點URL和OTEL_CUSTOMER_AUTH值。
驗證錯誤或已拒絕的資料
確認OTEL_CUSTOMER_AUTH值與提供者要求的格式相符(請參閱步驟2提供者特定設定)。 常見的錯誤包括或省略配置文字(BasicBearerApi-Token),並使用錯誤的金鑰,例如New Relic使用者(NRAK-)金鑰而不是內嵌授權金鑰。
端點無法連線
確認端點URL和區域正確,且端點可透過HTTPS連線。 如果您的端點為私人,或您的提供者需要來自已知IP位址的流量,請以專用輸出啟用進階網路
不確定是否需要進階網路
只有在無法從公用網際網路連線到您的APM端點,或您的提供者要求您允許列出穩定的來源IP位址時,才需要它。 公用SaaS端點(例如上述提供者範例)不需要它。
沒有記錄專案,但會顯示追蹤和量度
確認已在您的設定中啟用記錄檔(請參閱傳送哪些資料)。 如果您的應用程式最近未記錄任何內容,則可能尚未傳送任何內容。
在目的地重複記錄訊息
您可能有此整合的記錄檔和記錄檔轉送傳送至相同目的地。 請參閱概觀 — 每個目的地僅啟用一個路徑。

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

常見問題 faq

為什麼發生此變更?

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

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

當您執行設定管道時,New Relic中的資料將不再從AEM as a Cloud Service傳輸。

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

可以。 透過設定管道停用OpenTelemetry,然後執行完整棧疊管道以完成。 在2026年11月底之前皆可使用此功能。

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

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

​* 記錄轉送
​* 設定進階網路
​* Cloud Manager中的環境變數

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