Criação de alarmes no Amazon CloudWatch - AWS SDK for JavaScript

Anunciamos o próximo fim do suporte para o AWS SDK for JavaScript v2. Recomendamos migrar para o AWS SDK for JavaScript v3. Para saber as datas e receber detalhes adicionais e informações sobre como migrar, consulte o anúncio vinculado.

Criação de alarmes no Amazon CloudWatch

JavaScript code example that applies to Node.js execution

Este exemplo de código Node.js mostra:

  • Como recuperar informações básicas sobre os alarmes do CloudWatch.

  • Como criar e excluir um alarme do CloudWatch.

O cenário

Um alarme observa uma única métrica ao longo de um período especificado por você e realiza uma ou mais ações com base no valor da métrica relativo a um determinado limite ao longo de vários períodos.

Neste exemplo, uma série de módulos Node.js é usada para criar alarmes no CloudWatch. Os módulos Node.js usam o SDK para JavaScript para criar alarmes usando esses métodos da classe de cliente do AWS.CloudWatch:

Para obter mais informações sobre os alarmes do CloudWatch e as alterações de estado, consulte Criar alarmes do Amazon CloudWatch no Manual do usuário do Amazon CloudWatch.

Tarefas de pré-requisito

Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:

Descrever alarmes

Crie um módulo do Node.js com o nome de arquivo cw_describealarms.js. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o CloudWatch, crie um objeto de serviço do AWS.CloudWatch. Crie um objeto JSON para armazenar os parâmetros para recuperar as descrições de alarme, limitando os alarmes retornados àqueles com um estado de INSUFFICIENT_DATA. Depois, chame o método describeAlarms do objeto de serviço do 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 executar o exemplo, digite o seguinte na linha de comando.

node cw_describealarms.js

Este código de exemplo pode ser encontrado aqui no GitHub.

Criando um alarme para o CloudWatch Metric

Crie um módulo do Node.js com o nome de arquivo cw_putmetricalarm.js. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o CloudWatch, crie um objeto de serviço do AWS.CloudWatch. Crie um objeto JSON para os parâmetros necessários a fim de criar um alarme baseado em uma métrica. Neste caso, a utilização de CPU de uma instância do Amazon EC2. Os demais parâmetros são definidos, de maneira que o alarme seja acionado quando a métrica exceder o limite de 70%. Depois, chame o método describeAlarms do objeto de serviço do 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 executar o exemplo, digite o seguinte na linha de comando.

node cw_putmetricalarm.js

Este código de exemplo pode ser encontrado aqui no GitHub.

Exclusão de um alarme

Crie um módulo do Node.js com o nome de arquivo cw_deletealarms.js. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o CloudWatch, crie um objeto de serviço do AWS.CloudWatch. Crie um objeto JSON para manter os nomes dos alarmes que você deseja excluir. Depois, chame o método deleteAlarms do objeto de serviço do 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 executar o exemplo, digite o seguinte na linha de comando.

node cw_deletealarms.js

Este código de exemplo pode ser encontrado aqui no GitHub.