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.
Alarm erstellen
Um einen Alarm auf der Grundlage einer CloudWatch Metrik zu erstellen, rufen Sie die CloudWatchClient putMetricAlarm
Methode 'mit einer PutMetricAlarmRequest
Importe
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
import software.amazon.awssdk.services.cloudwatch.model.Dimension;
import software.amazon.awssdk.services.cloudwatch.model.PutMetricAlarmRequest;
import software.amazon.awssdk.services.cloudwatch.model.ComparisonOperator;
import software.amazon.awssdk.services.cloudwatch.model.Statistic;
import software.amazon.awssdk.services.cloudwatch.model.StandardUnit;
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException;
Code
public static void putMetricAlarm(CloudWatchClient cw, String alarmName, String instanceId) {
try {
Dimension dimension = Dimension.builder()
.name("InstanceId")
.value(instanceId).build();
PutMetricAlarmRequest request = PutMetricAlarmRequest.builder()
.alarmName(alarmName)
.comparisonOperator(
ComparisonOperator.GREATER_THAN_THRESHOLD)
.evaluationPeriods(1)
.metricName("CPUUtilization")
.namespace("AWS/EC2")
.period(60)
.statistic(Statistic.AVERAGE)
.threshold(70.0)
.actionsEnabled(false)
.alarmDescription(
"Alarm when server CPU utilization exceeds 70%")
.unit(StandardUnit.SECONDS)
.dimensions(dimension)
.build();
cw.putMetricAlarm(request);
System.out.printf(
"Successfully created alarm with name %s", alarmName);
} catch (CloudWatchException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
Das vollständige Beispiel
Auflisten von Alarmen
Um die CloudWatch Alarme aufzulisten, die Sie erstellt haben, rufen Sie die describeAlarms
Methode CloudWatchClient's mit einer auf DescribeAlarmsRequest
Importe
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException;
import software.amazon.awssdk.services.cloudwatch.model.DescribeAlarmsRequest;
import software.amazon.awssdk.services.cloudwatch.model.DescribeAlarmsResponse;
import software.amazon.awssdk.services.cloudwatch.model.MetricAlarm;
Code
public static void desCWAlarms( CloudWatchClient cw) {
try {
boolean done = false;
String newToken = null;
while(!done) {
DescribeAlarmsResponse response;
if (newToken == null) {
DescribeAlarmsRequest request = DescribeAlarmsRequest.builder().build();
response = cw.describeAlarms(request);
} else {
DescribeAlarmsRequest request = DescribeAlarmsRequest.builder()
.nextToken(newToken)
.build();
response = cw.describeAlarms(request);
}
for(MetricAlarm alarm : response.metricAlarms()) {
System.out.printf("\n Retrieved alarm %s", alarm.alarmName());
}
if(response.nextToken() == null) {
done = true;
} else {
newToken = response.nextToken();
}
}
} catch (CloudWatchException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
System.out.printf("Done");
}
Die Liste der Alarme kann abgerufen werden, indem Sie die MetricAlarms
Funktion aufrufen DescribeAlarmsResponsedescribeAlarms
.
Eventuell werden die Ergebnisse seitenweise zurückgegeben. Um den nächsten Stapel Ergebnisse abzurufen, rufen Sie nextToken
für das Antwortobjekt auf und verwenden den Tokenwert, um ein neues Anforderungsobjekt zu erstellen. Anschließend rufen Sie die describeAlarms
-Methode erneut für die neue Anforderung auf.
Anmerkung
Sie können auch Alarme für eine bestimmte Metrik abrufen, indem Sie die describeAlarmsForMetric
Methode CloudWatchClient's verwenden. Sie lässt sich ähnlich wie describeAlarms
nutzen.
Das vollständige Beispiel
Löschen von Alarmen
Um CloudWatch Alarme zu löschen, rufen Sie die deleteAlarms
Methode CloudWatchClient s mit einem auf, das einen oder mehrere Namen von Alarmen DeleteAlarmsRequest
Importe
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException;
import software.amazon.awssdk.services.cloudwatch.model.DeleteAlarmsRequest;
Code
public static void deleteCWAlarm(CloudWatchClient cw, String alarmName) {
try {
DeleteAlarmsRequest request = DeleteAlarmsRequest.builder()
.alarmNames(alarmName)
.build();
cw.deleteAlarms(request);
System.out.printf("Successfully deleted alarm %s", alarmName);
} catch (CloudWatchException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
Das vollständige Beispiel
Weitere Informationen
-
Verwenden von Amazon CloudWatch Alarmen im Amazon CloudWatch Benutzerhandbuch
-
PutMetricAlarmin der Amazon CloudWatch API-Referenz
-
DescribeAlarmsin der Amazon CloudWatch API-Referenz
-
DeleteAlarmsin der Amazon CloudWatch API-Referenz