

 AWS SDK untuk JavaScript V2 telah mencapai end-of-support. Kami menyarankan Anda bermigrasi ke [AWS SDK untuk JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat [pengumuman](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/) ini.

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

# Menggunakan Alarm Actions di Amazon CloudWatch
<a name="cloudwatch-examples-using-alarm-actions"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/id_id/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Contoh kode Node.js ini menunjukkan:**
+ Cara mengubah status instans Amazon EC2 Anda secara otomatis berdasarkan alarm. CloudWatch 

## Skenario
<a name="cloudwatch-examples-using-alarm-actions-scenario"></a>

Dengan menggunakan tindakan alarm, Anda dapat membuat alarm yang secara otomatis menghentikan, menghentikan, mem-boot ulang, atau memulihkan instans Amazon EC2 Anda. Anda dapat menggunakan tindakan berhenti atau menghentikan saat Anda tidak lagi membutuhkan instance untuk dijalankan. Anda dapat menggunakan tindakan reboot dan memulihkan untuk secara otomatis me-reboot instance tersebut. 

Dalam contoh ini, serangkaian modul Node.js digunakan untuk menentukan tindakan alarm CloudWatch yang memicu reboot instans Amazon EC2. Modul Node.js menggunakan SDK for JavaScript untuk mengelola instans Amazon EC2 menggunakan metode kelas klien berikut: `CloudWatch`
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#enableAlarmActions-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#enableAlarmActions-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#disableAlarmActions-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#disableAlarmActions-property)

Untuk informasi selengkapnya tentang tindakan CloudWatch alarm, lihat [Membuat Alarm untuk Berhenti, Menghentikan, Memulai Ulang, atau Memulihkan Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingAlarmActions.html) di * CloudWatch Panduan Pengguna Amazon*.

## Tugas Prasyarat
<a name="cloudwatch-examples-using-alarm-actions-prerequisites"></a>

Untuk mengatur dan menjalankan contoh ini, Anda harus terlebih dahulu menyelesaikan tugas-tugas ini:
+ Instal Node.js. Untuk informasi selengkapnya tentang menginstal Node.js, lihat [situs web Node.js](http://nodejs.org).
+ Buat file konfigurasi bersama dengan kredensi pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredensial bersama, lihat. [Memuat Kredensial di Node.js dari File Kredensial Bersama](loading-node-credentials-shared.md)
+ Buat peran IAM yang kebijakannya memberikan izin untuk mendeskripsikan, mem-boot ulang, menghentikan, atau menghentikan instans Amazon EC2. Untuk informasi selengkapnya tentang membuat peran IAM, lihat [Membuat Peran untuk Mendelegasikan Izin ke AWS Layanan di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) *IAM*.

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": [
            "*"
         ]
      }
   ]
}
```

------

## 
<a name="cloudwatch-examples-using-alarm-actions-configure-sdk"></a>

Konfigurasikan SDK untuk JavaScript dengan membuat objek konfigurasi global lalu setel Wilayah untuk kode Anda. Dalam contoh ini, Region diatur ke`us-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
<a name="cloudwatch-examples-using-alarm-actions-enabling"></a>

Buat modul Node.js dengan nama file`cw_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` sebagai `true` dan array ARNs 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 untuk`putMetricAlarm`, setelah berhasil menyelesaikan membuat objek JSON yang berisi nama alarm. CloudWatch 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 contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_enablealarmactions.js).

## Menonaktifkan Tindakan pada Alarm
<a name="cloudwatch-examples-using-alarm-actions-disabling"></a>

Buat modul Node.js dengan nama file`cw_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 contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_disablealarmactions.js).