本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
命名空间包括以下指标。
指标 | 可用的统计数据 | 描述 | 单位 |
---|---|---|---|
|
平均值、最小值、最大值、计数 |
开始时间和结束时间之间的差异。平均值、最小值和最大值均描述了操作延迟。计数描述了通话次数。 |
毫秒 |
|
Average、Sum |
因 |
百分比 |
|
Average、Sum |
使用 |
百分比 |
|
Average、Sum |
返回 |
百分比 |
|
Average、Sum |
生成 |
百分比 |
X 射线 CloudWatch 尺寸
使用下表中的维度来细化为装有 X-Ray 分析的 Java 应用程序返回的指标。
维度 | 描述 |
---|---|
|
服务的类型,例如, |
|
服务的规范名称。 |
启用 X-Ray CloudWatch 指标
使用以下过程在已分析的 Java 应用程序中启用跟踪指标。
配置跟踪指标
-
将
aws-xray-recorder-sdk-metrics
包添加为 Maven 依赖项。有关更多信息,请参阅适用于 Java 的 X-Ray SDK 子模块。 -
在全局录制器版本中启用一个新
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()); } } -
部署 CloudWatch 代理以使用亚马逊弹性计算云 (Amazon EC2)、亚马逊弹性容器服务 (Amazon ECS) 或亚马逊 Elastic Kubernetes 服务 (Amazon EKS) 收集指标:
-
要配置 Amazon EC2,请参阅在亚马逊 EC2 上部署 CloudWatch 代理和 X-Ray 守护程序。
-
要配置 Amazon ECS,请参阅在 Amazon ECS 上部署 CloudWatch 代理和 X-Ray 守护程序。
-
要配置 Amazon EKS,请参阅在 Amazon EKS 上部署 CloudWatch 代理和 X-Ray 守护程序。
-
-
将 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
验证配置
登录Amazon Web Services Management Console并打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/
。 -
打开 “指标” 选项卡,观察指标的涌入情况。
-
(可选)在 CloudWatch 控制台的日志选项卡上,打开
ServiceMetricsSDK
日志组。查找与主机指标相匹配的日志流,然后确认日志消息。