本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从中发布 SDK 指标 AWS SDK for Java 2.x
借助, AWS SDK for Java 2.x 您可以收集有关应用程序中服务客户端和请求的指标,分析 Amazon CloudWatch Logs 中的输出,然后对其采取行动。
默认情况下,SDK 中的指标收集处于禁用状态。本主题可帮助您启用和配置指标收集。
SDK 指标入门
要在应用程序中启用指标收集,请根据您的用例选择适当的MetricPublisher
接口实现,并按照详细的设置说明进行操作:
对于长时间运行的应用程序:
-
有关完整的设置说明、代码示例和配置选项,请参阅从长时间运行的应用程序中发布 SDK 指标。
对于 AWS Lambda 函数:
-
有关完整的设置说明、依赖关系和特定于 Lambda 的配置,请参阅发布 SDK 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();
有关完整的实现细节、依赖关系和配置选项,请参阅上面的设置指南。
指标何时可用?
指标通常在 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 日志警报。