Création d' CloudWatch alarmes dans DynamoDB - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d' CloudWatch alarmes dans DynamoDB

Une CloudWatch alarme surveille une seule métrique sur une période spécifiée et exécute une ou plusieurs actions spécifiées, en fonction de la valeur de la métrique par rapport à un seuil au fil du temps. L'action est une notification envoyée à une SNS rubrique Amazon ou à une politique Auto Scaling. Vous pouvez également ajouter des alarmes aux tableaux de bord afin de surveiller et de recevoir des alertes concernant vos AWS ressources et applications dans plusieurs régions. Le nombre d'alarmes que vous pouvez créer n'est pas limité. CloudWatch les alarmes n'appellent pas d'actions simplement parce qu'elles sont dans un état particulier ; l'état doit avoir changé et être maintenu pendant un certain nombre de périodes. Pour obtenir la liste des alarmes DynamoDB recommandées, consultez la section Alarmes recommandées.

Note

Vous devez spécifier toutes les dimensions requises lors de la création de votre CloudWatch alarme, car les mesures relatives à une dimension manquante ne CloudWatch seront pas agrégées. La création CloudWatch d'une alarme avec une dimension manquante ne provoquera pas d'erreur lors de la création de l'alarme.

Supposons que vous disposiez d'une table provisionnée avec cinq unités de capacité de lecture. Vous souhaitez être averti avant de consommer la totalité de la capacité de lecture allouée. Vous décidez donc de créer une CloudWatch alarme pour être averti lorsque la capacité consommée atteint 80 % de ce que vous avez provisionné pour la table. Vous pouvez créer des alarmes dans la CloudWatch console ou à l'aide du AWS CLI.

Création d'une alarme dans la CloudWatch console

Pour créer une alarme dans la CloudWatch console
  1. Connectez-vous à la CloudWatch console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation, choisissez Alarms (alertes), All alarms (Toutes les alertes).

  3. Choisissez Create alarm (Créer une alerte).

  4. Recherchez la ligne contenant le tableau que vous souhaitez surveiller et ConsumeReadCapacityUnitsdans la colonne Nom de la métrique. Cochez la case située à côté de cette ligne, puis sélectionnez Sélectionner une métrique.

  5. Sous Spécifier la métrique et les conditions, dans le champ Statistique, sélectionnez Somme. Choisissez une période de 1 minute.

  6. Sous Conditions, spécifiez les éléments suivants :

    1. Pour Threshold type (Type de seuil), choisissez Static (Statique).

    2. Pour Whenever ConsumedReadCapacityUnits is, choisissez Greater/Equal et spécifiez le seuil à 240.

  7. Choisissez Suivant.

  8. Sous Notification, choisissez In alarmet sélectionnez le SNS sujet à avertir lorsque l'alarme est ALARM activée.

  9. Lorsque vous avez terminé, choisissez Next (Suivant).

  10. Saisissez le nom et la description de l'alarme, puis choisissez Next (Suivant).

  11. Dans Preview and create (Prévisualiser et créer), confirmez que les informations et les conditions sont telles que vous les voulez, puis choisissez Create alarm (Créer une alerte).

Création d'une alarme dans le AWS CLI

aws cloudwatch put-metric-alarm \ -\-alarm-name ReadCapacityUnitsLimitAlarm \ -\-alarm-description "Alarm when read capacity reaches 80% of my provisioned read capacity" \ -\-namespace AWS/DynamoDB \ -\-metric-name ConsumedReadCapacityUnits \ -\-dimensions Name=TableName,Value=myTable \ -\-statistic Sum \ -\-threshold 240 \ -\-comparison-operator GreaterThanOrEqualToThreshold \ -\-period 60 \ -\-evaluation-periods 1 \ -\-alarm-actions arn:aws:sns:us-east-1:123456789012:capacity-alarm

Testez l'alarme.

aws cloudwatch set-alarm-state -\-alarm-name ReadCapacityUnitsLimitAlarm -\-state-reason "initializing" -\-state-value OK
aws cloudwatch set-alarm-state -\-alarm-name ReadCapacityUnitsLimitAlarm -\-state-reason "initializing" -\-state-value ALARM

Plus d' AWS CLI exemples

La procédure suivante décrit comment vous êtes averti si vos demandes dépassent les quotas de débit alloués pour une table.

  1. Créez un SNS sujet Amazonarn:aws:sns:us-east-1:123456789012:requests-exceeding-throughput. Pour plus d'informations, consultez Configuration d'Amazon Simple Notification Service.

  2. Créez l'alerte.

    aws cloudwatch put-metric-alarm \ -\-alarm-name ReadCapacityUnitsLimitAlarm \ -\-alarm-description "Alarm when read capacity reaches 80% of my provisioned read capacity" \ -\-namespace AWS/DynamoDB \ -\-metric-name ConsumedReadCapacityUnits \ -\-dimensions Name=TableName,Value=myTable \ -\-statistic Sum \ -\-threshold 240 \ -\-comparison-operator GreaterThanOrEqualToThreshold \ -\-period 60 \ -\-evaluation-periods 1 \ -\-alarm-actions arn:aws:sns:us-east-1:123456789012:capacity-alarm
  3. Testez l'alarme.

    aws cloudwatch set-alarm-state --alarm-name RequestsExceedingThroughputAlarm --state-reason "initializing" --state-value OK
    aws cloudwatch set-alarm-state --alarm-name RequestsExceedingThroughputAlarm --state-reason "initializing" --state-value ALARM

La procédure suivante décrit comment vous êtes averti en cas d'erreur système.

  1. Créez un SNS sujet Amazonarn:aws:sns:us-east-1:123456789012:notify-on-system-errors. Pour plus d'informations, consultez Configuration d'Amazon Simple Notification Service.

  2. Créez l'alerte.

    aws cloudwatch put-metric-alarm \ --alarm-name SystemErrorsAlarm \ --alarm-description "Alarm when system errors occur" \ --namespace AWS/DynamoDB \ --metric-name SystemErrors \ --dimensions Name=TableName,Value=myTable Name=Operation,Value=aDynamoDBOperation \ --statistic Sum \ --threshold 0 \ --comparison-operator GreaterThanThreshold \ --period 60 \ --unit Count \ --evaluation-periods 1 \ --treat-missing-data breaching \ --alarm-actions arn:aws:sns:us-east-1:123456789012:notify-on-system-errors
  3. Testez l'alarme.

    aws cloudwatch set-alarm-state --alarm-name SystemErrorsAlarm --state-reason "initializing" --state-value OK
    aws cloudwatch set-alarm-state --alarm-name SystemErrorsAlarm --state-reason "initializing" --state-value ALARM