設定OpenTelemetry以深入分析AEM應用程式
瞭解如何將AEM as a Cloud Service環境連線到您選擇的OpenTelemetry相容可觀察性平台。
在先前文章中,您已瞭解搭配AEM as a Cloud Service使用OpenTelemetry的概念和優點。 在本教學課程中,我們使用AEM WKND範例專案作為範例應用程式,並展示如何使用Cloud Manager設定管道部署config/otel.yaml來匯出遙測。
高層級步驟為:
- 取得 您的可觀察性平台 的OTLP/HTTPS端點與擷取認證。
- 將認證安全地儲存在Cloud Manager中。
- 將
config/otel.yaml檔案新增至您的AEM專案存放庫。 - 執行Cloud Manager 設定管道。
- 產生與AEM應用程式的流量。
- 驗證可觀察性平台中的遙測。
先決條件
開始之前,請確定您已:
- 已部署WKND網站或您自己的應用程式的 AEM as a Cloud Service 開發、預備或生產環境。 HIPAA範圍內的環境、沙箱程式和快速開發環境(RDE)不支援OpenTelemetry。
- 存取Cloud Manager,並擁有管理環境變數以及建立和執行設定管道的許可權。
- 接受透過HTTPS 的 OTLP的可觀察性平台,具有端點與擷取認證。
- 存取可觀察性平台以驗證和視覺化傳入的AEM遙測。
步驟1:取得您的可觀察性端點與認證
在您的可觀察性平台中,找到其OTLP/HTTPS擷取端點,並建立或擷取適當的擷取認證。 如需指示,請參閱您平台的檔案。
不確定要使用哪個平台? 請參閱選擇可觀察性平台。
本教學課程使用自行裝載的可觀察性平台,該平台支援透過HTTPS的OTLP並需要基本驗證權杖。
步驟2:將可觀察性認證儲存在Cloud Manager中
將內嵌認證儲存為Cloud Manager 機密環境變數。
-
在Adobe Cloud Manager中,選取您的AEM程式。
-
選取目標環境並按一下檢視詳細資料。
-
在 組態 索引標籤上,按一下 新增/更新 並新增環境變數,其值為:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 設定 值 名稱 OTEL_CUSTOMER_AUTH值 您的提供者的內嵌認證。 格式因平台而異。 如需範例,請參閱提供者特定設定。 已套用服務 全部 類型 密碼 在此範例中,自行裝載平台使用
Basic <base64(user:password)>格式的基本驗證權杖。 -
按一下[新增],然後按一下[儲存] 以儲存環境變數。
config/otel.yaml檔案參照此密碼為${{secrets.OTEL_CUSTOMER_AUTH}}。 認證絕不能出現在AEM存放庫或管道記錄中。
步驟3:新增OpenTelemetry設定
在您的AEM專案存放庫中,建立config/otel.yaml檔案。 本教學課程中的自行託管平台會使用以下設定:
kind: "Otel"
version: "v1"
metadata:
envTypes:
- "dev"
- "stage"
- "prod"
data:
enabled: true
type: "generic"
endpoint: "https://my-self-hosted-observability.adobe.net"
authHeaderName: "Authorization"
authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"
metrics: true
logs: true
關鍵設定為:
metadata.envTypesenabledtrue時啟用客戶遙測匯出。typegeneric用於自行裝載的平台。endpointauthHeaderNameAuthorization。authHeaderValuemetricstrue時匯出量度的功能。logstrue時啟用應用程式記錄檔匯出。在啟用整合時追蹤匯出。 量度和記錄為選用。 它們僅在設為true時匯出。
如需範例,請參閱下列WKND設定範例:
步驟4:部署OpenTelemetry設定
- 認可
config/otel.yaml檔案並將其推送到您的設定管道用作其來源的存放庫和分支。 - 在Cloud Manager中,建立或編輯環境的設定管道,並驗證其詳細資料。
- 選取管道名稱並按一下執行。
- 監視管道執行,直到成功完成。
管道在套用目的地設定之前會驗證設定。
步驟5:產生AEM流量
管道完成後,產生一些應用程式活動:
- 在AEM發佈服務上開啟WKND網站或您的應用程式,並在數個頁面之間導覽。
- 或者,開啟作者服務上的WKND網站以產生作者遙測。
請等候幾分鐘讓遙測到達您的可觀察性平台。
步驟6:驗證可觀察性平台中的遙測
開啟可觀察性平台並尋找遙測。 尋找追蹤、量度和記錄的步驟因平台而異。 下列熒幕擷取畫面來自Grafana可觀察性平台儀表板。
尋找AEM服務
搜尋AEM服務名稱,類似於:
cm-p<program>-e<environment>-aem-publish-<environment-type>
在本教學課程使用的自行託管平台中,發佈服務遙測會顯示如下:
可觀察性平台
檢查追蹤
尋找符合您WKND頁面請求的傳入HTTP請求範圍。 開啟追蹤並檢閱其要求名稱、持續時間及相關範圍。
可觀察性平台
檢查量度
因為組態設定metrics: true,所以請尋找JVM和HTTP量度,例如記憶體使用量、記憶體回收期間、執行緒計數和HTTP要求期間。
可觀察性平台中的
檢查記錄
因為組態設定logs: true,所以請檢查您的AEM應用程式記錄檔目的地。 整合會以支援的嚴重度(WARN或更高)臨界值匯出記錄,因此一般的頁面造訪可能不會在該層級產生記錄專案。
可觀察性平台
疑難排解
如果設定管道失敗或遙測未出現在您的可觀察性平台中,請檢閱管道記錄並檢查以下專案:
metadata.envTypes包含目標環境型別(dev、stage或prod)。 不相符會導致略過設定而不會發生錯誤。OTEL_CUSTOMER_AUTH存在於Cloud Manager 機密環境變數中,並將 服務套用 設定為全部。 不可為管道變數。401或403)service.name篩選器。logs: true,且AEM應用程式已產生WARN或以上層級的記錄專案。如果問題仍然存在,請聯絡Adobe支援,並提供AEM程式ID、環境ID、設定管道執行ID、確切的錯誤訊息以及可觀察性提供者詳細資訊。 絕不包含驗證認證或密碼值。
如需其他組態範例和疑難排解資訊,請參閱OpenTelemetry產品檔案。
後續步驟
您已經為AEM as a Cloud Service設定了OpenTelemetry,並已驗證來自WKND範例應用程式的遙測是否可在您的可觀察性平台中使用。
您現在可以使用此遙測來調查緩慢或失敗的要求、監控JVM和HTTP效能,以及將應用程式記錄檔與追蹤建立關聯,以更清楚瞭解AEM應用程式行為。
若要擴充應用程式特定邏輯的遙測,請參閱使用OpenTelemetry的自訂檢測。
若要探索其他組態選項、支援的可觀察性提供者以及網路需求,請參閱OpenTelemetry產品檔案。