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

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

Amazon X-Ray适用于 Java 的 X-Ray 开发工具包指标

本主题介绍 Amazon X-Ray 命名空间、指标和维度。您可以用适用于 Java 的 X-Ray 开发工具包从您收集的 X-Ray 开发工具包发布未经采样的 Amazon CloudWatch 指标。这些指标来自区段的开始时间和结束时间以及错误、故障和受限状态标志。使用这些跟踪衡量指标可显示子段中的重试次数和依赖性问题。

CloudWatch 是本质上指标存储库。指标是 CloudWatch 中的基本概念,代表了数据点的时间顺序集。您 (或Amazon服务)可将指标数据点发布到 CloudWatch,并且您可以按一组有序的时间序列数据来检索关于这些数据点的统计数据。

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

有关 CloudWatch 的更多信息,请参阅 Amazon CloudWatch 用户指南

X-Ray Watch 指标

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

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

Latency

平均、最小、最大、计数

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

毫秒

ErrorRate

Average、Sum

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

百分比

FaultRate

Average、Sum

跟踪失败的速率5xx Server Error状态代码,导致故障。

百分比

ThrottleRate

Average、Sum

返回419状态代码。这是一部分ErrorRate指标。

百分比

OkRate

Average、Sum

跟踪请求的速率导致OK状态代码。

百分比

X-Ray Watch 尺寸

您可以用下表中的维度来优化针对 X-Ray 分析的 Java 应用程序返回的指标。

维度 描述

ServiceType

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

ServiceName

服务的规范名称。

启用 X-Ray Watch 指标

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

配置跟踪衡量指标

  1. aws-xray-recorder-sdk-metrics 包添加为 Maven 依赖项。有关更多信息,请参阅 。用于 Java 子模块的 X-Ray 开发工具包

  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 代理以使用亚马逊 Elastic Compute Cloud (Amazon EC2)、亚马逊 Elastic Container Service (Amazon ECS) 或 Amazon Elastic Kubernetes Service (亚马逊 EKS) 收集指标:

  4. 将软件开发工具包配置为与 CloudWatch 代理进行通信。默认情况下,开发工具包与地址上的 CloudWatch 代理通信127.0.0.1。您可以通过将环境变量或 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. O笔指标选项卡以观察量度的涌入。

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