Bekerja dengan CloudWatch Alarm - AWS SDK for Java 1.x

AWS SDK for Java 1.x telah memasuki mode pemeliharaan pada 31 Juli 2024, dan akan mencapai end-of-supportpada 31 Desember 2025. Kami menyarankan Anda bermigrasi ke AWS SDK for Java 2.xuntuk terus menerima fitur baru, peningkatan ketersediaan, dan pembaruan keamanan.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bekerja dengan CloudWatch Alarm

Buat alarm

Untuk membuat alarm didasarkan pada CloudWatch metrik, panggil AmazonCloudWatchClientputMetricAlarmMetode denganPutMetricAlarmRequestdiisi dengan kondisi alarm.

Impor

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;

Kode

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

Daftar alarm

Untuk mencantumkan CloudWatch alarm yang telah Anda buat, panggil AmazonCloudWatchClient'sdescribeAlarmsMetode denganDescribeAlarmsRequestyang dapat Anda gunakan untuk mengatur opsi untuk hasilnya.

Impor

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;

Kode

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

Daftar alarm dapat diperoleh dengan menelepongetMetricAlarmspadaDescribeAlarmsResultyang dikembalikan olehdescribeAlarms.

Hasilnya mungkinpaged. Untuk mengambil batch berikutnya hasil, hubungisetNextTokenpada objek permintaan asli dengan nilai kembali dariDescribeAlarmsResultobjekgetNextTokenmetode, dan lulus objek permintaan dimodifikasi kembali ke panggilan lain untukdescribeAlarms.

catatan

Anda juga dapat mengambil alarm untuk metrik tertentu dengan menggunakan AmazonCloudWatchClient'sdescribeAlarmsForMetricMetode. Penggunaannya mirip dengandescribeAlarms.

Hapus Alarm

Untuk menghapus CloudWatch alarm, panggil AmazonCloudWatchClientdeleteAlarmsMetode denganDeleteAlarmsRequestberisi satu atau lebih nama alarm yang ingin Anda hapus.

Impor

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;

Kode

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

Informasi Selengkapnya