本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 X-Ra CloudWatch y 调试合成金丝雀
CloudWatch Synthetics 是一项完全托管的服务,可让您使用每天 24 小时、每分钟运行一次的脚本化金丝雀来监控您的端点和 API。
您可以自定义 Canary 脚本以检查以下内容中的更改:
-
可用性
-
延迟
-
事务
-
中断或失效的链接
-
S tep-by-step 任务完成情况
-
页面加载错误
-
UI 资产的加载延迟
-
复杂的向导流
-
应用程序中的结算流程
Canary 遵循与客户相同的路线执行相同的操作和行为,并不断验证客户体验。
要了解有关设置 Synthetics 测试的详细信息,请参阅使用 Synthetics 创建和管理 Canary。
以下示例显示 Synthetics Canary 引起的调试问题的常见使用案例。每个示例都演示了使用轨迹图或 X-Ray Analytics 控制台进行调试的关键策略。
有关如何阅读追踪地图并与之交互的详细信息,请参阅查看服务地图。
有关如何阅读 Analytics 控制台以及与其交互的更多信息,请参阅与 Amazon X-Ray Analytics 控制台进行交互。
主题
在追踪地图中查看错误报告增加的加那利群岛
要查看哪些加那利群岛在 X-Ray 轨迹图中出现错误、故障、限制率或响应时间较慢的情况,您可以使用过滤器突出显示 Synthetics 金丝雀客户端节点。Client::Synthetic
有关更多信息,请参阅 使用过滤器表达式。选择一个节点会显示整个请求的响应时间分布。在两个节点之间选择一条边会显示有关通过该连接的请求的详细信息。您还可以在追踪地图中查看相关下游服务的 “远程” 推断节点。
当你选择 Synthetics 节点时,侧面板上会有一个 “在 S ynthetics 中查看” 按钮,可将你重定向到 Synthetics 控制台,在那里你可以查看金丝雀的细节。
使用单个追踪的跟踪详情地图,详细查看每个请求
要确定哪个服务导致的延迟最长或导致错误,请通过在追踪地图中选择追踪来调用追踪详情地图。单个跟踪详细信息地图显示单个请求的 end-to-end 路径。使用此方法可了解调用的服务,并直观显示上游和下游服务。
确定上游和下游服务持续出现故障的根本原因
在 Synthetics 金丝雀中收到故障 CloudWatch 警报后,请在 X-Ray 中使用跟踪数据的统计建模在 X-Ray Analytics 控制台中确定问题的可能根本原因。在 Analytics 控制台中,响应时间根本原因表显示了记录的实体路径。X-Ray 确定跟踪中的哪个路径是响应时间的最可能原因。格式指示所遇到的实体的层次结构,结尾是响应时间根本原因。
以下示例显示,由于 Amazon DynamoDB 表中的吞吐量容量异常,对在 API 网关上运行的 API“XXX”进行的 Synthetics 测试失败。
确定性能瓶颈和趋势
您可以使用来自 Synthetics 加那利群岛的持续流量来填充一段时间内的跟踪详情地图,查看终端节点性能随时间变化的趋势。
比较更改前后的延迟和错误或故障率
Pinpoint 变更发生的时间,将该变化与加那利群岛遇到的问题增加相关联。使用 X-Ray Analytics 控制台将之前和之后的时间范围定义为不同的跟踪集,从而在响应时间分布中创建视觉差异。
确定所有 API 和 URL 所需的 Canary 覆盖范围
使用 X-Ray Analytics 与用户比较 Canary 的体验。以下 UI 显示的蓝色趋势线代表 Canary,绿线代表用户。您还可以确定三个网址中有两个没有灰度测试。
使用组专注于 Synthetics 测试
您可以使用筛选条件表达式创建 X-Ray 组以专注于某组工作流程,例如,对正在 Amazon Elastic Beanstalk上运行的“www”进行 Synthetics 测试。使用复杂的关键字service()
和edge()
,在服务和边缘中进行筛选。有关更多信息,请参阅中的复杂关键字部分使用过滤器表达式。
例 组筛选表达式
"edge(id(name: "www", type: "client::Synthetics"), id(name: "www", type: "AWS::ElasticBeanstalk::Environment"))"