Régler une CloudWatch alarme - AWS Cloud Development Kit (AWS CDK) v2

Ceci est le guide du AWS CDK développeur de la version 2. L'ancienne CDK version 1 est entrée en maintenance le 1er juin 2022 et a pris fin le 1er juin 2023.

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.

Régler une CloudWatch alarme

Utilisez le package aws-cloudwatch pour configurer les CloudWatch alarmes Amazon sur les métriques. CloudWatch Vous pouvez utiliser des indicateurs prédéfinis ou créer les vôtres.

Utiliser une métrique existante

De nombreux modules de AWS Construct Library vous permettent de définir une alarme sur une métrique existante en transmettant le nom de la métrique à une méthode pratique sur une instance d'un objet contenant des métriques. Par exemple, dans le cas d'une SQS file d'attente Amazon, vous pouvez obtenir la métrique ApproximateNumberOfMessagesVisibleà l'aide de la méthode metric () de la file d'attente :

TypeScript
const metric = queue.metric("ApproximateNumberOfMessagesVisible");
JavaScript
const metric = queue.metric("ApproximateNumberOfMessagesVisible");
Python
metric = queue.metric("ApproximateNumberOfMessagesVisible")
Java
Metric metric = queue.metric("ApproximateNumberOfMessagesVisible");
C#
var metric = queue.Metric("ApproximateNumberOfMessagesVisible");

Créez votre propre métrique

Créez votre propre métrique comme suit, où la valeur de l'espace de noms doit être quelque chose comme AWS/SQSpour une SQS file d'attente Amazon. Vous devez également spécifier le nom et la dimension de votre métrique :

TypeScript
const metric = new cloudwatch.Metric({ namespace: 'MyNamespace', metricName: 'MyMetric', dimensionsMap: { MyDimension: 'MyDimensionValue' } });
JavaScript
const metric = new cloudwatch.Metric({ namespace: 'MyNamespace', metricName: 'MyMetric', dimensionsMap: { MyDimension: 'MyDimensionValue' } });
Python
metric = cloudwatch.Metric( namespace="MyNamespace", metric_name="MyMetric", dimensionsMap=dict(MyDimension="MyDimensionValue") )
Java
Metric metric = Metric.Builder.create() .namespace("MyNamespace") .metricName("MyMetric") .dimensionsMap(java.util.Map.of( // Java 9 or later "MyDimension", "MyDimensionValue")) .build();
C#
var metric = new Metric(this, "Metric", new MetricProps { Namespace = "MyNamespace", MetricName = "MyMetric", Dimensions = new Dictionary<string, object> { { "MyDimension", "MyDimensionValue" } } });

Créez l'alarme

Une fois que vous avez une métrique, qu'elle soit existante ou que vous avez définie, vous pouvez créer une alarme. Dans cet exemple, l'alarme est déclenchée lorsque votre métrique est supérieure à 100 au cours de deux des trois dernières périodes d'évaluation. Vous pouvez utiliser des comparaisons telles que less-than dans vos alarmes via la comparisonOperator propriété. G reater-than-or-equal -to est la AWS CDK valeur par défaut, nous n'avons donc pas besoin de le spécifier.

TypeScript
const alarm = new cloudwatch.Alarm(this, 'Alarm', { metric: metric, threshold: 100, evaluationPeriods: 3, datapointsToAlarm: 2, });
JavaScript
const alarm = new cloudwatch.Alarm(this, 'Alarm', { metric: metric, threshold: 100, evaluationPeriods: 3, datapointsToAlarm: 2 });
Python
alarm = cloudwatch.Alarm(self, "Alarm", metric=metric, threshold=100, evaluation_periods=3, datapoints_to_alarm=2 )
Java
import software.amazon.awscdk.services.cloudwatch.Alarm; import software.amazon.awscdk.services.cloudwatch.Metric; Alarm alarm = Alarm.Builder.create(this, "Alarm") .metric(metric) .threshold(100) .evaluationPeriods(3) .datapointsToAlarm(2).build();
C#
var alarm = new Alarm(this, "Alarm", new AlarmProps { Metric = metric, Threshold = 100, EvaluationPeriods = 3, DatapointsToAlarm = 2 });

Une autre méthode pour créer une alarme consiste à utiliser la méthode de la métrique createAlarm(), qui utilise essentiellement les mêmes propriétés que le Alarm constructeur. Vous n'avez pas besoin de transmettre la métrique, car elle est déjà connue.

TypeScript
metric.createAlarm(this, 'Alarm', { threshold: 100, evaluationPeriods: 3, datapointsToAlarm: 2, });
JavaScript
metric.createAlarm(this, 'Alarm', { threshold: 100, evaluationPeriods: 3, datapointsToAlarm: 2, });
Python
metric.create_alarm(self, "Alarm", threshold=100, evaluation_periods=3, datapoints_to_alarm=2 )
Java
metric.createAlarm(this, "Alarm", new CreateAlarmOptions.Builder() .threshold(100) .evaluationPeriods(3) .datapointsToAlarm(2) .build());
C#
metric.CreateAlarm(this, "Alarm", new CreateAlarmOptions { Threshold = 100, EvaluationPeriods = 3, DatapointsToAlarm = 2 });