Nous avons annoncé
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'alarmes sur Amazon CloudWatch
Cet exemple de code Node.js présente :
Comment récupérer des informations de base sur vos CloudWatch alarmes.
Comment créer et supprimer une CloudWatch alarme
Scénario
Une alarme surveille une seule métrique pendant une durée que vous définissez et exécute une ou plusieurs actions en fonction de la valeur de la métrique par rapport à un seuil donné pendant un certain nombre de périodes.
Dans cet exemple, plusieurs modules Node.js sont utilisés pour créer des alarmes dans CloudWatch. Les modules Node.js utilisent le SDK pour créer des alarmes JavaScript à l'aide des méthodes suivantes de la classe AWS.CloudWatch
client :
Pour plus d'informations sur les CloudWatch alarmes, consultez la section Création d' CloudWatch alarmes Amazon dans le guide de CloudWatch l'utilisateur Amazon.
Tâches prérequises
Pour configurer et exécuter cet exemple, vous devez d'abord :
Installez Node.js. Pour plus d'informations sur l'installation de Node.js, consultez le site web de Node.js
. Créez un fichier de configurations partagé avec vos informations d'identification utilisateur. Pour plus d'informations sur le fichier d'informations d'identification partagé, consultez Chargement des informations d'identification dans Node.js à partir du fichier d'informations d'identification partagé.
Description des alarmes
Créez un module Node.js nommé cw_describealarms.js
. Veillez à configurer le kit SDK comme indiqué précédemment. Pour y accéder CloudWatch, créez un objet AWS.CloudWatch
de service. Créez un objet JSON qui contiendra les paramètres nécessaires à la récupération des descriptions d'alarmes, en limitant les alarmes renvoyées à celles dont l'état est INSUFFICIENT_DATA
. Appelez ensuite la méthode describeAlarms
de l'objet de service 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); }); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node cw_describealarms.js
Cet exemple de code se trouve ici sur GitHub
Création d'une alarme pour une CloudWatch métrique
Créez un module Node.js nommé cw_putmetricalarm.js
. Veillez à configurer le kit SDK comme indiqué précédemment. Pour y accéder CloudWatch, créez un objet AWS.CloudWatch
de service. Créez un objet JSON pour les paramètres nécessaires à la création d'une alarme basée sur une métrique, en l'occurrence l'utilisation du processeur d'une instance Amazon EC2. Les paramètres restants sont définis de façon à déclencher l'alarme lorsque la métrique dépasse un seuil de 70 %. Appelez ensuite la méthode describeAlarms
de l'objet de service 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); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node cw_putmetricalarm.js
Cet exemple de code se trouve ici sur GitHub
Suppression d'une alarme
Créez un module Node.js nommé cw_deletealarms.js
. Veillez à configurer le kit SDK comme indiqué précédemment. Pour y accéder CloudWatch, créez un objet AWS.CloudWatch
de service. Créez un objet JSON contenant les noms des alarmes à supprimer. Appelez ensuite la méthode deleteAlarms
de l'objet de service 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); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node cw_deletealarms.js
Cet exemple de code se trouve ici sur GitHub