为启用指标 AWS SDK for Java - AWS SDK for Java 1.x

自2024年7月31日起, AWS SDK for Java 1.x已进入维护模式,并将于2025年12月31日end-of-support上线。我们建议您迁移到AWS SDK for Java 2.x以继续接收新功能、可用性改进和安全更新。

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

为启用指标 AWS SDK for Java

AWS SDK for Java 可以生成用于通过 Amazon 进行可视化和监控的指标,这些指标 CloudWatch可以衡量:

  • 您的应用程序在访问时的性能 AWS

  • 与一起使用JVMs时的表现 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可用的最新版本。

AWS SDK for Java 默认情况下,指标处于禁用状态。要在本地开发环境中启用它,请在启动时添加一个指向您的 AWS 安全证书文件的系统属性。JVM例如:

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

您需要指定证书文件的路径,以便SDK可以将收集到的数据点上传到以 CloudWatch 供日后分析。

注意

如果您使用 Amazon EC2 实例元数据服务 AWS 从 Amazon EC2 实例进行访问,则无需指定凭证文件。在这种情况下,您只需要指定以下各项:

-Dcom.amazonaws.sdk.enableDefaultMetrics

捕获的所有指标都位于命名空间 AWSSDK/Java 下,并上传到 CloudWatch 默认区域 (us -east-1)。 AWS SDK for Java 要更改该区域,请使用系统属性中的 cloudwatchRegion 属性来指定它。例如,要将 CloudWatch 区域设置为 us-ea st-1,请使用:

-Dcom.amazonaws.sdk.enableDefaultMetrics=credentialFile=/path/aws.properties,cloudwatchRegion={region_api_default}

启用该功能后,每次有 AWS 来自的服务请求时,都会生成指标数据点 AWS SDK for Java,排队等候统计摘要,然后异步上传到 CloudWatch 大约每分钟一次。指标一旦上传,您就可以使用 AWS Management Console将其可视化,并设置潜在问题的警报,如内存泄露、文件描述符泄露等等。

可用指标类型

默认指标组分为三大类:

AWS 请求指标
  • 涵盖HTTP请求/响应的延迟、请求数、异常和重试次数等方面。

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

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

    MachineMetric 131111

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

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

更多信息