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