

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

# App Mesh 可观测性故障排除
<a name="troubleshooting-observability"></a>

**重要**  
终止支持通知：2026 年 9 月 30 日， Amazon 将停止对的支持。 Amazon App Mesh 2026 年 9 月 30 日之后，您将无法再访问 Amazon App Mesh 控制台或 Amazon App Mesh 资源。有关更多信息，请访问此博客文章[从迁移 Amazon App Mesh 到 Amazon ECS Service Connect](https://www.amazonaws.cn/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)。

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

## 看不到我的应用程序的 Amazon X-Ray 痕迹
<a name="ts-observability-x-ray-traces"></a>

**症状**  
您在 App Mesh 中的应用程序未在 X-Ray 控制台中显示 X 射线追踪信息，或者 APIs。

**解决方案**  
要在 App Mesh 中使用 X-Ray，必须正确配置组件，以实现应用程序、sidecar 容器和 X-Ray 服务之间的通信。请执行以下步骤确认 X-Ray 已正确设置：
+ 确保 App Mesh 虚拟节点侦听器协议未设置为 `TCP`。
+ 确保与您的应用程序一起部署的 X-Ray 容器公开 UDP 端口`2000`并以用户身份运行。`1337`有关更多信息，请参阅上的 [Amazon ECS X-Ray 示例](https://github.com/aws/aws-app-mesh-examples/blob/main/walkthroughs/howto-ecs-basics/deploy/2-meshify.yaml#L374-L386) GitHub。
+ 确保 Envoy 容器已启用追踪。如果您使用的是 [App Mesh Envoy 镜像](envoy.md)，则可以通过将环境变量设置为将`ENABLE_ENVOY_XRAY_TRACING`环境变量设置为`1` 并将 `XRAY_DAEMON_PORT`环境变量设置为`2000`来启用 X-Ray。
+ 如果您在应用程序代码中使用一种[特定语言](https://docs.amazonaws.cn/xray/index.html)对 X-Ray 进行了检测 SDKs ，请按照您的语言指南确保其配置正确。
+ 如果前面的所有项目都配置正确，请查看 X-Ray 容器日志中是否存在错误，并按照[疑难解答](https://docs.amazonaws.cn/xray/latest/devguide/xray-troubleshooting.html)中的指导进行操作 Amazon X-Ray。有关在 App Mesh 中集成 X-Ray 的更详细说明，请参阅[将 X-Ray 与 App Mesh 集成](https://www.amazonaws.cn/blogs/compute/integrating-aws-x-ray-with-aws-app-mesh/)。

如果您的问题仍未解决，请考虑[GitHub 提出问题](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here)或联系 Su [Amazon pport](https://www.amazonaws.cn/premiumsupport/)。

## 无法在 Amazon 指标中查看我的应用程序的 Envoy CloudWatch 指标
<a name="ts-observability-envoy-metrics"></a>

**症状**  
你在 App Mesh 中的应用程序没有向指标发出 Envoy 代理生成的 CloudWatch指标。

**解决方案**  
在 App Mesh 中使用 CloudWatch 指标时，必须正确配置多个组件，以实现您的 Envoy 代理、 CloudWatch 代理 sidecar 和 CloudWatch 指标服务之间的通信。请执行以下步骤确认 Envoy 代理的 CloudWatch 指标设置正确：
+ 确保您使用的是 App Mesh 的 CloudWatch 代理映像。有关更多信息，请参阅上的 [App Mesh CloudWatch 代理](https://github.com/aws-samples/aws-app-mesh-cloudwatch-agent) GitHub。
+ 确保按照平台特定的使用说明正确配置了 App Mesh 的 CloudWatch 代理。有关更多信息，请参阅上的 [App Mesh CloudWatch 代理](https://github.com/aws-samples/aws-app-mesh-cloudwatch-agent#usage) GitHub。
+ 如果前面的所有项目都配置正确，请查看 CloudWatch 代理容器日志中是否存在错误，并按照[ CloudWatch 代理故障排除](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html)中提供的指导进行操作。

如果您的问题仍未解决，请考虑[GitHub 提出问题](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here)或联系 Su [Amazon pport](https://www.amazonaws.cn/premiumsupport/)。

## 无法为 Amazon X-Ray 跟踪配置自定义采样规则
<a name="ts-observability-custom-sampling"></a>

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

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

如果您的 Envoy 版本为 `1.19.1` 或更高版本，您可以选择以下选项。
+ 要仅设置采样率，请使用 Envoy 容器上的 `XRAY_SAMPLING_RATE` 环境变量。该值应指定为介于 `0` 和之间的小数 `1.00` (100%)。有关更多信息，请参阅 [Amazon X-Ray 变量](envoy-config.md#envoy-xray-config)。
+ 要为 X-Ray tracer 配置本地化的自定义采样规则，请使用 `XRAY_SAMPLING_RULE_MANIFEST` 环境变量指定 Envoy 容器文件系统中的文件路径。有关更多信息，请参阅《Amazon X-Ray 开发人员指南》**中的[采样规则](https://docs.amazonaws.cn/xray/latest/devguide/xray-sdk-go-configuration.html#xray-sdk-go-configuration-sampling)。

如果您的 Envoy 版本早于 `1.19.1`，请执行以下操作。
+ 使用 `ENVOY_TRACING_CFG_FILE` 环境变量来更改采样率。有关更多信息，请参阅 [Envoy 配置变量](envoy-config.md)。指定自定义跟踪配置并定义本地采样规则。有关更多信息，请参阅 [Envoy Cay 配置](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/xray.proto.html#config-trace-v3-xrayconfig)。
+ `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` 属性中采样规则清单配置的详细信息，请参阅[配置 X-Ray SDK for Go](https://docs.amazonaws.cn/xray/latest/devguide/xray-sdk-go-configuration.html#xray-sdk-go-configuration-sampling)。

如果您的问题仍未解决，请考虑[GitHub 提出问题](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here)或联系 Su [Amazon pport](https://www.amazonaws.cn/premiumsupport/)。