Utilizzo di CloudWatch Allarmi - AWS SDK for Java 1. x

La AWS SDK for Java versione 1.x è entrata in modalità manutenzione il 31 luglio 2024 e sarà disponibile il 31 end-of-supportdicembre 2025. Ti consigliamo di eseguire la migrazione a per continuare AWS SDK for Java 2.xa ricevere nuove funzionalità, miglioramenti della disponibilità e aggiornamenti di sicurezza.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di CloudWatch Allarmi

Creazione di un allarme

Per creare un allarme basato su un CloudWatch metrica, chiama AmazonCloudWatchClientputMetricAlarmcon un metodoPutMetricAlarmRequestriempito con le condizioni di allarme.

Importazioni

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;

Codice

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

Elencare allarmi

Per elencare il valore CloudWatch allarmi creati, chiama il client di AmazonCloudWatchClientdescribeAlarmscon un metodoDescribeAlarmsRequestche è possibile utilizzare per impostare le opzioni per il risultato.

Importazioni

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;

Codice

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

L'elenco di allarmi può essere ottenuto chiamandogetMetricAlarmssulDescribeAlarmsResult allarmiviene restituito dadescribeAlarms.

I risultati possono essere paginati. Per recuperare il batch successivo di risultati, chiamasetNextTokensull'oggetto richiesta originale con il valore restituito delDescribeAlarmsResultoggettogetNextTokenmetodo e ripassa l'oggetto richiesta modificato a un'altra chiamata adescribeAlarms.

Nota

Puoi anche recuperare allarmi per un parametro specifico utilizzando AmazonCloudWatchClientdescribeAlarmsForMetricmetodo. L'uso è simile a describeAlarms.

Elimina allarmi

Per eliminare CloudWatch allarmi, chiama AmazonCloudWatchClientdeleteAlarmscon un metodoDeleteAlarmsRequestcontenente uno o più nomi di allarmi da eliminare.

Importazioni

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;

Codice

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

Ulteriori informazioni