Amazon DynamoDB
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Amazon DynamoDB

Crawler Crawler

Présentation

Amazon DynamoDB est un service de gestion de base de données NoSQL dans le cloud entièrement géré et intégré au portefeuille de services d’AWS. Rapide et hautement évolutif, il contribue à la réussite d’applications exigeant une très faible latence, même lors du traitement d’une grande quantité de données. Il prend en charge des modèles de stockage basés sur des combinaisons clé/valeur et des documents, et dispose des caractéristiques d’une base de données et d’une table de hachage distribuée.

Pour savoir comment surveiller les métriques de performance DynamoDB, consultez notre série d’articles à ce sujet. Vous y trouverez des informations supplémentaires sur les principales métriques de performance, ainsi que des conseils pour les recueillir, et découvrirez comment Medium surveille DynamoDB à l’aide de Datadog.

Implémentation

Installation

Si vous ne l’avez pas déjà fait, configurez d’abord l’intégration Amazon Web Services.

Collecte de métriques

  1. Dans le carré d’intégration AWS, assurez-vous que l’option DynamoDB est cochée dans la section concernant la collecte des métriques.
  2. Ajoutez ces autorisations à votre stratégie IAM Datadog afin de recueillir des métriques d’Amazon DynamoDB :

    • dynamodb:ListTables : utilisé pour répertorier les tables DynamoDB disponibles.
    • dynamodb:DescribeTable : utilisé pour ajouter des métriques sur une taille de table et un nombre d’éléments.
    • dynamodb:ListTagsOfResource : utilisé pour recueillir tous les tags d’une ressource DynamoDB.

    Pour en savoir plus sur les stratégies DynamoDB, consultez la documentation disponible sur le site d’AWS.

  3. Installez l’intégration Datadog/AWS DynamoDB.

Collecte de logs

Activer la journalisation DynamoDB

Lorsque vous définissez vos pistes, sélectionnez un compartiment s3 dans lequel rédiger les logs :

Envoyer des logs à Datadog

  1. Si vous ne l’avez pas déjà fait, configurez la fonction Lambda de collecte de logs AWS avec Datadog.
  2. Une fois la fonction Lambda installée, ajoutez manuellement un déclencheur sur le compartiment S3 contenant vos logs DynamoDB dans la console AWS. Dans votre Lambda, cliquez sur S3 dans la liste des déclencheurs :Configurez votre déclencheur en choisissant le compartiment S3 qui contient vos logs DynamoDB et remplacez le type d’événement par Object Created (All). Cliquez ensuite sur le bouton Add.

Accédez ensuite à la section Log de Datadog pour commencer à explorer vos logs !

Données collectées

Métriques

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

Chacune des métriques récupérées à partir d’AWS se verra assigner les mêmes tags que ceux qui apparaissent dans la console AWS, y compris, mais sans s’y limiter, le hostname et les groupes de sécurité.

Événements

L’intégration AWS DynamoDB n’inclut aucun événement.

Checks de service

L’intégration AWS DynamoDB n’inclut aucun check de service.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.