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.
Arbeiten mit CloudWatch Alarmen
Alarm erstellen
Um einen Alarm basierend auf einer CloudWatch Metrik zu erstellen, rufen Sie die Methode CloudWatchClientdes putMetricAlarm
mit einem auf, der mit den Alarmbedingungen 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); } }
Sehen Sie sich das vollständige Beispiel
Auflisten von Alarmen
Um die von Ihnen erstellten CloudWatch Alarme aufzulisten, rufen Sie die Methode CloudWatchClientdes describeAlarms
mit einem aufDescribeAlarmsRequest
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 MetricAlarms
Sie für die aufrufenDescribeAlarmsResponsedescribeAlarms
.
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 Alarme für eine bestimmte Metrik auch abrufen, indem CloudWatchClientSie die Methode des verwendendescribeAlarmsForMetric
. Sie lässt sich ähnlich wie describeAlarms
nutzen.
Sehen Sie sich das vollständige Beispiel
Löschen von Alarmen
Um CloudWatch Alarme zu löschen, rufen Sie die Methode CloudWatchClientdes deleteAlarms
mit einem auf, der 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); } }
Sehen Sie sich das vollständige Beispiel
Weitere Informationen
-
Verwenden von Amazon CloudWatch Alarmen im Amazon CloudWatch -Benutzerhandbuch
-
PutMetricAlarm in der Amazon CloudWatch API-Referenz zu
-
DescribeAlarms in der Amazon CloudWatch API-Referenz zu
-
DeleteAlarms in der Amazon CloudWatch API-Referenz zu