

AWS SDK for JavaScript v2가 지원 종료에 도달했습니다. [AWS SDK for JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/)로 마이그레이션하실 것을 권장합니다. 마이그레이션 방법에 대한 자세한 내용은 해당 [공지 사항](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)을 참조하세요.

# Amazon CloudWatch 경보 생성
<a name="cloudwatch-examples-creating-alarms"></a>

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

**이 Node.js 코드 예제는 다음을 보여 줍니다.**
+ CloudWatch 경보에 대한 기본 정보를 가져오는 방법
+ CloudWatch 경보를 생성하고 삭제하는 방법

## 시나리오
<a name="cloudwatch-examples-creating-alarms-scenario"></a>

경보는 지정한 기간에 단일 지표를 감시하고 여러 기간에 지정된 임곗값에 대한 지표 값을 기준으로 작업을 하나 이상 수행합니다.

이 예제에서는 일련의 Node.js 모듈을 사용하여 CloudWatch에서 경보를 생성합니다. Node.js 모듈은 SDK for JavaScript로 `AWS.CloudWatch` 클라이언트 클래스의 다음 메서드를 사용하여 알람을 생성합니다.
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#describeAlarms-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#describeAlarms-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#putMetricAlarm-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#putMetricAlarm-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#deleteAlarms-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#deleteAlarms-property)

CloudWatch 경보에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Amazon CloudWatch 경보 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)을 참조하세요.

## 사전 필수 작업
<a name="cloudwatch-examples-creating-alarms-prerequisites"></a>

이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.
+ Node.js를 설치합니다. Node.js 설치에 대한 자세한 내용은 [Node.js 웹 사이트](https://nodejs.org)를 참조하세요.
+ 사용자 자격 증명을 사용하여 공유 구성 파일을 생성합니다. 공유 자격 증명 파일 제공에 대한 자세한 내용은 [공유 인증 자격 증명 파일에서 Node.js에 인증 자격 증명 로드](loading-node-credentials-shared.md) 섹션을 참조하세요.

## 경보 설명
<a name="cloudwatch-examples-creating-alarms-describing"></a>

파일 이름이 `cw_describealarms.js`인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. CloudWatch에 액세스하려면 `AWS.CloudWatch` 서비스 객체를 생성합니다. 경보 설명을 가져오기 위한 파라미터를 담을 JSON 객체를 생성하여 `INSUFFICIENT_DATA` 상태의 설명으로 반환되는 경보를 제한합니다. 그런 다음 `describeAlarms` 서비스 객체의 `AWS.CloudWatch` 메서드를 호출합니다.

```
// 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.describeAlarms({ StateValue: "INSUFFICIENT_DATA" }, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    // List the names of all current alarms in the console
    data.MetricAlarms.forEach(function (item, index, array) {
      console.log(item.AlarmName);
    });
  }
});
```

예제를 실행하려면 명령줄에서 다음을 입력합니다.

```
node cw_describealarms.js
```

이 샘플 코드는 [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_describealarms.js)에서 찾을 수 있습니다.

## CloudWatch 지표에 대한 경보 생성
<a name="cloudwatch-examples-creating-alarms-putmetricalarm"></a>

파일 이름이 `cw_putmetricalarm.js`인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. CloudWatch에 액세스하려면 `AWS.CloudWatch` 서비스 객체를 생성합니다. 지표(이 경우 Amazon EC2 인스턴스의 CPU 사용률)를 기반으로 경보를 생성하는 데 필요한 파라미터를 담을 JSON 객체를 생성합니다. 나머지 파라미터는 지표가 임계값인 70퍼센트를 초과할 때 경보가 트리거되도록 설정됩니다. 그런 다음 `describeAlarms` 서비스 객체의 `AWS.CloudWatch` 메서드를 호출합니다.

```
// 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: false,
  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("Success", data);
  }
});
```

예제를 실행하려면 명령줄에서 다음을 입력합니다.

```
node cw_putmetricalarm.js
```

이 샘플 코드는 [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_putmetricalarm.js)에서 찾을 수 있습니다.

## 경보 삭제
<a name="cloudwatch-examples-creating-alarms-deleting"></a>

파일 이름이 `cw_deletealarms.js`인 Node.js 모듈을 생성합니다. 위와 같이 SDK를 구성해야 합니다. CloudWatch에 액세스하려면 `AWS.CloudWatch` 서비스 객체를 생성합니다. 삭제할 경보의 이름을 담을 JSON 객체를 생성합니다. 그런 다음 `deleteAlarms` 서비스 객체의 `AWS.CloudWatch` 메서드를 호출합니다.

```
// 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 = {
  AlarmNames: ["Web_Server_CPU_Utilization"],
};

cw.deleteAlarms(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

예제를 실행하려면 명령줄에서 다음을 입력합니다.

```
node cw_deletealarms.js
```

이 샘플 코드는 [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_deletealarms.js)에서 찾을 수 있습니다.