适用于 Java 的 AWS SDK 1.x 版本自 2024 年 7 月 31 日起已进入维护模式,并将于 2025 年 12 月 31 日终止支持
为适用于 Java 的 AWS SDK 启用指标
适用于 Java 的 AWS SDK 可为 Amazon CloudWatch
-
访问 AWS 时应用程序的性能
-
JVM 与 AWS 结合使用时的性能
-
运行时环境详细信息,例如堆内存、线程数和已打开的文件描述符
如何启用 Java SDK 指标生成
您需要添加以下 Maven 依赖项,以便让 SDK 向 CloudWatch 发送指标。
<dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>1.12.490*</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-cloudwatchmetrics</artifactId> <scope>provided</scope> </dependency> <!-- Other SDK dependencies. --> </dependencies>
*将版本号替换为 Maven Central
适用于 Java 的 AWS SDK指标默认处于禁用状态。要为您的本地开发环境启用此功能,请在启动 JVM 时包括指向您的 AWS 安全凭证文件的系统属性。例如:
-Dcom.amazonaws.sdk.enableDefaultMetrics=credentialFile=/path/aws.properties
您需要指定凭证文件的路径,以便 SDK 将收集到的数据点上传到 CloudWatch 供日后分析。
注意
如果您要通过 Amazon EC2 实例元数据服务从 Amazon EC2 实例访问 AWS,则无需指定凭证文件。在这种情况下,您只需要指定以下各项:
-Dcom.amazonaws.sdk.enableDefaultMetrics
适用于 Java 的 AWS SDK 捕获到的所有指标都位于命名空间 AWSSDK/Java 下,并将上传到 CloudWatch 默认区域 (us-east-1)。要更改该区域,请使用系统属性中的 cloudwatchRegion 属性来指定它。例如,要将 CloudWatch 区域设置为 us-east-1,请使用:
-Dcom.amazonaws.sdk.enableDefaultMetrics=credentialFile=/path/aws.properties,cloudwatchRegion={region_api_default}
启用该功能后,每次从适用于 Java 的 AWS SDK 向 AWS 发出服务请求时,都将生成指标数据点,按统计摘要排队,并大约每分钟向 CloudWatch 异步上传一次。指标一旦上传,您就可以使用 AWS 管理控制台
可用指标类型
默认指标组分为三大类:
- AWS 请求指标
-
-
涵盖诸如 HTTP 请求/响应的延迟、请求数量、异常和重试等领域。
-
- AWS 服务 指标
-
-
包括特定于 AWS 服务 服务的数据,如 S3 上传和下载的吞吐量和字节数。
-
- 机器指标
-
-
涵盖运行时环境,包括堆内存、线程数和打开的文件描述符。
如果您想要排除机器指标,请在系统属性中添加
excludeMachineMetrics:-Dcom.amazonaws.sdk.enableDefaultMetrics=credentialFile=/path/aws.properties,excludeMachineMetrics
-
更多信息
-
有关预定义核心指标类型的完整列表,请参阅 amazonaws/metrics package summary。
-
要了解有关通过适用于 Java 的 AWS SDK 使用 CloudWatch 的信息,请参阅 使用适用于 Java 的 AWS SDK 的 CloudWatch 示例。
-
要了解更多有关性能优化的信息,请参阅博客文章 Tuning the 适用于 Java 的 AWS SDK to Improve Resiliency
。