View a markdown version of this page

App Mesh 可观测性故障排除 - Amazon App Mesh
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

App Mesh 可观测性故障排除

重要

终止支持通知:2026 年 9 月 30 日, Amazon 将停止对的支持。 Amazon App Mesh 2026 年 9 月 30 日之后,您将无法再访问 Amazon App Mesh 控制台或 Amazon App Mesh 资源。有关更多信息,请访问这篇博客文章从 Amazon App Mesh 亚马逊ECS服务连接迁移。

本主题详细介绍了在 App Mesh 可观测性方面可能遇到的常见问题。

看不见 Amazon X-Ray 我的应用程序的痕迹

症状

您在 App Mesh 中的应用程序未在 X-Ray 控制台或 API 中显示 X-Ray 跟踪信息。

解决方案

要 X-Ray 在 App Mesh 中使用,必须正确配置组件以启用应用程序、边车容器和服务之间的通信。 X-Ray 采取以下步骤确认 X-Ray 设置正确:

  • 确保 App Mesh 虚拟节点侦听器协议未设置为 TCP。

  • 确保与您的应用程序一起部署的 X-Ray 容器公开 UDP 端口2000并以用户身份运行。1337有关更多信息,请参阅上的 Amazon ECS X-Ray 示例 GitHub。

  • 确保 Envoy 容器启用了跟踪。如果您使用的是 App Mesh Envoy 镜像,则可以通过将ENABLE_ENVOY_XRAY_TRACING环境变量设置为值1并将XRAY_DAEMON_PORT环境变量设置为来启用 X-Ray 2000。

  • 如果您已使用某个特定语言的 SDK 对应用程序代码进行了插 X-Ray 入,请按照相应语言的指南确保其配置正确。

  • 如果之前的所有项目配置正确,请查看 X-Ray 容器日志中是否存在错误,并按照故障排除中的指导进行操作 Amazon X-Ray。有关在 App Mesh 中 X-Ray 集成的更详细说明,请参阅 X-Ray 与 App Mesh 集成。

如果您的问题仍未解决,请考虑提出GitHub 问题或联系Amazon 支持部门。

无法在亚马逊指标中查看我的应用程序的 Envoy CloudWatch 指标

症状

你在 App Mesh 中的应用程序不会将 Envoy 代理生成的指标发送到 CloudWatch指标。

解决方案

在 App Mesh 中使用 CloudWatch 指标时,必须正确配置多个组件以启用 Envoy 代理、代 CloudWatch 理 sidecar 和 CloudWatch 指标服务之间的通信。采取以下步骤确认 Envoy 代理的 CloudWatch 指标已正确设置:

  • 确保您使用的是 App Mesh 的 CloudWatch 代理镜像。有关更多信息,请参阅 App Mesh CloudWatch 代理开启 GitHub。

  • 按照平台特定的使用说明,确保已为 App Mesh 适当配置了 CloudWatch 代理。有关更多信息,请参阅 App Mesh CloudWatch 代理开启 GitHub。

  • 如果前面的所有项目配置正确,请查看 CloudWatch 代理容器日志中是否存在错误,并按照 CloudWatch 代理疑难解答中提供的指导进行操作。

如果您的问题仍未解决,请考虑提出GitHub 问题或联系Amazon 支持部门。

无法为配置自定义采样规则 Amazon X-Ray 跟踪

症状

您的应用程序正在使用 X-Ray 跟踪,但您无法为跟踪配置采样规则。

解决方案

由于 App Mesh Envoy 目前不支持动态 X-Ray 采样配置,因此可以使用以下解决方法。

如果您的 Envoy 版本为 1.19.1 或更高版本,您可以选择以下选项。

  • 要仅设置采样率,请使用 Envoy 容器上的 XRAY_SAMPLING_RATE 环境变量。该值应指定为介于 0 和之间的小数 1.00 (100%)。有关更多信息,请参阅 Amazon X-Ray 变量。

  • 要为 X-Ray 跟踪器配置本地化自定义采样规则,请使用XRAY_SAMPLING_RULE_MANIFEST环境变量指定 Envoy 容器文件系统中的文件路径。有关更多信息,请参阅《Amazon X-Ray 开发人员指南》中的采样规则。

如果您的 Envoy 版本早于 1.19.1,请执行以下操作。

  • 使用 ENVOY_TRACING_CFG_FILE 环境变量来更改采样率。有关更多信息,请参阅 Envoy 配置变量。指定自定义跟踪配置并定义本地采样规则。有关更多信息,请参阅 Envoy X-Ray 配置。

  • ENVOY_TRACING_CFG_FILE 环境变量的自定义跟踪配置示例:

    tracing: http: name: envoy.tracers.xray typedConfig: "@type": type.googleapis.com/envoy.config.trace.v3.XRayConfig segmentName: foo/bar segmentFields: origin: AWS::AppMesh::Proxy aws: app_mesh: mesh_name: foo virtual_node_name: bar daemonEndpoint: protocol: UDP address: 127.0.0.1 portValue: 2000 samplingRuleManifest: filename: /tmp/sampling-rules.json
  • 有关samplingRuleManifest属性中抽样规则清单的配置的详细信息,请参阅配置 Go X-Ray 开发工具包。

如果您的问题仍未解决,请考虑提出GitHub 问题或联系Amazon 支持部门。