View a markdown version of this page

Menggunakan Tindakan Alarm di Amazon CloudWatch - AWS SDK untuk JavaScript

AWS SDK untuk JavaScript V2 telah mencapai akhir dukungan. Kami menyarankan Anda bermigrasi ke AWS SDK untuk JavaScript v3. Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat pengumuman ini.

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

Menggunakan Tindakan Alarm di Amazon CloudWatch

JavaScript code example that applies to Node.js execution

Contoh Node.js kode ini menunjukkan:

  • Cara mengubah status instans Amazon EC2 Anda secara otomatis berdasarkan CloudWatch alarm.

Skenario

Menggunakan tindakan alarm, Anda dapat membuat alarm yang secara otomatis menghentikan, menghentikan, me-reboot, atau memulihkan instans Amazon EC2 Anda. Anda dapat menggunakan tindakan berhenti atau menghentikan saat Anda tidak lagi memerlukan instance untuk dijalankan. Anda dapat menggunakan tindakan reboot dan pemulihan untuk me-reboot instans tersebut secara otomatis.

Dalam contoh ini, serangkaian Node.js modul digunakan untuk menentukan tindakan alarm CloudWatch yang memicu reboot instans Amazon EC2. Node.js Modul menggunakan SDK JavaScript untuk mengelola instans Amazon EC2 menggunakan metode kelas CloudWatch klien berikut:

Untuk informasi selengkapnya tentang tindakan CloudWatch alarm, lihat Membuat Alarm untuk Menghentikan, Mengakhiri, Memulai Ulang, atau Memuli hkan Instans di Panduan CloudWatch Pengguna Amazon.

Tugas Prasyarat

Untuk mengatur dan menjalankan contoh ini, Anda harus menyelesaikan tugas ini terlebih dahulu:

Gunakan kebijakan peran berikut saat membuat peran IAM.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:Describe*", "ec2:Describe*", "ec2:RebootInstances", "ec2:StopInstances*", "ec2:TerminateInstances" ], "Resource": [ "*" ] } ] }

Konfigurasikan SDK untuk JavaScript dengan membuat objek konfigurasi global lalu mengatur Wilayah untuk kode Anda. Dalam contoh ini, Wilayah diatur keus-west-2.

// Load the SDK for JavaScript var AWS = require('aws-sdk'); // Set the Region AWS.config.update({region: 'us-west-2'});

Membuat dan Mengaktifkan Tindakan pada Alarm

Buat Node.js modul dengan nama filecw_enablealarmactions.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch, buat objek AWS.CloudWatch layanan.

Buat objek JSON untuk menahan parameter untuk membuat alarm, menentukan ActionsEnabled as true dan array ARN untuk tindakan yang akan dipicu alarm. Panggil putMetricAlarm metode objek AWS.CloudWatch layanan, yang membuat alarm jika tidak ada atau memperbaruinya jika alarm memang ada.

Dalam fungsi callback untukputMetricAlarm, setelah berhasil menyelesaikan, buat objek JSON yang berisi nama CloudWatch alarm. Panggil enableAlarmActions metode untuk mengaktifkan tindakan alarm.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatch service object var cw = new AWS.CloudWatch({ apiVersion: "2010-08-01" }); var params = { AlarmName: "Web_Server_CPU_Utilization", ComparisonOperator: "GreaterThanThreshold", EvaluationPeriods: 1, MetricName: "CPUUtilization", Namespace: "AWS/EC2", Period: 60, Statistic: "Average", Threshold: 70.0, ActionsEnabled: true, AlarmActions: ["ACTION_ARN"], AlarmDescription: "Alarm when server CPU exceeds 70%", Dimensions: [ { Name: "InstanceId", Value: "INSTANCE_ID", }, ], Unit: "Percent", }; cw.putMetricAlarm(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Alarm action added", data); var paramsEnableAlarmAction = { AlarmNames: [params.AlarmName], }; cw.enableAlarmActions(paramsEnableAlarmAction, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Alarm action enabled", data); } }); } });

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

node cw_enablealarmactions.js

Kode sampel ini dapat ditemukan di sini GitHub.

Menonaktifkan Tindakan pada Alarm

Buat Node.js modul dengan nama filecw_disablealarmactions.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch, buat objek AWS.CloudWatch layanan. Buat objek JSON yang berisi nama CloudWatch alarm. Panggil disableAlarmActions metode untuk menonaktifkan tindakan untuk alarm ini.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatch service object var cw = new AWS.CloudWatch({ apiVersion: "2010-08-01" }); cw.disableAlarmActions( { AlarmNames: ["Web_Server_CPU_Utilization"] }, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } } );

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

node cw_disablealarmactions.js

Kode sampel ini dapat ditemukan di sini GitHub.