Stellen Sie einen CloudWatch Alarm ein - AWS Cloud Development Kit (AWS CDK) v2

Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Stellen Sie einen CloudWatch Alarm ein

Verwenden Sie das aws-cloudwatch-Paket, um CloudWatch Amazon-Alarme für Metriken einzurichten. CloudWatch Sie können vordefinierte Metriken verwenden oder eigene erstellen.

Verwenden Sie eine vorhandene Metrik

In vielen Modulen der AWS Construct Library können Sie einen Alarm für eine bestehende Metrik auslösen, indem Sie den Namen der Metrik an eine praktische Methode für eine Instanz eines Objekts mit Metriken übergeben. Beispiel: Bei einer Amazon SQS SQS-Warteschlange können Sie die Metrik ApproximateNumberOfMessagesVisibleaus der Methode metric () der Warteschlange abrufen:

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");

Erstellen Sie Ihre eigene Metrik

Erstellen Sie Ihre eigene Metrik wie folgt, wobei der Namespace-Wert etwas wie AWS/SQS für eine Amazon SQS SQS-Warteschlange sein sollte. Sie müssen auch den Namen und die Dimension Ihrer Metrik angeben:

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" } } });

Den Alarm erstellen

Sobald Sie eine Metrik haben, entweder eine bestehende oder eine, die Sie definiert haben, können Sie einen Alarm erstellen. In diesem Beispiel wird der Alarm ausgelöst, wenn in zwei der letzten drei Evaluierungsperioden mehr als 100 Ihrer Metriken vorhanden sind. Über die Eigenschaft können Sie Vergleiche wie „weniger als“ in Ihren Alarmen verwenden. comparisonOperator Greater-than-or-equal-to ist die AWS CDK Standardeinstellung, sodass wir sie nicht angeben müssen.

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 });

Eine alternative Methode zum Erstellen eines Alarms ist die Verwendung der createAlarm () -Methode der Metrik, die im Wesentlichen dieselben Eigenschaften wie der Alarm Konstruktor annimmt. Sie müssen die Metrik nicht weitergeben, da sie bereits bekannt ist.

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 });