本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
跟踪
重要
终止支持通知:2026 年 9 月 30 日, Amazon 将停止对的支持。 Amazon App Mesh 2026 年 9 月 30 日之后,您将无法再访问 Amazon App Mesh 控制台或 Amazon App Mesh 资源。如需了解更多信息,请访问此博客文章从迁移 Amazon App Mesh 到 Amazon S ECS ervice Connect
重要
要完全实现跟踪,你需要更新应用程序。
要查看所选服务中的所有可用数据,您必须使用适用的库来检测您的应用程序。
使用 Amazon X-Ray 监控 App Mesh
重要
终止支持通知:2026 年 9 月 30 日, Amazon 将停止对的支持。 Amazon App Mesh 2026 年 9 月 30 日之后,您将无法再访问 Amazon App Mesh 控制台或 Amazon App Mesh 资源。如需了解更多信息,请访问此博客文章从迁移 Amazon App Mesh 到 Amazon S ECS ervice Connect
Amazon X-Ray 是一项服务,它提供的工具可让您查看、筛选并深入了解从应用程序所处理的请求中收集的数据。这些见解可帮助您发现问题和机会,从而优化您的应用程序。您可以查看有关请求和响应的详细信息,以及您的应用程序对其他 Amazon 服务的下游调用。
X-Ray 与 App Mesh 集成以管理您的 Envoy 微服务。来自 Envoy 的跟踪数据将发送到您的容器中运行的 X-Ray 进程守护程序。
使用特定于您的语言的SDK指南,在您的应用程序代码中实现 X-Ray。
通过 App Mesh 启用 X 射线追踪
-
视服务类型而定:
-
ECS- 在 Envoy 代理容器定义中,将
ENABLE_ENVOY_XRAY_TRACING
环境变量设置为1
,将XRAY_DAEMON_PORT
环境变量设置为2000
。 -
EKS- 在 App Mesh 控制器配置中,包括
--set tracing.enabled=true
和--set tracing.provider=x-ray
。
-
-
在 X-Ray 容器中,公开端口
2000
并以用户身份运行1337
。
X-Ray 示例
亚马逊的 Envoy 容器定义 ECS
{ "name": "envoy", "image": "840364872350.dkr.ecr.us-west-2.amazonaws.com/aws-appmesh-envoy:v1.15.1.0-prod", "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 }
更新适用于亚马逊的 App Mesh 控制器 EKS
helm upgrade -i appmesh-controller eks/appmesh-controller \ --namespace appmesh-system \ --set region=${AWS_REGION} \ --set serviceAccount.create=false \ --set serviceAccount.name=appmesh-controller \ --set tracing.enabled=true \ --set tracing.provider=x-ray
使用 X-Ray 的演练
-
在 Amazon App Mesh 研讨会上
使用 X-Ray 进行分布式追踪
要了解有关 Amazon X-Ray 的更多信息
使用 App Mesh Amazon 对 X-Ray 进行故障排除
Jaeger for Amazon 的 App Mesh EKS
Jaeger 是一个开源的、端到端的分布式跟踪系统。它可用于分析网络和进行监控。Jaeger 还可以帮助您对复杂的云原生应用程序进行故障排除。
要在应用程序代码中实现 Jaeger,您可以在 Jaeger 文档跟踪库中找到具体适用于您的语言的指南。
使用 Helm 安装 Jaeger
-
将EKS存储库添加到 Helm:
helm repo add eks https://aws.github.io/eks-charts
-
安装 App Mesh Jaeger
helm upgrade -i appmesh-jaeger eks/appmesh-jaeger \ --namespace appmesh-system
Jaeger 示例
以下是为 Jaeger 创建永久存储 PersistentVolumeClaim
的示例。
helm upgrade -i appmesh-controller eks/appmesh-controller \ --namespace appmesh-system \ --set tracing.enabled=true \ --set tracing.provider=jaeger \ --set tracing.address=appmesh-jaeger.appmesh-system \ --set tracing.port=9411
使用 Jaeger 的演练
要了解有关 Jaeger 的更多信息
用于追踪的 Datadog
Datadog 既可以用于跟踪,也可以用于指标。有关更多信息和安装说明,请在 Datadog