Utilisation d' CloudWatch Alarmes - AWS SDK for Java 1. x

Nous avons annoncé la sortie prochaine end-of-support de AWS SDK for Java (v1). Nous vous recommandons de migrer vers la AWS SDK for Java version v2. Pour les dates, les détails supplémentaires et les informations sur la façon de migrer, reportez-vous à l'annonce associée.

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.

Utilisation d' CloudWatch Alarmes

Créer une alarme

Pour créer une alarme basée sur un CloudWatch , appelez le client AmazonCloudWatchClientputMetricAlarmMéthode avec unPutMetricAlarmRequestremplie des conditions d'alarme.

Importations

import com.amazonaws.services.cloudwatch.AmazonCloudWatch; import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder; import com.amazonaws.services.cloudwatch.model.ComparisonOperator; import com.amazonaws.services.cloudwatch.model.Dimension; import com.amazonaws.services.cloudwatch.model.PutMetricAlarmRequest; import com.amazonaws.services.cloudwatch.model.PutMetricAlarmResult; import com.amazonaws.services.cloudwatch.model.StandardUnit; import com.amazonaws.services.cloudwatch.model.Statistic;

Code

final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.defaultClient(); Dimension dimension = new Dimension() .withName("InstanceId") .withValue(instanceId); PutMetricAlarmRequest request = new PutMetricAlarmRequest() .withAlarmName(alarmName) .withComparisonOperator( ComparisonOperator.GreaterThanThreshold) .withEvaluationPeriods(1) .withMetricName("CPUUtilization") .withNamespace("{AWS}/EC2") .withPeriod(60) .withStatistic(Statistic.Average) .withThreshold(70.0) .withActionsEnabled(false) .withAlarmDescription( "Alarm when server CPU utilization exceeds 70%") .withUnit(StandardUnit.Seconds) .withDimensions(dimension); PutMetricAlarmResult response = cw.putMetricAlarm(request);

Affichage des alarmes

Pour afficher le CloudWatch Alarmes que vous avez créées, appelez ledescribeAlarmsMéthode avec unDescribeAlarmsRequestque vous pouvez utiliser pour définir des options pour le résultat.

Importations

import com.amazonaws.services.cloudwatch.AmazonCloudWatch; import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder; import com.amazonaws.services.cloudwatch.model.DescribeAlarmsRequest; import com.amazonaws.services.cloudwatch.model.DescribeAlarmsResult; import com.amazonaws.services.cloudwatch.model.MetricAlarm;

Code

final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.defaultClient(); boolean done = false; DescribeAlarmsRequest request = new DescribeAlarmsRequest(); while(!done) { DescribeAlarmsResult response = cw.describeAlarms(request); for(MetricAlarm alarm : response.getMetricAlarms()) { System.out.printf("Retrieved alarm %s", alarm.getAlarmName()); } request.setNextToken(response.getNextToken()); if(response.getNextToken() == null) { done = true; } }

La liste des alarmes peut être obtenue en appelant getMetricAlarms sur l'objet DescribeAlarmsResult renvoyé par describeAlarms.

Les résultats peuvent être paginés. Pour récupérer le lot suivant de résultats, appelez setNextToken sur l'objet de demande d'origine avec la valeur de retour de la méthode getNextToken de l'objet DescribeAlarmsResult, et retransmettez l'objet de demande modifié vers un autre appel de describeAlarms.

Note

Vous pouvez également récupérer des alarmes pour une métrique spécifique à l'aide dudescribeAlarmsForMetricMéthode. Son utilisation est similaire à describeAlarms.

Suppression d'alarmes

Pour supprimer CloudWatch alarmes, appelez le client AmazonCloudWatchdeleteAlarmsMéthode avec unDeleteAlarmsRequestcontenant un ou plusieurs noms d'alarmes que vous voulez supprimer.

Importations

import com.amazonaws.services.cloudwatch.AmazonCloudWatch; import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder; import com.amazonaws.services.cloudwatch.model.DeleteAlarmsRequest; import com.amazonaws.services.cloudwatch.model.DeleteAlarmsResult;

Code

final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.defaultClient(); DeleteAlarmsRequest request = new DeleteAlarmsRequest() .withAlarmNames(alarm_name); DeleteAlarmsResult response = cw.deleteAlarms(request);

En savoir plus