Creación de alarmas de Amazon CloudWatch - AWS SDK for JavaScript

Anunciamos el próximo fin del soporte para AWS SDK for JavaScript v2. Se recomienda que migre a AWS SDK for JavaScript v3. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Creación de alarmas de Amazon CloudWatch

JavaScript code example that applies to Node.js execution

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:

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.