

# Amazon CloudWatch で DynamoDB のメトリクスをモニタリングする
<a name="Monitoring-metrics-with-Amazon-CloudWatch"></a>

CloudWatch を使用して DynamoDB をモニタリングすることで、DynamoDB から raw データを収集し、リアルタイムに近い読み込み可能なメトリクスに加工することができます。これらの統計は一定期間保持されるため、履歴情報にアクセスしてウェブアプリケーションやサービスの動作をより的確に把握できます。デフォルトでは、DynamoDB メトリクスデータは CloudWatch に自動的に送信されます。詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[Amazon CloudWatch とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html)」および「[メトリクスの保持](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#metrics-retention)」を参照してください。

**Topics**
+ [DynamoDB メトリクスの使用方法](#How-do-I-use-DynamoDB-metrics)
+ [CloudWatch コンソールでのメトリクスの表示](#Viewing-metrics-in-CloudWatch-console)
+ [AWS CLI でのメトリクスの表示](#Viewing-metrics-in-the-cli)
+ [DynamoDB のメトリクスとディメンション](metrics-dimensions.md)
+ [DynamoDB に CloudWatch アラームを作成する](Monitoring-metrics-creating-cloudwatch-alarms.md)

## DynamoDB メトリクスの使用方法
<a name="How-do-I-use-DynamoDB-metrics"></a>

DynamoDB によってレポートされるメトリクスが提供する情報は、さまざまな方法で分析できます。以下のリストは、メトリクスの一般的な利用方法をいくつか示しています。ここで紹介するのは開始するための提案事項です。すべてを網羅しているわけではありません。


**DynamoDB メトリクスの使用方法**  

|  目的  |  関連するメトリクス  | 
| --- | --- | 
|  テーブルの TTL 削除率は、どのようにしてモニタリングできますか?  |  指定した期間にわたって `TimeToLiveDeletedItemCount` をモニタリングし、テーブルの TTL 削除率を追跡できます。`TimeToLiveDeletedItemCount` メトリクスを使用するサーバーレスアプリケーションの例については、「[ Automatically archive items to S3 using DynamoDB time to live (TTL) with AWS Lambda and Amazon Data Firehose](https://aws.amazon.com/blogs/database/automatically-archive-items-to-s3-using-dynamodb-time-to-live-with-aws-lambda-and-amazon-kinesis-firehose/)」を参照してください。  | 
|  プロビジョニングされたスループットの消費量は、どのようにして確認できますか?  |  指定した期間 `ConsumedReadCapacityUnits` または `ConsumedWriteCapacityUnits` をモニタリングし、プロビジョニング済みスループットの使用量を追跡できます。  | 
|  どのリクエストがテーブルのプロビジョニングされたスループットクォータを超えているかは、どのようにして確認できますか?  |  `ThrottledRequests`リクエスト内で任意のイベントがプロビジョニングされたスループットクォータを超過した場合、 は 1 ずつ増加します。次に、どのイベントがリクエストをスロットリングしているかについてのインサイトを取得するには、`ThrottledRequests` とテーブルおよびそのインデックスの `ReadThrottleEvents` メトリクスと `WriteThrottleEvents` メトリクスを比較します。  | 
|  どうすればシステムエラーの発生の有無を判断できますか。  |  `SystemErrors` をモニタリングして HTTP 500 (サーバーエラー) コードを発生させたリクエストがあるかどうかを判断できます。通常、このメトリクスはゼロであるべきです。そうでない場合は、調査することをお勧めします。  | 
|  テーブルオペレーションのレイテンシー値は、どのようにしてモニタリングできますか?  |  パーセンタイルメトリクス (p50) を通じて平均レイテンシーとレイテンシー中央値を追跡することで、`SuccessfulRequestLatency` をモニタリングできます。時折レイテンシーが急上昇しても問題ありません。ただし、平均レイテンシーまたは p50 (中央値) が高い場合は、解決すべき根本的な問題が存在する可能性があります。詳細については「[Amazon DynamoDB でのレイテンシーの問題のトラブルシューティング](TroubleshootingLatency.md)」を参照してください。  | 

## CloudWatch コンソールでのメトリクスの表示
<a name="Viewing-metrics-in-CloudWatch-console"></a>

メトリクスは、まずサービスの名前空間ごとにグループ化されます。次に各名前空間内でさまざまなディメンションの組み合わせごとにグループ化されます。

**CloudWatch コンソールでメトリクスを表示する**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで、**[メトリクス]、[すべてのメトリクス]** の順に選択します。

1. **DynamoDB** 名前空間を選択します。また、**Usage** (使用状況) 名前空間を選択して、DynamoDB の使用状況メトリクスを表示できます。使用状況メトリクスの詳細については、「[AWS 使用状況メトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Service-Quota-Integration.html)」を参照してください。

1. **[参照]** タブには、名前空間内のすべてのメトリクスが表示されます。

1. (オプション) メトリクスグラフを CloudWatch ダッシュボードに追加するには、**[アクション]、[ダッシュボードに追加]** の順に選択します。

## AWS CLI でのメトリクスの表示
<a name="Viewing-metrics-in-the-cli"></a>

AWS CLI を使用してメトリクス情報を取得するには、CloudWatch の `list-metrics` コマンドを使用します。次の例では、`AWS/DynamoDB` 名前空間にすべてのメトリクスがリストされています。

```
1.                 aws cloudwatch list-metrics --namespace "AWS/DynamoDB"
```

メトリクスの統計情報を取得するには、 コマンドを使用します`get-metric-statistics` 次のコマンドは、特定の 24 時間にわたるテーブル `ProductCatalog` の `ConsumedReadCapacityUnits` 統計情報を、5 分間隔で取得します。

```
aws cloudwatch get-metric-statistics —namespace AWS/DynamoDB \
     —metric-name ConsumedReadCapacityUnits \
     —start-time 2023-11-01T00:00:00Z \
     —end-time 2023-11-02T00:00:00Z \
     —period 360 \
     —statistics Average \
     —dimensions Name=TableName,Value=ProductCatalog
```

出力例は次のとおりです。

```
{
    "Datapoints": [
        {
            "Timestamp": "2023-11-01T 09:18:00+00:00", 
            "Average": 20, 
            "Unit": "Count"
        }, 
        {
            "Timestamp": "2023-11-01T 04:36:00+00:00", 
            "Average": 22.5, 
            "Unit": "Count"
        }, 
        {
            "Timestamp": "2023-11-01T 15:12:00+00:00", 
            "Average": 20, 
            "Unit": "Count"
        }, ...
        {
            "Timestamp": "2023-11-01T 17:30:00+00:00", 
            "Average": 25, 
            "Unit": "Count"
        }
    ], 
    "Label": " ConsumedReadCapacityUnits "
}
```