Amazon EC2 和Amazon App Mesh - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon EC2 和Amazon App Mesh

Amazon X-Ray与集成Amazon App Mesh以管理微服务的 Envoy 代理。App Mesh 提供了 Envoy 版本,您可以将其配置为将跟踪数据发送到在同一任务或 Pod 的容器中运行的 X-Ray 守护程序。X-Ray 支持使用以下 App Mesh 兼容服务进行跟踪:

  • Amazon Elastic Container Service (Amazon ECS)

  • Amazon Elastic Kubernetes Service (Amazon EKS)

  • Amazon Elastic Compute Cloud (Amazon EC2)

使用以下说明以了解如何通过 App Mesh 启用 X-Ray 跟踪。

显示客户端与 App Mesh 服务之间轨迹的服务地图。

要将 Envoy 代理配置为向 X-Ray 发送数据,请在其容器定义中设置ENABLE_ENVOY_XRAY_TRACING环境变量

注意

App Mesh 版本的 Envoy 目前不根据配置的采样规则发送跟踪。相反,它对于 Envoy 版本 1.16.3 或更高版本使用 5% 的固定采样率,对于 1.16.3 之前的 Envoy 版本,它使用 50% 的采样率。

例 亚马逊 ECS 的 Envoy 容器定义
{ "name": "envoy", "image": "public.ecr.aws/appmesh/aws-appmesh-envoy:envoy-version", "essential": true, "environment": [ { "name": "APPMESH_VIRTUAL_NODE_NAME", "value": "mesh/myMesh/virtualNode/myNode" }, { "name": "ENABLE_ENVOY_XRAY_TRACING", "value": "1" } ], "healthCheck": { "command": [ "CMD-SHELL", "curl -s http://localhost:9901/server_info | cut -d' ' -f3 | grep -q live" ], "startPeriod": 10, "interval": 5, "timeout": 2, "retries": 3 }
注意

要了解有关可用的 Envoy 区域地址的更多信息,请参阅Amazon App Mesh用户指南中的 Envo y 图片

有关在容器中运行 X-Ray 守护程序的详细信息,请参阅在 “X-Ray” 上部署。对于包含服务网格、微服务、Envoy 代理和 X-Ray 守护程序的示例应用程序,请在 App Meshcolorapp 示例 GitHub存储库中部署该示例