在 X-Ray 控制台中配置采样规则 - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

在 X-Ray 控制台中配置采样规则

您可以使用 Amazon X-Ray 控制台为您的服务配置采样规则。X-Ray 开发工具包和Amazon支持的服务活动跟踪对于采样规则,请使用采样规则确定要记录的请求。

配置 采样规则

您可以为以下使用案例配置采样:

  • API Gateway 入口点— API Gateway 支持采样和主动跟踪。要在 API 阶段启用主动跟踪,请参阅Amazon API Gateway 主动跟踪支持Amazon X-Ray

  • Amazon AppSync–Amazon AppSync支持采样和主动跟踪。启用活动跟踪Amazon AppSync请求,请参阅跟踪使用AmazonX-Ray.

  • 计算平台上的仪器 X-Ray 开发工具包— 使用 Amazon EC2、Amazon ECS 等计算平台或Amazon Elastic Beanstalk,当使用最新版本的----X-Ray

自定义抽样规则

通过自定义采样规则,您可以控制您记录的数据量。您也可以修改采样行为,而无需修改或重新部署代码。采样规则向X-Ray 工具包告知要为一系列条件记录的请求数。默认情况下,X-Ray SDK 每秒记录第一个请求,以及所有额外请求的 5%。每秒一个请求是容器。这可确保只要服务正在处理请求,就会每秒至少记录一个跟踪。5% 是对超出容器尺寸的额外请求进行采样的比率

您可以配置 X-Ray Ray 采样规则。但是,当您运行服务的多个实例时,每个实例都会单独执行采样。这会导致采样的请求的总体比例升高,因为所有实例的容器都会被有效地一起添加。此外,要更新本地采样规则,则必须重新部署您的代码。

通过在 X-Ray 控制台中定义采样规则,以及配置开发工具包要从 X-Ray Ray 该服务将管理每条规则的容器,并向您的服务的每个实例分配配额以基于正在运行的实例数均匀地分配容器。容器限制是根据您设置的规则计算的。由于规则是在服务中配置的,您可以管理规则而不进行额外的部署。

注意

X-Ray 在应用采样规则时使用尽力而为的方法,在某些情况下,有效采样率可能与配置的采样规则不完全匹配。但是,随着时间的推移,抽样的请求数应接近配置的百分比。

您现在可以在亚马逊内部配置 X-Ray CloudWatch 控制台。您也可以继续使用 X-Ray 控制台。

X-Ray console
在 X-Ray 控制台中配置采样规则
  1. 打开X-Ray 控制台.

  2. 选择采样在左侧导航窗格中。

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

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

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

CloudWatch console
在中配置采样规则 CloudWatch 控制台
  1. 登录到Amazon Web Services Management Console然后打开 CloudWatch 控制台位于https://console.aws.amazon.com/cloudwatch/.

  2. 选择设置在左侧导航窗格中。

  3. 选择查看设置采样规则X-Ray 跟踪部分。

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

    要编辑规则,请选择一条规则并选择编辑来编辑它。

    要删除规则,请选择一条规则并选择Delete将其删除。

采样规则选项

以下选项可用于每条规则。字符串值可以使用通配符来匹配单个字符 (?) 或零或多个字符 (*)。

采样规则选项
  • 规则名称(字符串)— 一个唯一的规则名称。

  • Priority (优先级)(1 和 999 之间的整数)— 采样规则的优先级。服务按优先级的上升顺序评估规则,并与匹配的第一条规则进行抽样决策。

  • Reservoir (容器)(非负整数)— 在应用固定比率之前,每秒要分析的匹配请求的固定数量。该容器不由服务直接使用,但适用于所有使用该规则的服务。

  • Rate (比率)(0 到 100 之间的数字)— 容器耗尽后,要分析的匹配请求的百分比。速率可以是整数或浮点数。

  • Service name (服务名称)(字符串) — 分析过的服务在服务地图中呈现的名称。

    • X-Ray 开发工具包 — 您在记录器上配置的服务名称。

    • Amazon API Gateway eapi-name/stage.

  • Service type (服务类型)(字符串) — 在服务地图中呈现的服务类型。对于采用 X-Ray 开发工具包的

    • AWS::ElasticBeanstalk::Environment— 一个Amazon Elastic Beanstalk环境(插件)。

    • AWS::EC2::Instance— Amazon EC2 实例(插件)。

    • AWS::ECS::Container— Amazon ECS 容器(插件)。

    • AWS::APIGateway::Stage— Amazon API Gateway 阶段。

    • AWS::AppSync::GraphQLAPI — 一个Amazon AppSyncAPI 请求。

  • Host (主机)(字符串)— HTTP 主机标头中的主机名。

  • HTTP method (HTTP 方法)(字符串)— HTTP 请求的方法。

  • URL path (URL 路径)(字符串)— 请求的 URL 路径。

    • X-Ray 开发工具包 — HTTP 请求 URL 的路径部分。

  • 资源 ARN(字符串)— 的 ARNAmazon运行服务的资源。

    • X-Ray 开发工具包 — 不支持。SDK 只能将规则与资源 ARN设置为*.

    • Amazon API Gateway — 阶段 ARN。

  • (可选)属性(键和值)— 在做出采样决定时已知的片段属性。

    • X-Ray 开发工具包 — 不支持。该开发工具包将忽略指定属性的规则。

    • Amazon API Gateway — 来自原始 HTTP 请求的标头。

采样规则示例

例 — 没有容器和低比率的默认规则

您可以修改默认规则的容器和比率。默认规则应用于与任何其他规则都不匹配的请求。

  • Reservoir (容器)0

  • Rate (比率)0.005(0.5%)

例 — 调试规则以跟踪对有问题的路由的所有请求

一个临时应用的用于调试的高优先级规则。

  • 规则名称DEBUG – history updates

  • Priority (优先级)1

  • Reservoir (容器)1

  • Rate (比率)1

  • Service name (服务名称)Scorekeep

  • Service type (服务类型)*

  • Host (主机)*

  • HTTP method (HTTP 方法)PUT

  • URL path (URL 路径)/history/*

  • 资源 ARN*

例 — 针对 POST 的更高的最低比率
  • 规则名称POST minimum

  • Priority (优先级)100

  • Reservoir (容器)10

  • Rate (比率)0.10

  • Service name (服务名称)*

  • Service type (服务类型)*

  • Host (主机)*

  • HTTP method (HTTP 方法)POST

  • URL path (URL 路径)*

  • 资源 ARN*

将服务配置为使用采样规则

要使用 X-Ray----------- 有关更多信息,请参阅采用您的语言的配置主题中有关配置采样策略的详细信息:

有关 API Gateway 的信息,请参阅Amazon API Gateway 主动跟踪支持Amazon X-Ray.

查看采样结果

X-Ray 控制台采样” 页显示了有关您的服务如何使用每个采样规则的详细信息。

Trend (趋势) 列显示了在前几分钟如何使用了规则。每个列显示了 10 秒时段的统计数据。

采样统计数据
  • Tatched rule:匹配此规则的请求数。此数字不包含可能与此规则匹配但先与优先级更高的规则匹配的请求。

  • Total ampled:记录的请求数。

  • 使用固定费率进行采样:通过应用规则的固定比率采样的请求数。

  • 使用储层极限进行采样:使用 X-Ray 分配的配额采样的请求数。

  • 从水库借来的:通过从容器借用来采样的请求数。当某个服务首次将请求与规则匹配时,X-Ray--------------------------------Ray 但是,如果容器至少为 1,该服务会每秒借用一个跟踪,直到 X-Ray

有关采样统计数据以及服务采样规则的方式的更多信息,请参阅通过 X-Ray API 使用采样规则

后续步骤

您可以使用 X-Ray API 管理采样规则。利用 API,您可以按计划以编程方式创建和更新规则,也可以作为对警报或通知的响应执行此操作。有关说明和其他规则示例,请参阅使用配置采样、组和加密设置Amazon X-RayAPI

X-Ray 开发工具包和Amazon服务还使用 X-Ray--------- 服务必须跟踪它们应用每个规则的频率,根据优先级评估规则,并在某个请求与尚未针对其向服务分配配额的规则匹配时从容器中借用。有关服务如何使用 API 进行采样的更多详细信息,请参阅通过 X-Ray API 使用采样规则

当采样 AX-Ray X-Ray 如果您已使用 TCP 端口 2000,则可以配置守护程序以在其他端口上运行代理。有关详细信息,请参阅 配置Amazon X-Ray守护进程