为适用于 Java 的 AWS SDK 启用指标 - 适用于 Java 的 AWS SDK 1.x

适用于 Java 的 AWS SDK 1.x 版本自 2024 年 7 月 31 日起已进入维护模式,并将于 2025 年 12 月 31 日终止支持。我们建议您迁移到 AWS SDK for Java 2.x 以继续获得新功能、可用性改进和安全更新。

为适用于 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 上可用的最新版 SDK。

适用于 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 请求/响应的延迟、请求数量、异常和重试等领域。

    RequestMetric 131111
AWS 服务 指标
  • 包括特定于 AWS 服务 服务的数据,如 S3 上传和下载的吞吐量和字节数。

    ServiceMetric 131111
机器指标
  • 涵盖运行时环境,包括堆内存、线程数和打开的文件描述符。

    MachineMetric 131111

    如果您想要排除机器指标,请在系统属性中添加 excludeMachineMetrics

    -Dcom.amazonaws.sdk.enableDefaultMetrics=credentialFile=/path/aws.properties,excludeMachineMetrics

更多信息