Amazon DynamoDB
セキュリティモニタリングが使用可能です セキュリティモニタリングが使用可能です

Amazon DynamoDB

Crawler Crawler

概要

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

DynamoDB のパフォーマンスメトリクスを監視する方法については、こちらの記事をご参照ください。キーパフォーマンスメトリクス、その収集方法、Datadog を使用して Medium が DynamoDB を監視する方法について詳しく説明されています。

セットアップ

インストール

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

メトリクスの収集

  1. AWS インテグレーションタイルのメトリクス収集で、DynamoDB をオンにします。
  2. Amazon DynamoDB のメトリクスを収集するために、次のアクセス許可を Datadog IAM ポリシーに追加します。

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

    DynamoDB ポリシーの詳細については、AWS Web サイトのガイドを参照してください。

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

ログの収集

DynamoDB ログの有効化

証跡を定義する場合は、ログの書き込み先になる S3 バケットを選択します。

Datadog へのログの送信

  1. Datadog ログコレクション AWS Lambda 関数をまだセットアップしていない場合は、セットアップします。
  2. Lambda 関数がインストールされたら、AWS コンソールで DynamoDB ログを含む S3 バケットに手動でトリガーを追加します。Lambda で、トリガーリストから S3 をクリックします。DynamoDB ログを含む S3 バケットを選択してトリガーを構成し、イベントタイプを Object Created (All) に変更して、Add ボタンをクリックします。

完了したら、Datadog Log セクションに移動し、ログを確認します。

収集データ

メトリクス

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 minute. 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 minute. Can be directly compared to the number of provisioned write capacity units.
Shown as unit
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.sum
(count)
The total 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_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.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.throttled_requests
(count)
Number of user requests that exceeded the preset provisioned throughput limits.
Shown as request
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.dynamodb.table_size
(gauge)
Approximate size of the table (updated every 6h).
Shown as byte
aws.dynamodb.item_count
(gauge)
Approximate number of items in table (updated every 6h).
Shown as item
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 から取得される各メトリクスには、ホスト名やセキュリティグループなど、AWS コンソールに表示されるタグと同じタグが割り当てられます。

イベント

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

サービスのチェック

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

トラブルシューティング

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