AWS X-Ray 和 Step Functions - AWS Step Functions
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

AWS X-Ray 和 Step Functions

您可以使用 AWS X-Ray 可视化状态机的组件,识别性能瓶颈,并排除导致错误的请求。您的状态机发送跟踪数据至 X-Ray,和 X-Ray 处理数据以生成服务映射和可搜索跟踪摘要。

有 X-Ray ,您可以在执行请求时跟踪请求 Step Functions,在所有AWS区域中, X-Ray 可用。这为您提供了整个 Step Functions 请求。您可以使用 X-Ray 服务地图查看请求的延迟,包括与 X-Ray 集成的任何 AWS 服务。您还可以配置采样规则,以告知 X-Ray 根据您指定的标准以哪种采样率记录哪些请求。

您可以使用 AWS X-Ray 配 Step Functions 在支持两者的地区。查看 Step FunctionsX-Ray 端点和配额页面,获取有关区域支持的信息 X-Ray 和 Step Functions.

X射线和步进函数组合配额

您可以将数据添加到追踪长达七天,并查询回溯三十天的追踪数据, X-Ray 存储跟踪数据。您的迹线将受到 X-Ray 配额。除了其他配额, X-Ray 为提供100KB的最小保证跟踪大小 Step Functions 状态机器。如果超过100KB的跟踪数据被提供给 X-Ray,这可能会导致痕量冻结。请参阅 X-Ray 端点和配额 页面,了解有关以下项的其他配额的更多信息: X-Ray.

设置和配置

启用 X-Ray 创建状态机时的跟踪

您可以启用 X-Ray 通过选择 启用 X-Ray 追踪指定详细信息 第页。

  1. 打开 Step Functions 控制台并选择 创建状态机.

  2. 定义状态机 选择 使用代码片段编写从模板开始. 如果您选择运行示例项目,则无法启用 X-Ray 追踪,您将需要启用 X-Ray 创建状态计算机后跟踪。参见 启用 X-Ray 在现有状态机器中 获取更多信息。

    选择下一步

  3. 指定详细信息 页面,配置您的状态机。

  4. 选择 启用 X-Ray 追踪.

    
              X-Ray 启用

    您的 Step Functions 状态机器现在将跟踪发送到 X-Ray 用于状态机器执行。

    注意

    如果您选择使用现有的 IAM 角色,您应该确保 X-Ray 允许写入。

启用 X-Ray 在现有状态机器中

要启用 X-Ray 在现有状态机器中:

  1. 在 Step Functions 控制台,选择要为其启用跟踪的状态计算机。

  2. 选择 Edit (编辑)

  3. 选择 启用 X-Ray 追踪.

    
              X-Ray 启用

    您将看到一则通知,告知您可能需要进行其他更改。

    注意

    当您启用 X-Ray 对于现有状态机器,必须确保 IAM 政策,授予 X-Ray 以执行追踪。您可以手动添加一个,也可以生成一个。有关更多信息,请参见 IAM 政策部分 X-Ray.

  4. (可选)自动生成新角色,让您的状态机器包括 X-Ray 权限。

  5. 选择 Save (保存)

配置 X-Ray 跟踪 Step Functions

当您第一次运行状态机时, X-Ray 跟踪,它将使用的默认配置值 X-Ray 跟踪。安信比 X-Ray 不会收集发送到应用程序的每个请求的数据。相反,它会收集统计上显著的请求数量的数据。默认是每秒记录第一个请求,以及任何附加请求的5%。每秒一个请求是容器。这可确保只要服务正在处理请求,就会每秒至少记录一个跟踪。5% 是对超出容器尺寸的额外请求进行采样的比率

为了避免在您开始时产生服务费,默认采样率是保守的。您可以配置 X-Ray 以修改默认采样规则并配置基于服务或请求的属性应用采样的其他规则。

例如,您可能想要禁用对修改状态或处理用户帐户或事务的呼叫的所有请求进行采样和跟踪。对于高容量只读呼叫,如背景轮询、运行状况检查或连接维护,您可以以低速率采样,但仍能获得足够的数据来观察发生的问题。

要为状态计算机配置采样规则:

  1. 转到 X-Ray 控制台

  2. 选择 Sampling (采样)

  3. 要创建规则,请选择 Create sampling rule (创建采样规则)

    要编辑规则,请选择规则的名称。

    要删除规则,请选择一条规则并使用 Actions (操作) 菜单来删除它。

现有采样规则的某些部分(如名称和优先级)无法更改。相反,请添加或复制现有规则,进行所需的更改,然后使用新规则。

有关 X-Ray 抽样规则以及如何配置各种参数,请参阅 在中配置采样规则 X-Ray 控制台.

Concepts

X-Ray 控制台

您可以使用 AWS X-Ray 控制台查看您的应用程序所服务的请求的服务地图和跟踪。您可以访问控制台以查看收集的详细信息 X-Ray 状态机器的已启用时。

参见 查看 X-Ray 控制台 了解如何访问 X-Ray 控制台。

有关 X-Ray 控制台,请参阅 X-Ray 控制台文档.

细分、子细分和跟踪

记录有关对您的状态计算机的请求的信息。它包含状态机器执行的工作等信息,也可能包含 子段 包含有关下游呼叫的信息。

跟踪 收集由单个请求生成的所有段。

Sampling

为确保高效追踪并提供应用程序所服务请求的代表性样本, X-Ray 应用 取样 算法,以确定哪些请求会被追踪。这可以通过编辑采样规则来更改。

Metrics

对于您的状态机, X-Ray 将计量器调用时间、状态转换时间、总执行时间 Step Functions、和此执行时间中的方差。此信息可通过 X-Ray 控制台。

Analytics

的 AWS X-Ray 分析控制台是一种用于解释跟踪数据的交互式工具。您可以通过单击与当前跟踪集关联的指标和字段的图表和面板,使用越来越精细的筛选条件细化活动的数据集。这可让您分析状态计算机的性能,并快速定位和识别性能问题。

有关 X-Ray 分析,请参阅 与 AWS X-Ray 分析控制台

Step Functions 服务集成和 X-Ray

一些集成了的AWS服务 Step Functions 提供与AWS的集成 X-Ray 通过向请求添加跟踪标题,运行 X-Ray 守护程序,或做出抽样决策并将跟踪数据上传到 X-Ray. 其他必须使用 AWS X-Ray SDK。有的还不支持 X-Ray 集成。 X-Ray 集成是在使用服务集成 Step Functions

土著 X-Ray 支持

服务与本机集成 X-Ray 支持包括:

需要仪器

需要 X-Ray 仪器仪表:

  • Amazon Elastic Container Service

  • AWS Batch

  • AWS Fargate

仅客户端跟踪

其他服务集成不支持 X-Ray 追踪。但是,客户端跟踪仍可收集:

  • Amazon DynamoDB

  • Amazon EMR

  • Amazon SageMaker

  • AWS CodeBuild

  • AWS Glue

查看 X-Ray 控制台

X-Ray 以段形式从服务接收数据。 X-Ray 将具有共同请求的段分组到跟踪中。 X-Ray 处理跟踪以生成服务图形,该图形提供应用程序的可视化表示方式。

启动状态机的执行后,您可以查看其 X-Ray 通过选择 X-Ray 跟踪映射 链接 执行详情 第节。


        X-Ray 跟踪

启用 X-Ray 对于您的状态计算机,您可以在 X-Ray 控制台。

查看 X-Ray 追踪信息 Step Functions

以下步骤说明了启用后,您可以在控制台中查看哪些类型的信息 X-Ray 并运行执行。 X-Ray 追踪 回调模式示例(Amazon SQS、Amazon SNS、Lambda) 示例项目如所示。

Traces

执行完成后,您可以导航至 X-Ray 控制台,您将看到 X-Ray 追踪 第页。这将显示服务映射的概述以及状态机器的跟踪和段信息。


        X-Ray 跟踪

服务地图

中的服务映射 X-Ray 控制台可帮助您识别发生错误的服务,其中存在高延迟的连接,或查看不成功的请求的跟踪。


        X-Ray 跟踪

在跟踪映射中,您可以选择服务节点以查看该节点的请求,或选择两个节点之间的边缘以查看通过该连接的请求。在这里, WaitForCallBack 节点,您可以查看有关其执行和响应状态的其他信息。


        X-Ray 跟踪

您可以看到 X-Ray 服务映射与状态机相关。每个服务集成都有一个服务映射节点 Step Functions,前提是它支持 X-Ray.


        X-Ray 跟踪

细分市场和子细分市场

跟踪 由单个请求生成。每个段均提供资源的名称、有关请求的详细信息以及有关已完成工作的详细信息。在 追踪 页面中,您可以看到段及其相应的子段(如果已展开)。您可以选择一个段或子段以查看有关它的详细信息。

选择每个选项卡,查看分段和子分段的信息如何显示。

Overview of Segments

此状态机的段和子段概述。服务映射中的每个节点都有不同的段。


              分段
View segment detail

选择一个段可提供资源的名称、有关请求的详细信息以及有关已完成工作的详细信息。


              段详情
View subsegment detail

分部可以将有关已完成工作的数据细分为子分部。选择子市场细分可让您查看更详细的计时信息和详情。子段可以包含有关调用AWS服务、外部HTTPAPI或SQL数据库的其他详细信息。


              子段详细信息

Analytics

的 AWS X-Ray 分析 控制台是解释跟踪数据的交互式工具。您可以使用此功能更轻松地了解状态计算机如何执行。借助该控制台,您可以通过交互式响应时间图表和时间序列图表探索、分析和直观地显示跟踪。这可以帮助您快速定位性能和延迟问题。

您可以通过单击与当前跟踪集关联的指标和字段的图表和面板,使用越来越精细的筛选条件细化活动的数据集。


        分析

Configuration

您可以从配置采样和加密选项 X-Ray 控制台。

Sampling

选择 取样 查看有关采样率和配置的详细信息。您可以更改抽样规则以控制您记录的数据量,并修改抽样行为以满足您的特定要求。


              采样
Encryption

选择 加密 修改加密设置。您可以使用默认设置,其中 X-Ray 将跟踪和日期加密,或者,如果需要,您可以选择客户主密钥。标准 AWS KMS 在后一种情况下适用。


              加密设置

如果跟踪映射或服务映射中没有数据怎么办?

如果已启用 X-Ray,但无法在中查看任何数据 X-Ray 控制台,检查:

  • 您的 IAM 角色设置正确,允许写入 X-Ray.

  • 采样规则允许对数据进行采样。

  • 由于在新建或修改之前可能会有短暂的延迟 IAM 角色,请在几分钟后再次检查跟踪或服务映射。

  • 如果您看到 未找到数据 在 X-Ray 跟踪面板,检查您的 IAM 帐户设置 并确保 AWS Security Token Service 为目标区域启用了。有关更多信息,请参阅 是 IAM 用户指南.