곧 AWS SDK for JavaScript(v2)에 대한 지원이 종료될 예정임을 알려드립니다
Amazon CloudWatch 경보 생성
이 Node.js 코드 예제는 다음을 보여 줍니다.
CloudWatch 경보에 대한 기본 정보를 가져오는 방법
CloudWatch 경보를 생성하고 삭제하는 방법
시나리오
경보는 지정한 기간에 단일 지표를 감시하고 여러 기간에 지정된 임계값에 대한 지표 값을 기준으로 작업을 하나 이상 수행합니다.
이 예제에서는 일련의 Node.js 모듈을 사용하여 CloudWatch에서 경보를 생성합니다. Node.js 모듈은 SDK for JavaScript로 AWS.CloudWatch
클라이언트 클래스의 다음 메서드를 사용하여 알람을 생성합니다.
CloudWatch 경보에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서의 Amazon CloudWatch 경보 생성을 참조하세요.
사전 필수 작업
이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.
Node.js를 설치합니다. Node.js 설치에 대한 자세한 내용은 Node.js 웹 사이트
를 참조하세요. 사용자 자격 증명을 사용하여 공유 구성 파일을 생성합니다. 공유 자격 증명 파일 제공에 대한 자세한 내용은 공유 인증 자격 증명 파일에서 Node.js에 인증 자격 증명 로드 섹션을 참조하세요.
경보 설명
파일 이름이 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