DynamoDB のデフォルトダッシュボード

概要

Amazon DynamoDB は、AWS ポートフォリオに含まれる、フルマネージド型 NoSQL データベースクラウドサービスです。スケーリングが高速かつ容易で、大量のデータを扱う場合でもレイテンシーを極めて短く抑える必要があるアプリケーションに対応することができます。ドキュメントストアモデルと key-value ストアモデルの両方をサポートし、データベースと分散ハッシュテーブルの特長を兼ね備えています。

セットアップ

インストール

Amazon Web Services インテグレーションをまだセットアップしていない場合は、最初にセットアップします。

メトリクスの収集

  1. AWS インテグレーションページで、Metric Collection タブの下にある DynamoDB が有効になっていることを確認します。

  2. Amazon DynamoDB のメトリクスを収集するために、次のアクセス許可を Datadog IAM ポリシーに追加します。

    • dynamodb:ListTables: 使用できる DynamoDB テーブルをリストするために使用されます。
    • dynamodb:DescribeTable: テーブルサイズとアイテムカウントに関するメトリクスを追加するために使用されます。
    • dynamodb:ListTagsOfResource: DynamoDB リソースのすべてのタグを収集します。

    詳細については、AWS ウェブサイト上の DynamoDB ポリシーを参照してください。

  3. Datadog - Amazon DynamoDB インテグレーションをインストールします。

ログの収集

ログの有効化

AWS CloudTrail で Trail の作成を行い、ログを書き込む S3 バケットを選択します。

ログを Datadog に送信する方法

  1. AWS アカウントで Datadog Forwarder Lambda 関数 をまだセットアップしていない場合は、セットアップします。
  2. 設定したら、Datadog Forwarder Lambda 関数に移動します。Function Overview セクションで、Add Trigger をクリックします。
  3. Trigger Configuration で S3 トリガーを選択します。
  4. Amazon DynamoDB のログが格納されている S3 バケットを選択します。
  5. イベントの種類は All object create events のままにしておきます。
  6. Add をクリックすると、Lambda にトリガーが追加されます。

ログエクスプローラーに移動して、ログを確認します。

AWS Services のログを収集する方法については、Datadog Lambda 関数で AWS Services のログを送信するを参照してください。

収集データ

メトリクス

aws.dynamodb.account_max_reads
(count)
The maximum number of read capacity units that can be used by an account.
Shown as read
aws.dynamodb.account_max_table_level_reads
(count)
The maximum number of read capacity units that can be used by a table or global secondary index of an account.
Shown as read
aws.dynamodb.account_max_table_level_writes
(count)
The maximum number of write capacity units that can be used by a table or global secondary index of an account.
Shown as write
aws.dynamodb.account_max_writes
(count)
The maximum number of write capacity units that can be used by an account.
Shown as write
aws.dynamodb.account_provisioned_read_capacity_utilization
(gauge)
The percentage of provisioned read capacity units utilized by an account.
Shown as percent
aws.dynamodb.account_provisioned_write_capacity_utilization
(gauge)
The percentage of provisioned write capacity units utilized by an account.
Shown as percent
aws.dynamodb.conditional_check_failed_requests
(count)
Number of failed attempts to perform conditional writes.
Shown as request
aws.dynamodb.consumed_read_capacity_units
(gauge)
Average number of read capacity units consumed over one second. Can be directly compared to the number of provisioned read capacity units.
Shown as unit
aws.dynamodb.consumed_write_capacity_units
(gauge)
Average number of write capacity units consumed over one second. Can be directly compared to the number of provisioned write capacity units.
Shown as unit
aws.dynamodb.global_secondary_indexes.index_size_bytes
(gauge)
Total size of the the specified secondary index
Shown as byte
aws.dynamodb.global_secondary_indexes.item_count
(gauge)
The number of items in the specified secondary index
Shown as item
aws.dynamodb.item_count
(gauge)
Approximate number of items in table (updated every 6h).
Shown as item
aws.dynamodb.max_provisioned_table_read_capacity_utilization
(gauge)
The percentage of provisioned read capacity units utilized by the highest provisioned read table or global secondary index of an account.
Shown as unit
aws.dynamodb.max_provisioned_table_write_capacity_utilization
(gauge)
The percentage of provisioned write capacity units utilized by the highest provisioned write table or global secondary index of an account.
Shown as unit
aws.dynamodb.online_index_consumed_write_capacity
(gauge)
Number of write capacity units consumed when adding a new global secondary index to a table.
Shown as unit
aws.dynamodb.online_index_percentage_progress
(gauge)
Percentage of completion when a new global secondary index is being added to a table.
Shown as percent
aws.dynamodb.online_index_throttle_events
(gauge)
Number of write throttle events that occur when adding a new global secondary index to a table.
Shown as event
aws.dynamodb.pending_replication_count
(count)
(This metric is for DynamoDB global tables.) The number of item updates that are written to one replica table but that have not yet been written to another replica in the global table.
Shown as unit
aws.dynamodb.provisioned_read_capacity_units
(gauge)
Number of provisioned read capacity units for a table or a global secondary index.
Shown as unit
aws.dynamodb.provisioned_write_capacity_units
(gauge)
Number of provisioned write capacity units for a table or a global secondary index.
Shown as unit
aws.dynamodb.read_throttle_events
(count)
Number of read events that exceeded the preset provisioned throughput limits in the specified time period.
Shown as read
aws.dynamodb.replication_latency
(gauge)
(This metric is for DynamoDB global tables.) The elapsed time between an updated item appearing in the DynamoDB stream for one replica table and that item appearing in another replica in the global table.
Shown as millisecond
aws.dynamodb.returned_bytes
(gauge)
The number of bytes returned by GetRecords operations (Amazon DynamoDB Streams) during the specified time period.
Shown as byte
aws.dynamodb.returned_item_count
(gauge)
The average number of items returned by a scan or query operation.
Shown as item
aws.dynamodb.returned_item_count.maximum
(gauge)
The maximum number of items returned by a scan or query operation.
Shown as item
aws.dynamodb.returned_item_count.minimum
(gauge)
The minimum number of items returned by a scan or query operation.
Shown as item
aws.dynamodb.returned_item_count.samplecount
(count)
The number of scan or query operations.
Shown as item
aws.dynamodb.returned_item_count.sum
(count)
The total number of items returned by a scan or query operation.
Shown as item
aws.dynamodb.returned_records_count
(count)
The number of stream records returned by GetRecords operations (Amazon DynamoDB Streams) during the specified time period.
Shown as item
aws.dynamodb.successful_request_latency
(gauge)
The average latency for successful requests.
Shown as millisecond
aws.dynamodb.successful_request_latency.maximum
(gauge)
The maximum latency for successful requests.
Shown as millisecond
aws.dynamodb.successful_request_latency.minimum
(gauge)
The minimum latency for successful requests.
Shown as millisecond
aws.dynamodb.successful_request_latency.samplecount
(count)
The total number of successful requests.
Shown as request
aws.dynamodb.system_errors
(count)
Number of requests generating a 500 status code response.
Shown as request
aws.dynamodb.table_size
(gauge)
Approximate size of the table (updated every 6h).
Shown as byte
aws.dynamodb.throttled_requests
(count)
Number of user requests that exceeded the preset provisioned throughput limits.
Shown as request
aws.dynamodb.time_to_live_deleted_item_count
(count)
The number of items deleted by Time To Live (TTL) during the specified time period.
Shown as item
aws.dynamodb.transaction_conflict
(count)
Rejected item-level requests due to transactional conflicts between concurrent requests on the same items.
Shown as request
aws.dynamodb.user_errors
(count)
The aggregate of HTTP 400 errors for DynamoDB or Amazon DynamoDB Streams requests for the current region and the current AWS account.
Shown as request
aws.dynamodb.write_throttle_events
(count)
Number of write events that exceeded the preset provisioned throughput limits in the specified time period.
Shown as write

AWS から取得される各メトリクスには、ホスト名やセキュリティ グループなど、AWS コンソールに表示されるのと同じタグが割り当てられます。

イベント

Amazon DynamoDB インテグレーションには、イベントは含まれません。

サービスのチェック

Amazon DynamoDB インテグレーションには、サービスのチェック機能は含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。