本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
App Mesh 故障排除最佳实践
重要
终止支持通知:2026 年 9 月 30 日, AWS 将停止对的支持。 AWS App Mesh 2026 年 9 月 30 日之后,您将无法再访问 AWS App Mesh 控制台或 AWS App Mesh 资源。如需了解更多信息,请访问此博客文章从迁移 AWS App Mesh 到 Amazon S ECS ervice Connect
我们建议您遵循本主题下的最佳实践,排除使用 App Mesh 时遇到的问题。
启用 Envoy 代理管理界面
Envoy 代理附带一个管理界面,您可以使用该界面来发现配置和统计数据,以及执行其他管理功能,例如连接耗尽。有关更多信息,请参阅 Envoy 文档中的管理界面
如果您使用托管 Envoy 镜像,则在默认情况下,管理端点在端口 9901 上处于启用状态。中提供的示例将示例管理端点App Mesh 设置故障排除显示URL为http://my-app.default.svc.cluster.local:9901/
。
注意
管理端点永远不应暴露在公共互联网上。此外,我们建议您监控管理端点日志,这些日志由 ENVOY_ADMIN_ACCESS_LOG_FILE
环境变量默认设置为 /tmp/envoy_admin_access.log
。
启用 Envoy DogStats D 集成以进行指标卸载
可以将 Envoy 代理配置为卸载OSI第 4 层和第 7 层流量以及内部进程运行状况的统计数据。虽然本主题展示了如何在不将指标转移到 CloudWatch 指标和 Prometheus. 之类的接收器的情况下使用这些统计信息,但将所有应用程序的这些统计数据放在一个集中的位置可以帮助您更快地诊断问题并确认行为。有关更多信息,请参阅使用亚马逊 CloudWatch指标和 Prometheus 文档
您可以通过设置中定义的参数来配置 DogStats D 指标DogStatsD 变量。有关 DogStats D 的更多信息,请参阅 DogStatsD
启用访问日志
我们建议您启用访问 虚拟节点 和 虚拟网关 上的日志,发现有关应用程序之间传输的流量的详细信息。有关更多信息,请参阅 Envoy 文档中的访问日志记录
parse @message "[*] \"* * *\" * * * * * * * * * * *" as StartTime, Method, Path, Protocol, ResponseCode, ResponseFlags, BytesReceived, BytesSent, DurationMillis, UpstreamServiceTimeMillis, ForwardedFor, UserAgent, RequestId, Authority, UpstreamHost
在预生产环境中启用 Envoy 调试日志记录
我们建议在预生产环境中将 Envoy 代理的日志级别设置为 debug
。调试日志可以帮助您在将关联的 App Mesh 配置升级到生产环境之前识别问题。
如果您使用的是 Envoy 镜像,则可以通过 ENVOY_LOG_LEVEL
环境变量将日志级别设置为 debug
。
注意
我们建议不在生产环境中使用 debug
级别。将级别设置为debug
会增加日志记录,并且可能会影响性能和转移到日志等CloudWatch 解决方案的日志的总体成本。
当你使用 Envoy 的默认格式时,你可以使用以下解析语句通过 Logs Ins ights 分析流程CloudWatch 日志:
parse @message "[*][*][*][*] [*] *" as Time, Thread, Level, Name, Source, Message
使用 App Mesh 控制面板监控 Envoy 代理连接
我们建议您监控 Envoy 指标 control_plane.connected_state
,确保 Envoy 代理与 App Mesh 控制面板通信以获取动态配置资源。有关更多信息,请参阅管理服务器