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à.
Lavora con gli CloudWatch allarmi
Creazione di un allarme
Per creare un allarme basato su una CloudWatch metrica, chiama il putMetricAlarm
metodo CloudWatchClient's con una PutMetricAlarmRequest
Importazioni
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;
Codice
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); } }
Guarda l'esempio completo
Elencare allarmi
Per elencare gli CloudWatch allarmi che hai creato, chiama il describeAlarms
metodo CloudWatchClient's con un DescribeAlarmsRequest
Importazioni
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;
Codice
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"); }
L'elenco degli allarmi può essere ottenuto MetricAlarms
chiamando il comando DescribeAlarmsResponsedescribeAlarms
I risultati possono essere paginati. Per recuperare il batch di risultati successivo, chiama nextToken
sull'oggetto di risposta e utilizza il valore del token per creare un nuovo oggetto richiesta. Quindi, chiama nuovamente il metodo describeAlarms
con una nuova richiesta.
Nota
Puoi anche recuperare gli allarmi per una metrica specifica utilizzando il metodo's. CloudWatchClient describeAlarmsForMetric
L'uso è simile a describeAlarms
.
Vedi l'esempio completo
Eliminare allarmi
Per eliminare gli CloudWatch allarmi, chiama il deleteAlarms
metodo CloudWatchClient's DeleteAlarmsRequest
Importazioni
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;
Codice
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); } }
Guarda l'esempio completo
Ulteriori informazioni
-
Uso degli Amazon CloudWatch allarmi nella Guida per l'Amazon CloudWatchutente
-
PutMetricAlarmnell'Amazon CloudWatchAPI Reference
-
DescribeAlarmsnell'Amazon CloudWatchAPI Reference
-
DeleteAlarmsnell'Amazon CloudWatchAPI Reference