O AWS SDK for Java 1.x entrou no modo de manutenção em 31 de julho de 2024 e chegará end-of-support
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Trabalhar com alarmes do CloudWatch
Criar um alarme
Para criar um alarme com base em uma métrica do CloudWatch, chame o método putMetricAlarm
do AmazonCloudWatchClient com um PutMetricAlarmRequest preenchido com as condições de alarme.
Importações
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;
Código
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);
Listar alarmes
Para listar os alarmes do CloudWatch criados por você, chame o método describeAlarms
do AmazonCloudWatchClient com um DescribeAlarmsRequest que pode ser usado para definir opções para o resultado.
Importações
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;
Código
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; } }
A lista de alarmes pode ser obtida chamando getMetricAlarms
no DescribeAlarmsResult retornado por describeAlarms
.
Os resultados podem ser paginados. Para recuperar o próximo lote de resultados, chame setNextToken
no objeto de solicitação original com o valor de retorno do método DescribeAlarmsResult
do objeto getNextToken
e passe o objeto de solicitação modificado para outra chamada para describeAlarms
.
nota
Você também pode recuperar alarmes para uma métrica específica usando o método describeAlarmsForMetric
do AmazonCloudWatchClient. O uso é semelhante a describeAlarms
.
Excluir alarmes
Para excluir os alarmes do CloudWatch, chame o método deleteAlarms
do AmazonCloudWatchClient com um DeleteAlarmsRequest contendo um ou mais nomes de alarmes que você deseja excluir.
Importações
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;
Código
final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.defaultClient(); DeleteAlarmsRequest request = new DeleteAlarmsRequest() .withAlarmNames(alarm_name); DeleteAlarmsResult response = cw.deleteAlarms(request);
Mais informações
-
Criar alarmes do Amazon CloudWatch, no Guia do usuário do Amazon CloudWatch
-
PutMetricAlarm na Referência de API do Amazon CloudWatch
-
DescribeAlarms na Referência de API do Amazon CloudWatch
-
DeleteAlarms na Referência de API do Amazon CloudWatch