Anunciamos
Creación de alarmas de Amazon CloudWatch
Este ejemplo de código de Node.js muestra:
Cómo recuperar información básica acerca de sus alarmas de CloudWatch.
Cómo crear y eliminar una alarma de CloudWatch.
El escenario
Una alarma vigila una única métrica durante el período especificado y realiza una o varias acciones en función del valor de la métrica relativo a un determinado umbral durante una serie de períodos de tiempo.
En este ejemplo, se usan una serie de módulos de Node.js para crear alarmas en CloudWatch. Los módulos de Node.js usan el SDK de JavaScript para crear alarmas mediante los métodos de clase de cliente AWS.CloudWatch
siguientes:
Para obtener más información sobre la configuración de las alarmas, consulte Crear alarmas de Amazon CloudWatch en la Guía del usuario de Amazon CloudWatch.
Tareas previas necesarias
Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:
Instale Node.js. Para obtener más información acerca de la instalación de Node.js consulte el sitio web de Node.js
. Cree un archivo de configuraciones compartidas con sus credenciales de usuario. Para obtener más información acerca de cómo crear un archivo de credenciales compartidas, consulte Carga de credenciales en Node.js desde el archivo de credenciales compartidas.
Descripción de alarmas
Cree un módulo de Node.js con el nombre de archivo cw_describealarms.js
. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para obtener acceso a CloudWatch, cree un objeto de servicio de AWS.CloudWatch
. Cree un objeto JSON para contener los parámetros para recuperar descripciones de alarmas y limitar el número de alarmas a aquellas que tienen el estado INSUFFICIENT_DATA
. Luego llame al método describeAlarms
del objeto de servicio 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); }); } });
Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.
node cw_describealarms.js
Este código de ejemplo se puede encontrar aquí en GitHub
Creación de una alarma para una métrica de CloudWatch
Cree un módulo de Node.js con el nombre de archivo cw_putmetricalarm.js
. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para obtener acceso a CloudWatch, cree un objeto de servicio de AWS.CloudWatch
. Cree un objeto JSON para los parámetros necesarios para crear una alarma basada en una métrica; en este caso, el uso de la CPU en una instancia de Amazon EC2. Los parámetros restantes se establecen para que la alarma se desencadene cuando la métrica supere un umbral del 70 por ciento. Luego llame al método describeAlarms
del objeto de servicio 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); } });
Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.
node cw_putmetricalarm.js
Este código de ejemplo se puede encontrar aquí en GitHub
Eliminación de una alarma
Cree un módulo de Node.js con el nombre de archivo cw_deletealarms.js
. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para obtener acceso a CloudWatch, cree un objeto de servicio de AWS.CloudWatch
. Cree un objeto JSON para que contenga los nombres de las alarmas que desea eliminar. Luego llame al método deleteAlarms
del objeto de servicio 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); } });
Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.
node cw_deletealarms.js
Este código de ejemplo se puede encontrar aquí en GitHub