AWS SDK for Java 1.x는 2024년 7월 31일부터 유지 관리 모드로 전환되었으며 2025년 12월 31end-of-support
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon CloudWatch 경보 작업
경보 만들기
CloudWatch 지표를 기반으로 경보를 생성하려면 경보 조건이 입력된 PutMetricalArmRequest를 사용하여 AmazonCloudWatchClient의 putMetricAlarm
Client의 메서드를 호출합니다.
가져오기
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;
코드
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);
경보 나열
생성한 CloudWatch 경보를 나열하려면 결과에 대한 옵션을 설정하는 데 사용할 수 있는 DescribeAlarmsRequest와 함께 AmazonCloudWatchClient의 describeAlarms
메서드를 호출하십시오.
가져오기
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;
코드
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; } }
describeAlarms
에 의해 반환되는 DescribeAlarmsResult에 대해 getMetricAlarms
를 호출하여 경보 목록을 가져올 수 있습니다.
결과를 페이징할 수 있습니다. 다음 결과 배치를 가져오려면 DescribeAlarmsResult
객체의 getNextToken
메서드에서 반환된 값과 함께 원래 요청 객체에 대해 setNextToken
을 호출한 후 수정된 요청 객체를 또 다른 describeAlarms
호출에 다시 전달합니다.
참고
AmazonCloudWatchClient의 describeAlarmsForMetric
메서드를 사용하여 특정 지표의 경보를 검색할 수도 있습니다. 이 메서드의 용도는 describeAlarms
와 비슷합니다.
경보 삭제
CloudWatch 경보를 삭제하려면 삭제하려는 경보 이름이 하나 이상 포함된 DeleteAlarmsRequest를 사용하여 AmazonCloudWatchClient의 deleteAlarms
메서드를 호출합니다.
가져오기
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;
코드
final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.defaultClient(); DeleteAlarmsRequest request = new DeleteAlarmsRequest() .withAlarmNames(alarm_name); DeleteAlarmsResult response = cw.deleteAlarms(request);
추가 정보
-
Amazon CloudWatch 사용 설명서의 Amazon CloudWatch 경보 생성
-
Amazon CloudWatch API 참조의 PutMetricAlarm
-
Amazon CloudWatch API 참조의 DescribeAlarms
-
Amazon CloudWatch API 참조의 DeleteAlarms