AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表
Amazon CloudWatch のアラームの作成
この Node.js コード例は以下を示しています。
CloudWatch アラームに関する基本的な情報を取得する方法。
CloudWatch アラームを作成および削除する方法。
シナリオ
アラームは、指定期間にわたって単一のメトリクスを監視し、指定したしきい値に対応したメトリクスの値に基づいて、期間数にわたって 1 つ以上のアクションを実行します。
この例では、CloudWatch でアラームを作成するために一連の Node.js モジュールが使用されています。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