AWS SDK for Java 2.x から SDK メトリクスを公開する - AWS SDK for Java 2.x

AWS SDK for Java 2.x から SDK メトリクスを公開する

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 分以内に利用可能になります。正確で最新のメトリクスを利用するには、Java アプリケーションからメトリクスが発行されてから 10 分以上経過後、Cloudwatch を確認してください。

収集される情報

メトリクスの収集には、次のものが含まれます。

  • API リクエストの数 (成功したか、失敗したかを含む)

  • API リクエストで呼び出す AWS のサービス に関する情報 (返された例外を含む)

  • Marshalling、Signing、HTTP リクエストなどのさまざまな操作の期間

  • 開いている接続の数、保留中のリクエストの数、使用されている HTTP クライアントの名前などの HTTP クライアントのメトリクス

注記

使用可能なメトリクスは、HTTP クライアントによって異なります。

詳細なリストについては、サービスクライアントのメトリクスを参照してください。

この情報の使用方法

SDK が収集するメトリクスを使用して、アプリケーションのサービスクライアントをモニタリングできます。全体的な使用傾向の確認や、異常の特定ができるほか、返されたサービスクライアントの例外を確認したり、特定の問題を理解するために詳しく確認したりすることもできます。Amazon CloudWatch Logs を使用して、定義した条件にアプリケーションが達するとすぐに通知するアラームを作成することもできます。

詳細については、「Amazon CloudWatch ユーザーガイド」の「Amazon CloudWatch メトリクスの使用」と「Amazon CloudWatch Logs アラームの使用」を参照してください。