配置OpenTelemetry以深入了解AEM应用程序
了解如何将AEM as a Cloud Service环境连接到您选择的OpenTelemetry兼容的可观察性平台。
在以前的文章中,您已了解将OpenTelemetry与AEM as a Cloud Service一起使用的概念和好处。 在本教程中,我们使用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 Publish服务上打开WKND网站或您的应用程序,并在几个页面之间导航。
- 或者,在Author服务上打开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产品文档。