Créez des alarmes pour des métriques personnalisées à l'aide de la détection des CloudWatch anomalies Amazon - Recommandations AWS

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éez des alarmes pour des métriques personnalisées à l'aide de la détection des CloudWatch anomalies Amazon

Créée par Ram Kandaswamy (AWS) et Raheem Jiwani (AWS)

Environnement : Production

Technologies : gestion et gouvernance DevOps ; opérations ; CloudNative

Services AWS : Amazon CloudWatch

Récapitulatif

Sur le cloud Amazon Web Services (AWS), vous pouvez utiliser Amazon CloudWatch pour créer des alarmes qui surveillent les métriques et envoient des notifications ou apportent automatiquement des modifications si un seuil est dépassé.

Pour éviter d'être limité par des seuils statiques, vous pouvez créer des alarmes basées sur des modèles antérieurs et qui vous avertissent si des mesures spécifiques se situent en dehors de la fenêtre de fonctionnement normale. Par exemple, vous pouvez surveiller les temps de réponse de votre API depuis Amazon API Gateway et recevoir des notifications concernant des anomalies qui vous empêchent de respecter un accord de niveau de service (SLA).

Ce modèle décrit comment utiliser la détection des CloudWatch anomalies pour les métriques personnalisées. Le modèle vous montre comment créer une métrique personnalisée dans Amazon CloudWatch Logs Insights ou publier une métrique personnalisée avec une fonction AWS Lambda, puis configurer la détection des anomalies et créer des notifications à l'aide d'Amazon Simple Notification Service (Amazon SNS).

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif.

  • Rubrique SNS existante, configurée pour envoyer des notifications par e-mail. Pour plus d'informations à ce sujet, consultez Getting started with Amazon SNS dans la documentation Amazon SNS.

  • Une application existante, configurée avec CloudWatch Logs.

Limites

  • CloudWatch les métriques ne prennent pas en charge les intervalles de quelques millisecondes. Pour plus d'informations sur la granularité des métriques régulières et personnalisées, consultez les CloudWatch FAQ Amazon.

Architecture

Le schéma suivant illustre le flux de travail suivant :

CloudWatch en utilisant une rubrique Amazon SNS pour envoyer une notification par e-mail lorsqu'une alarme se déclenche.
  1. Les journaux qui utilisent les métriques créées et mises à jour par CloudWatch Logs sont diffusés vers CloudWatch.

  2. Une alarme se déclenche en fonction de seuils et envoie une alerte à un sujet SNS.

  3. Amazon SNS vous envoie une notification par e-mail.

Pile technologique

  • CloudWatch

  • AWS Lambda

  • Amazon SNS

Outils

Épopées

TâcheDescriptionCompétences requises

Option 1 - Créez une métrique personnalisée à l'aide d'une fonction Lambda.

Téléchargez le lambda_function.py fichier (joint), puis remplacez le lambda_function.py fichier d'exemple dans le aws-lambda-developer-guideréférentiel de la documentation AWS GitHub. Cela vous fournit un exemple de fonction Lambda qui envoie des métriques personnalisées à CloudWatch Logs. La fonction Lambda utilise l'API Boto3 pour s'intégrer à. CloudWatch 

Après avoir exécuté la fonction Lambda, vous pouvez vous connecter à l'AWS Management Console, ouvrir la CloudWatch console, et la métrique publiée est disponible dans votre espace de noms publié.

DevOps ingénieur, AWS DevOps

Option 2 — Créez des métriques personnalisées à partir de groupes de CloudWatch journaux.

Connectez-vous à l'AWS Management Console, ouvrez la CloudWatch console, puis choisissez Log groups. Choisissez le groupe de journaux pour lequel vous souhaitez créer une métrique. 

Choisissez Actions, puis sélectionnez Créer un filtre métrique. Dans Modèle de filtre, entrez le modèle de filtre que vous souhaitez utiliser. Pour plus d'informations, consultez la section Syntaxe des filtres et des modèles dans la CloudWatch documentation. 

Pour tester votre modèle de filtre, entrez un ou plusieurs événements de journal sous Modèle de test. Chaque événement de journal doit se trouver sur une seule ligne, car des sauts de ligne sont utilisés pour séparer les événements du journal dans la boîte Messages d'événements du journal. Après avoir testé le modèle, vous pouvez saisir un nom et une valeur pour votre métrique sous Détails de la métrique

Pour plus d'informations et pour connaître les étapes à suivre pour créer une métrique personnalisée, consultez la section Création d'un filtre de métrique pour un groupe de logs dans la CloudWatch documentation.

DevOps ingénieur, AWS DevOps

Créez une alarme pour votre métrique personnalisée.

Sur la CloudWatch console, choisissez Alarmes, puis sélectionnez Créer une alarme. Choisissez Sélectionner une métrique et entrez le nom de la métrique que vous avez créée précédemment dans le champ de recherche. Choisissez l'onglet Graphed metrics et configurez les options en fonction de vos besoins.

Sous Conditions, choisissez Détection des anomalies plutôt que Seuils statiques. Cela vous montre une bande basée sur deux écarts types par défaut. Vous pouvez définir des seuils et les ajuster en fonction de vos besoins.

Choisissez Suivant.

Remarque : La bande est dynamique et dépend de la qualité des points de données. Lorsque vous commencez à agréger davantage de données, la bande et les seuils sont automatiquement mis à jour. 

DevOps ingénieur, AWS DevOps

Configurez les notifications SNS.

Sous Notification, choisissez la rubrique SNS pour avertir lorsque l'alarme est en ALARM état, OK état ou INSUFFICIENT_DATA état.

Pour que l'alerte envoie plusieurs notifications pour le même état d'alerte ou pour les différents états d'alerte, choisissez Add notification (Ajouter une notification). Choisissez Suivant. Saisissez un nom et une description pour l'alerte. Le nom ne doit contenir que des caractères ASCII. Ensuite, sélectionnez Suivant.

Sous Aperçu et création, vérifiez que les informations et les conditions sont correctes, puis choisissez Créer une alarme.

DevOps ingénieur, AWS DevOps

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip