Amazon X-Ray适用于 Java 的 X-Ray SDK 的指标 - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon X-Ray适用于 Java 的 X-Ray SDK 的指标

本主题介绍 Amazon X-Ray 命名空间、指标和维度。您可以使用适用于 Java 的 X-Ray SDK 从您收集的 X-Ray 区段中发布未采样的亚马逊 CloudWatch 指标。这些指标来自区段的开始和结束时间以及错误、故障和限制状态标志。使用这些跟踪指标来揭露子分段内的重试次数和依赖问题。

CloudWatch 本质上是一个指标存储库。指标是中的基本概念 CloudWatch ,代表一组按时间顺序排列的数据点。您(或Amazon Web Services)将指标数据点发布到其中, CloudWatch 并将有关这些数据点的统计数据作为一组有序的时间序列数据进行检索。

指标通过名称、命名空间以及一个或多个维度进行唯一定义。每个数据点都有一个时间戳和一个度量单位(可选)。当请求统计数据时,返回的数据流根据命名空间、指标名称和维度加以识别。

有关的更多信息 CloudWatch,请参阅《亚马逊 CloudWatch 用户指南》

X-Ray CloudWatch 指标

ServiceMetrics/SDK 命名空间包括以下指标。

指标 可用的统计数据 描述 单位

Latency

平均值、最小值、最大值、计数

开始时间和结束时间之间的差异。平均值、最小值和最大值均描述了操作延迟。计数描述了通话次数。

毫秒

ErrorRate

Average、Sum

4xx Client Error状态码而失败并导致错误的请求的速率。

百分比

FaultRate

Average、Sum

使用5xx Server Error状态码失败并导致故障的跟踪速率。

百分比

ThrottleRate

Average、Sum

返回429状态码的受限跟踪的速率。这是ErrorRate指标的子集。

百分比

OkRate

Average、Sum

生成OK状态码的已跟踪请求的速率。

百分比

X 射线 CloudWatch 尺寸

使用下表中的维度来细化为装有 X-Ray 分析的 Java 应用程序返回的指标。

维度 描述

ServiceType

服务的类型,例如,AWS::EC2::Instance或者NONE,如果不知道。

ServiceName

服务的规范名称。

启用 X-Ray CloudWatch 指标

使用以下过程在已分析的 Java 应用程序中启用跟踪指标。

配置跟踪指标
  1. aws-xray-recorder-sdk-metrics 包添加为 Maven 依赖项。有关更多信息,请参阅适用于 Java 的 X-Ray SDK 子模块

  2. 在全局录制器版本中启用一个新MetricsSegmentListener()的。

    例 src/com/myapp/web/Startup.java
    import com.amazonaws.xray.AWSXRay; import com.amazonaws.xray.AWSXRayRecorderBuilder; import com.amazonaws.xray.plugins.EC2Plugin; import com.amazonaws.xray.plugins.ElasticBeanstalkPlugin; import com.amazonaws.xray.strategy.sampling.LocalizedSamplingStrategy; @Configuration public class WebConfig { ... static { AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder .standard() .withPlugin(new EC2Plugin()) .withPlugin(new ElasticBeanstalkPlugin()) .withSegmentListener(new MetricsSegmentListener()); URL ruleFile = WebConfig.class.getResource("/sampling-rules.json"); builder.withSamplingStrategy(new LocalizedSamplingStrategy(ruleFile)); AWSXRay.setGlobalRecorder(builder.build()); } }
  3. 部署 CloudWatch 代理以使用亚马逊弹性计算云 (Amazon EC2)、亚马逊弹性容器服务 (Amazon ECS) 或亚马逊 Elastic Kubernetes 服务 (Amazon EKS) 收集指标:

  4. 将 SDK 配置为与 CloudWatch 代理通信。默认情况下,SDK 通过地址127.0.0.1与 CloudWatch 代理进行通信。您可以通过将环境变量或 Java 属性设置为 address:port 来配置备用地址。

    例 环境变量
    AWS_XRAY_METRICS_DAEMON_ADDRESS=address:port
    例 Java 属性
    com.amazonaws.xray.metrics.daemonAddress=address:port
验证配置
  1. 登录Amazon Web Services Management Console并打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/

  2. 打开 “指标” 选项卡,观察指标的涌入情况。

  3. (可选)在 CloudWatch 控制台的日志选项卡上,打开ServiceMetricsSDK日志组。查找与主机指标相匹配的日志流,然后确认日志消息。