Passer au contenu

Comment utiliser EventBridge pour créer une réponse personnalisée pour une alarme CloudWatch ?

Lecture de 5 minute(s)
0

Je souhaite utiliser Amazon EventBridge pour effectuer une action personnalisée avec mon alarme Amazon CloudWatch.

Brève description

Vous pouvez utiliser les alarmes CloudWatch intégrées à EventBridge pour automatiser la correction ou la restauration de votre environnement.

Vous pouvez utiliser votre règle EventBridge pour surveiller une alarme CloudWatch afin de détecter les modifications de configuration, telles que la création, la mise à jour ou la suppression. Vous pouvez également utiliser votre règle pour surveiller les changements d'état, par exemple OK, ALARME ou INSUFFISANT. Vous pouvez associer votre règle à n'importe quelle cible prise en charge.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.

Lorsque CloudWatch rencontre un changement d'état, il envoie une notification Amazon Simple Notification Service (Amazon SNS) ou invoque une fonction AWS Lambda. Il peut également répondre par une action Amazon Elastic Compute Cloud (Amazon EC2) ou AWS Auto Scaling.

Vous pouvez utiliser une règle EventBridge pour créer une action personnalisée. Lorsqu'un changement d'état se produit, la règle EventBridge invoque des cibles pour exécuter des réponses personnalisées. Vous devez créer la règle dans la même région que l'alarme CloudWatch.

Créer une ressource pour exécuter l'action personnalisée

Assurez-vous que la ressource que vous créez pour exécuter votre action personnalisée est une cible EventBridge compatible.

Créer une alarme CloudWatch

Procédez comme suit :

  1. Ouvrez la console CloudWatch.
  2. Dans le volet de navigation, choisissez Alarmes, puis Toutes les alarmes.
  3. Sélectionnez Créer une alarme.
  4. Choisissez Sélectionner une métrique.
  5. Choisissez l'onglet Graphique des métriques.
  6. Sélectionnez Statistique, par exemple Moyenne, Maximum ou p99.
  7. Sélectionnez Période, par exemple 1 minute.
  8. Choisissez Sélectionner une métrique.
  9. Pour Conditions, sélectionnez les valeurs de type de seuil, de condition d’alarme et la valeur de seuil.
    Remarque : Ces paramètres déterminent le moment où l'alarme change d'état.
  10. Sélectionnez Suivant.
  11. Sur la page Configurer les actions, dans la section Notification, choisissez Supprimer.
    Remarque : L'action est fournie par la cible EventBridge correspondante.
  12. Sélectionnez Suivant.
  13. Entrez un nom et une description pour l'alarme. Puis, sélectionnez Suivant.
  14. Sous Prévisualiser et créer, vérifiez la configuration de l'alarme. Puis, sélectionnez Créer une alarme.

Remarque : Pour plus d'informations sur la configuration des alarmes CloudWatch, consultez la section Créer une alarme CloudWatch en fonction d'un seuil statique.

Créer une règle EventBridge

Procédez comme suit :

  1. Ouvrez la console EventBridge.
  2. Dans le volet de navigation, sélectionnez Règles.
  3. Sélectionnez Créer une règle.
  4. Entrez un nom.
  5. (Facultatif) Entrez une description de la règle.
  6. Dans Bus d’événements, choisissez Bus d’événements par défaut AWS.
  7. Dans Type de règle, sélectionnez Règle avec un modèle d’événement.
  8. Sélectionnez Suivant.
  9. Dans Méthode de création, sélectionnez Modèle personnalisé (éditeur JSON).
  10. Pour Modèle d’événement, copiez et personnalisez l'un des exemples de modèles d'événements. L'exemple suivant est lancé lors de la modification de la configuration de l’alarme CloudWatch pour les mises à jour d'une alarme spécifique :
{
  "source": ["aws.cloudwatch"],
  "detail-type": ["CloudWatch Alarm Configuration Change"],
  "detail": {
    "alarmName": ["NGiNX 4XX Responses"],
    "operation": ["update"]
  }
}

L'exemple suivant est lancé lors de la modification de configuration de l’alarme CloudWatch pour les mises à jour d'un espace de noms et d'une métrique spécifiques :

{
  "source": ["aws.cloudwatch"],
  "detail-type": ["CloudWatch Alarm Configuration Change"],
  "detail": {
    "configuration": {
      "metrics": {
        "metricStat": {
          "metric": {
            "name": ["CPUUtilization"],
            "namespace": ["AWS/EC2"]
          }
        }
      }
    }
  }
}

L'exemple suivant se déclenche lors d’une modification de l’état de l’alarme CloudWatch pour une alarme spécifique à l'état ALARME :

{
  "source": ["aws.cloudwatch"],
  "detail-type": ["CloudWatch Alarm State Change"],
  "detail": {
    "alarmName": ["NGiNX 4XX Responses"],
    "state": {
      "value": ["ALARM"]
    }
  }
}
  1. Sélectionnez Suivant.
  2. Dans la section Sélectionner la ou les cibles, choisissez les cibles qui exécutent la logique personnalisée, puis sélectionnez Suivant.
  3. Ajoutez toutes les identifications pertinentes à la règle, puis choisissez Suivant.
  4. Sélectionnez Créer une règle.

Valider la règle

Effectuez les opérations suivantes :

  • Vérifiez que la règle est initiée pour les règles qui surveillent la configuration des alarmes, telles que la création, la mise à jour ou la suppression de l'alarme.
  • Vérifiez que la règle est initiée pour les règles qui surveillent l'état de l'alarme. Utilisez l'opération d'API SetAlarmState pour modifier temporairement l'état de l'alarme.

L'exemple de commande AWS CLI suivant force l'alarme à passer à l’état ALARME :

aws cloudwatch set-alarm-state \\--alarm-name "NGiNX 4XX Responses" \\  
\--state-value ALARM \\  
\--state-reason "Validation Testing"

Pour vérifier que votre règle EventBridge a invoqué les cibles, utilisez les métriques TriggeredRules, Invocations et FailedInvocations. Pour localiser les métriques, accédez à votre règle, puis choisissez l'onglet Surveillance dans la console EventBridge. Vous pouvez également consulter les métriques dans la console CloudWatch dans l'espace de noms AWS/Événements.

Informations connexes

Événements d'alarme et EventBridge

AWS OFFICIELA mis à jour il y a un an