

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# から SDK メトリクスを発行する AWS SDK for Java 2.x
<a name="metrics"></a>

 AWS SDK for Java 2.x を使用すると、アプリケーション内のサービスクライアントとリクエストに関するメトリクスを収集し、Amazon CloudWatch Logs で出力を分析し、それに対応できます。

デフォルトでは、SDK でメトリクスの収集が無効になっています。このトピックは、それを有効にして設定するのに役立ちます。

## SDK メトリクスの使用開始
<a name="getting-started-with-metrics"></a>

アプリケーションでメトリクス収集を有効にするには、ユースケースに基づいて `[MetricPublisher](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/metrics/MetricPublisher.html)` インターフェイスの適切な実装を選択し、詳細なセットアップ手順に従います。

**長時間実行されるアプリケーションの場合**
+ `[CloudWatchMetricPublisher](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/metrics/publishers/cloudwatch/CloudWatchMetricPublisher.html)` を使用する
+ 詳細なセットアップ手順、コード例、および設定オプションについては、「[長時間実行されるアプリケーションから SDK メトリクスを公開する](metric-pub-impl-cwmp.md)」を参照してください。

** AWS Lambda 関数の場合:**
+ `[EmfMetricLoggingPublisher](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/metrics/publishers/emf/EmfMetricLoggingPublisher.html)` を使用する
+ セットアップ手順、依存関係、Lambda 固有の設定の詳細については、「 [AWS Lambda 関数の SDK メトリクスの発行](metric-pub-impl-emf.md)」を参照してください。

**トラブルシューティングとコンソール出力の場合**
+ `[LoggingMetricPublisher](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/metrics/LoggingMetricPublisher.html)` を使用する
+ セットアップ手順、フォーマットオプション、ローカル開発とトラブルシューティングの例については、「[開発とデバッグのためにコンソールに SDK メトリクスを出力する](metric-pub-impl-logging.md)」を参照してください。

## クイック実装プレビュー
<a name="quick-implementation-preview"></a>

各ユースケースでメトリクスを有効にする場合の例です。

**長時間実行されるアプリケーション**

```
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();
```

## CRT AWS ベースの S3 クライアントのメトリクスの制限
<a name="metrics-using-s3-crt-based-client"></a>

[AWS CRT ベースの S3 クライアント](crt-based-s3-client.md)は、現在 SDK メトリクス収集をサポートしていません。 AWS CRT ベースの S3 クライアントインスタンスのビルダー は[https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3CrtAsyncClientBuilder.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3CrtAsyncClientBuilder.html)、メトリクスパブリッシャーを設定するメソッドを提供しません。

## メトリクスが利用可能になるまでの時間
<a name="when-are-metrics-available"></a>

メトリクスは通常、SDK for Java によって発行されてから 5 ～ 10 分以内に利用可能になります。正確で最新のメトリクスを利用するには、Java アプリケーションからメトリクスが発行されてから 10 分以上経過後、Cloudwatch を確認してください。

## 収集される情報
<a name="what-information-is-collected"></a>

メトリクスの収集には、次のものが含まれます。
+ API リクエストの数 (成功したか、失敗したかを含む)
+ 返される例外など、API リクエストで AWS のサービス 呼び出す に関する情報
+ Marshalling、Signing、HTTP リクエストなどのさまざまな操作の期間
+ 開いている接続の数、保留中のリクエストの数、使用されている HTTP クライアントの名前などの HTTP クライアントのメトリクス

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

詳細なリストについては、[サービスクライアントのメトリクス](metrics-list.md)を参照してください。

## この情報の使用方法
<a name="how-can-i-use-this-information"></a>

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

詳細については、「[Amazon CloudWatch ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)」の「[Amazon CloudWatch メトリクスの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)」と「[Amazon CloudWatch Logs アラームの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)」を参照してください。