在 AWS X-Ray 控制台中使用见解 - AWS X-Ray
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 AWS X-Ray 控制台中使用见解

见解功能目前为 X-Ray 公开预览版,可能会发生变化。

AWS X-Ray 会持续分析您账户中的跟踪数据,以识别您的应用程序中的紧急问题。当故障率超出预期范围时,它会创建一个见解,以记录事件并跟踪其影响,直到解决该问题。您可以使用见解来确定持续问题的用户影响,或分析过去发生的临时问题。

控制台还识别服务地图中具有持续事件的节点。X-Ray要查看见解的摘要,请选择受影响的节点。


      具有见解摘要的服务地图节点。

X-Ray 在检测到服务地图的一个或多个节点中的异常 时会创建见解。该服务使用机器学习来对应用程序中服务的预期错误率和故障率进行建模。在上述示例中,异常是 AWS Elastic Beanstalk 的故障增加。服务器遇到多个 API 调用超时,导致下游节点出现异常。Elastic Beanstalk

在 X-Ray 控制台中启用见解

公开预览

X-Ray 使用 GetInsightSummaries、GetInsight、GetInsightEvents 和 GetInsightImpactGraph 内部 API 命令从见解中检索数据。要启用见解,请使用 AWSXrayReadOnlyAccess IAM 托管策略或将以下自定义策略添加到您的 IAM 角色:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:GetInsightSummaries", "xray:GetInsight", "xray:GetInsightEvents", "xray:GetInsightImpactGraph" ], "Resource": [ "*" ] } ] }

有关更多信息,请参阅 如何 AWS X-Ray 与 IAM

在 X-Ray 控制台中查看见解

  1. 打开 X-Ray 控制台

  2. 必须为您要使用见解功能的每个组启用见解。您可以从 Groups (组) 页面中使用以下任一步骤来启用见解:

    • 选择要为其启用见解的组,然后选择 Insights enabled (启用见解)

    • 选择 Create group,然后选择 Insights enabled。有关在 X-Ray 控制台中创建组的更多信息,请参阅在中创建组 X-Ray 控制台

  3. 在左侧的导航窗格中,选择 Insights (见解),然后选择要查看的见解。

    
          控制台中的见解列表。X-Ray

启用见解通知

通知支持见解后,通知将发送到 Amazon EventBridge。EventBridge 可以使用这些通知和条件规则执行操作,例如 SNS 通知、Lambda 调用、将消息发布到 SQS 队列或 EventBridge 支持的任何目标。有关目标的更多信息,请参阅 Amazon EventBridge 目标

为 X-Ray 组启用通知

  1. 打开 X-Ray 控制台

  2. 您可以为任何已启用见解的组启用见解通知。要启用通知,请从 Groups (组) 页面中使用以下任一步骤:

    • 选择要为其启用见解通知的组并启用标记为 Enable Insights (启用见解) 的选择器,然后启用标记为 Enable Notifications (启用通知) 的选择器。

    • 选择 Create group,并启用标记为 Enable Insights (启用见解) 的选择器,然后启用标记为 Enable Notifications (启用通知) 的选择器。有关在 X-Ray 控制台中创建组的更多信息,请参阅在中创建组 X-Ray 控制台

配置 Amazon EventBridge 条件规则

  1. 打开 Amazon EventBridge 控制台。

  2. 导航到 Rules 在左侧导航栏中,选择 Create rule.

  3. 为规则提供名称和描述。

  4. 选择 Event pattern,然后选择 Custom pattern, 提供包含 "source": [ "aws.xray" ]"detail-type": [ "AWS X-Ray Insight Update" ] 的模式。 以下是一些可能的模式示例。

    • 用于匹配来自 X-Ray 见解的所有传入事件的事件模式:

      { "source": [ "aws.xray" ], "detail-type": [ "AWS X-Ray Insight Update" ] }
    • 与指定的 statecategory 匹配的事件模式:

      { "source": [ "aws.xray" ], "detail-type": [ "AWS X-Ray Insight Update" ], "detail": { "State": [ "ACTIVE" ], "Category": [ "FAULT" ] } }
  5. 选择并配置您希望在事件与此规则匹配时调用的目标。

  6. 可选 – 提供标签可更轻松地标识和选择此规则。

  7. 选择 Create.

确定客户端影响

见解的概述页面显示来自有关异常服务的跟踪数据的信息。Anomalous services (匿名服务) 部分显示每项服务的时间线,用于说明事件期间的故障率变化。时间线显示具有在实心带上叠加的故障的跟踪数量,这些跟踪数量根据记录的流量指示预期故障数量。见解的持续时间由 Incident 窗口可视化。当 X-Ray 观察到指标异常时,事件窗口开始;当见解处于活动状态时,事件窗口仍然存在。

以下示例显示导致事件的故障增加。根据为受影响的服务建模的数据,X-Ray 预测带故障的跟踪数量不超过 200 个,具体取决于流量。当它收到 400 个跟踪,其故障的总体跟踪没有类似的峰值时,它会创建见解。


        见解的概述页面。X-Ray

Root cause (根本原因) 部分显示侧重于根本原因服务和受影响的路径的服务地图。您可以通过选择根本原因映射右上角的眼睛图标隐藏不受影响的节点。根本原因服务是 X-Ray 标识异常的最远的下游节点。它可以表示您分析过的服务或使用您的分析过的客户端调用的服务的外部服务。例如,如果您使用分析的 AWS 开发工具包客户端调用 Amazon DynamoDB,则 DynamoDB 中的故障增加会导致以 DynamoDB 作为根本原因的见解。

要深入了解根本原因,请选择 View root cause details (位于根本原因图形中)。您可以使用 Analytics 页面来调查错误根本原因和相关消息。有关更多信息,请参阅 与 AWS X-Ray Analytics 控制台交互


        见解的概述页面。X-Ray

在映射中上游继续的故障可能会影响多个节点并导致多个异常。如果故障一直传回发出请求的用户,则结果为客户端故障。这是服务地图的根节点中的故障。影响图表为整个组提供了客户端体验的时间线。该体验是根据以下状态的百分比计算的: 故障错误限制正常


        事件的影响图。X-Ray

此示例显示在发生事件期间,根节点上发生故障时跟踪的增加。下游服务中的事件并不总是与客户端错误增加相对应。

选择 Analyze insight 会在一个窗口中打开 X-Ray Analytics 控制台,在其中您可以深入研究导致见解的跟踪集。有关更多信息,请参阅 与 AWS X-Ray Analytics 控制台交互

查看见解的进度

X-Ray 定期重新评估见解,直到解决它们,并在事件中记录每个中间状态。您可以在 Inspect (检查) 页面上的 Impact Timeline (影响时间线) 中查看事件事件。默认情况下,时间线显示影响最大的服务,直到您选择其他服务。


        具有影响时间线的检查页面。

要查看某个事件的服务地图和图表,请从影响时间表中选择它。服务地图显示应用程序中受事件影响的服务。在 Impact analysis (影响分析) 下,图表显示所选节点和组中的客户端的故障时间线。


        见解的影响分析图。X-Ray

要更深入地查看事件中涉及的跟踪,请在 Inspect (检查) 页面上选择 Analyze event (分析事件)。您可以使用 Analytics 页面来细化跟踪列表和识别受影响的用户。有关更多信息,请参阅 与 AWS X-Ray Analytics 控制台交互