Amazon CloudWatch によるメトリクスのモニタリング - Amazon DynamoDB

Amazon CloudWatch によるメトリクスのモニタリング

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

DynamoDB メトリクスの使用方法

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

DynamoDB メトリクスの使用方法

目的

関連するメトリクス

テーブルの TTL 削除率は、どのようにしてモニタリングできますか?

指定した期間にわたって TimeToLiveDeletedItemCount をモニタリングし、テーブルの TTL 削除率を追跡できます。TimeToLiveDeletedItemCount メトリクスを使用するサーバーレスアプリケーションの例については、「 Automatically archive items to S3 using DynamoDB time to live (TTL) with AWS Lambda and Amazon Data Firehose」を参照してください。

プロビジョニングされたスループットの消費量は、どのようにして確認できますか?

指定した期間 ConsumedReadCapacityUnits または ConsumedWriteCapacityUnits をモニタリングし、プロビジョニング済みスループットの使用量を追跡できます。

どのリクエストがテーブルのプロビジョニングされたスループットクォータを超えているかは、どのようにして確認できますか?

リクエスト内で任意のイベントがプロビジョニングされたスループットクォータを超過した場合、ThrottledRequests は 1 ずつ増加します。次に、どのイベントがリクエストをスロットリングしているかについてのインサイトを取得するには、ThrottledRequests とテーブルおよびそのインデックスの ReadThrottleEvents メトリクスと WriteThrottleEvents メトリクスを比較します。

どうすればシステムエラーの発生の有無を判断できますか。

SystemErrors をモニタリングして HTTP 500 (サーバーエラー) コードを発生させたリクエストがあるかどうかを判断できます。通常、このメトリクスはゼロであるべきです。そうでない場合は、調査することをお勧めします。

テーブルオペレーションのレイテンシー値は、どのようにしてモニタリングできますか?

SuccessfulRequestLatency をモニタリングして平均レイテンシーを追跡できます。時折レイテンシーが急上昇しても問題ありません。ただし、平均レイテンシーが高い場合は、解決すべき根本的な問題が存在する可能性があります。詳細については、「Amazon DynamoDB でのレイテンシーの問題のトラブルシューティング」を参照してください。

CloudWatch コンソールでのメトリクスの表示

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

CloudWatch コンソールでメトリクスを表示する
  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

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

  3. DynamoDB 名前空間を選択します。また、Usage (使用状況) 名前空間を選択して、DynamoDB の使用状況メトリクスを表示できます。使用状況メトリクスの詳細については、「AWS 使用状況メトリクス」を参照してください。

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

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

AWS CLI でのメトリクスの表示

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

aws cloudwatch list-metrics --namespace "AWS/DynamoDB"

メトリクスの統計情報を取得するには、get-metric-statistics コマンドを使用します。次のコマンドは、特定の 24 時間にわたるテーブル ProductCatalogConsumedReadCapacityUnits 統計情報を、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 " }