Amazon CloudWatch 경보 생성 - AWS SDK for JavaScript

곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다. AWS SDK for JavaScript v3로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

Amazon CloudWatch 경보 생성

JavaScript code example that applies to Node.js execution

이 Node.js 코드 예제는 다음을 보여 줍니다.

  • CloudWatch 경보에 대한 기본 정보를 가져오는 방법

  • CloudWatch 경보를 생성하고 삭제하는 방법

시나리오

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

이 예제에서는 일련의 Node.js 모듈을 사용하여 CloudWatch에서 경보를 생성합니다. Node.js 모듈은 SDK for JavaScript로 AWS.CloudWatch 클라이언트 클래스의 다음 메서드를 사용하여 알람을 생성합니다.

CloudWatch 경보에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서Amazon CloudWatch 경보 생성을 참조하세요.

사전 필수 작업

이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.

경보 설명

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

// 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에서 찾을 수 있습니다.

CloudWatch 지표에 대한 경보 생성

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

// 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에서 찾을 수 있습니다.

경보 삭제

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

// 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에서 찾을 수 있습니다.