从中发布 SDK 指标 AWS SDK for Java 2.x - AWS SDK for Java 2.x

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

从中发布 SDK 指标 AWS SDK for Java 2.x

借助, AWS SDK for Java 2.x 您可以收集有关应用程序中服务客户端和请求的指标,分析 Amazon CloudWatch Logs 中的输出,然后对其采取行动。

默认情况下,SDK 中的指标收集处于禁用状态。本主题可帮助您启用和配置指标收集。

SDK 指标入门

要在应用程序中启用指标收集,请根据您的使用案例选择适当的 MetricPublisher 接口实现,并按照详细的设置说明进行操作:

对于长时间运行的应用程序:

对于 AWS Lambda 函数:

对于故障排除和控制台输出:

快速实施预览

以下是针对每个使用案例启用指标的具体示例:

长时间运行的应用程序:

MetricPublisher metricsPub = CloudWatchMetricPublisher.create(); DynamoDbClient ddb = DynamoDbClient.builder() .overrideConfiguration(c -> c.addMetricPublisher(metricsPub)) .build();

Lambda 函数:

EmfMetricLoggingPublisher emfPublisher = EmfMetricLoggingPublisher.builder() .namespace("MyApp") .build(); DynamoDbClient dynamoDb = DynamoDbClient.builder() .overrideConfiguration(c -> c.addMetricPublisher(emfPublisher)) .build();

开发和调试:

MetricPublisher loggingPublisher = LoggingMetricPublisher.create(); S3Client s3 = S3Client.builder() .overrideConfiguration(c -> c.addMetricPublisher(loggingPublisher)) .build();

基于 AWS CRT 的 S3 客户端的指标限制

基于AWS CRT 的 S3 客户端目前不支持 SDK 指标收集。 AWS 基于 CRT 的 S3 客户端实例的构建器不提供配置指标发布者的方法。S3CrtAsyncClientBuilder

指标何时可用?

指标通常在 SDK for Java 发出它们后的 5-10 分钟内可用。要获得准确性和 up-to-date指标,请在从 Java 应用程序发出指标至少 10 分钟后查看 Cloudwatch。

收集哪些信息?

指标收集包括以下内容:

  • API 请求的数量,包括请求成功还是失败

  • 有关 AWS 服务 您在 API 请求中调用的信息,包括返回的异常

  • 封送、签名和 HTTP 请求等各种操作的用时

  • HTTP 客户端指标,例如打开的连接数、待处理的请求数以及所使用的 HTTP 客户端的名称

注意

可用指标因 HTTP 客户端而异。

有关完整列表,请参阅服务客户端指标

我该如何使用这些信息?

您可以使用 SDK 收集的指标来监控应用程序中的服务客户端。您可以查看总体使用趋势、识别异常情况、查看返回的服务客户端异常,或者深入了解特定问题。使用 Ama CloudWatch zon Logs,您还可以创建警报,以便在应用程序达到您定义的条件时立即通知您。

有关更多信息,请参阅亚马逊 CloudWatch 日志用户指南中的使用亚马逊 CloudWatch 日志指标和使用亚马逊 CloudWatch 日志警报。