La AWS SDK for Java versión 1.x entró en modo de mantenimiento el 31 de julio de 2024 y estará disponible el 31 de end-of-support
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de alarmas de CloudWatch
Crear una alarma
Para crear una alarma basada en una métrica de CloudWatch, llame al método putMetricAlarm
de AmazonCloudWatchClient con un objeto PutMetricAlarmRequest en el que se especifiquen las condiciones de la alarma.
Importaciones
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);
Mostrar alarmas
Para mostrar las alarmas de CloudWatch que ha creado, llame al método describeAlarms
de AmazonCloudWatchClient con un objeto DescribeAlarmsRequest que puede utilizar para establecer opciones para el resultado.
Importaciones
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 lista de alarmas se puede obtener llamando a getMetricAlarms
en el objeto DescribeAlarmsResult que devuelve describeAlarms
.
Los resultados puede que estén paginados. Para recuperar el siguiente lote de resultados, llame a setNextToken
en el objeto de la solicitud original con el valor devuelto del método getNextToken
del objeto DescribeAlarmsResult
y pase el objeto de la solicitud modificado a otra llamada a describeAlarms
.
nota
También puede recuperar alarmas para una métrica específica mediante el método describeAlarmsForMetric
de AmazonCloudWatchClient. Su uso es similar a describeAlarms
.
Eliminar alarmas
Para eliminar alarmas de CloudWatch, llame al método deleteAlarms
de AmazonCloudWatchClient con un objeto DeleteAlarmsRequest que contenga uno o más nombres de alarma que desea eliminar.
Importaciones
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);
Más información
-
Creación de una capa de Amazon CloudWatch en la Guía del usuario de Amazon CloudWatch
-
PutMetricalArm en la Referencia de la API de Amazon CloudWatch
-
DescribeAlarms en la referencia de la API de Amazon CloudWatch
-
DeleteAlarms en la referencia de la API de Amazon CloudWatch