本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 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 跟踪。
要配置 Envoy 代理以将数据发送到 X-Ray,请在其容器定义中设置 ENABLE_ENVOY_XRAY_TRACING
环境变量。
注意
Envoy 的 App Mesh 版本目前不根据配置的采样规则发送跟踪。而是使用 5% 的固定采样率(针对 Envoy 版本 1.16.3 或更新版本),或 50% 的采样率(针对 Envoy 1.16.3 之前的版本)。
例 Amazon 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 }
注意
请参阅《 Amazon App Mesh 用户指南》中的 Envoy 图像,了解有关可用 Envoy 区域地址的更多信息。
有关在容器中运行 X-Ray 进程守护程序的详细信息,请参阅 在 Amazon ECS 上运行 X-Ray 进程守护程序。对于包含服务网格、微服务、Envoy 代理和 X-Ray 守护程序的示例应用程序,请在 App Mesh colorapp
示例存储库中部署示例 GitHub