web-dev-qa-db-fra.com

Éviter les DONNÉES INSUFFISANTES dans Cloudwatch?

Des alarmes sont configurées pour m'informer lorsque mes équilibreurs de charge lancent des 5xx à l'aide du HTTPCode_Backend_5XX métrique avec la statistique sum. Le problème est que sum enregistre 0 comme aucun point de données, donc quand aucun 5xx n'est lancé, l'alarme est traitée comme des données insuffisantes. C'est particulièrement frustrant, car j'ai une configuration SNS pour m'avertir chaque fois que nous obtenons trop de 5xx (état d'alarme) et chaque fois que les choses reviennent à la normale. De façon ennuyeuse, 0 5xxs signifie que nous sommes dans INSUFFICIENT DATA status, mais 1 5xx signifie que nous avons le statut OK, donc 1 5xx déclenche tout le monde à être informé que tout est OK. Y a-t-il un moyen de contourner cela? Idéalement, je voudrais que 0 de n'importe quoi apparaisse comme un point de données zéro au lieu de pas de données du tout (données insuffisantes).

29
Eli

Depuis mars 2017 , vous pouvez considérer les données manquantes comme acceptables. Cela empêchera que l'alarme soit marquée comme INSUFFISANTE.

CloudWatch missing data option

Vous pouvez également définir cela dans CloudFormation à l'aide de la propriété TreatMissingData .

15
Jonathan

Nous avons eu un problème similaire pour certaines de nos alarmes. Vous pouvez réellement éviter ce comportement avec un peu de travail, si vous voulez vraiment gérer les frais généraux.

Ce que nous avons fait, au lieu d'envoyer des notifications SNS directement aux e-mails, nous avons créé une fonction lambda et l'avons déclenchée une fois que nous avons la notification dans la rubrique SNS.

De cette façon, vous aurez plus de contrôle sur les actions que vous pouvez entreprendre une fois les alarmes déclenchées. Comme le contexte vous fournira également une ancienne valeur d'état.

La bonne nouvelle est qu'il existe déjà un modèle lambda pour commencer. https://aws.Amazon.com/blogs/aws/new-slack-integration-blueprints-for-aws-lambda/

Choisissez simplement celui qui est conçu pour envoyer les alarmes cloudwatch au ralenti. Vous pouvez ensuite modifier le code comme vous le souhaitez, soit supprimer la partie lâche et utiliser simplement des e-mails, soit la conserver avec du mou. (c'est ce que nous avons fait et cela fonctionne comme un charme)

4
Muhammet Can

J'ai demandé cela dans les forums AWS il y a deux ans : --- (https://forums.aws.Amazon.com/thread.jspa?threadID=153753&tstart=

Malheureusement, vous ne pouvez pas créer de notifications basées sur des changements d'état spécifiques (dans votre cas, vous voulez une notification lorsque l'état passe de ALARM à OK, mais pas lorsque l'état passe de INSUFFICIENT à OK). Je ne peux que suggérer que vous le demandiez également et j'espère qu'il sera éventuellement ajouté.

Pour les métriques qui sont souvent à l'état INSUFFISANT, je crée généralement des notifications pour ALARMES et je n'ai pas de notifications sur OK pour ces métriques - si je veux confirmer que les choses vont bien, j'utilise l'application AWS mobile pour vérifier les choses et voir s'ils ont résolu.

2
SeanN