Obter métricas do 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.

Obter métricas do Amazon CloudWatch

JavaScript code example that applies to Node.js execution

Este exemplo de código Node.js mostra:

  • Como recuperar uma lista de métricas do do CloudWatch publicadas.

  • Como publicar pontos de dados em métricas do CloudWatch.

O cenário

Métricas são dados sobre a performance de seus sistemas. É possível habilitar o monitoramento detalhado de alguns recursos, como instâncias do Amazon EC2 ou as próprias métricas do aplicativo.

Neste exemplo, uma série de módulos Node.js é usada para obter métricas do CloudWatch e para enviar eventos ao Amazon CloudWatch Events. Os módulos Node.js usam o SDK para JavaScript para obter métricas do CloudWatch usando esses métodos da classe de cliente CloudWatch:

Para obter mais informações sobre métricas do CloudWatch, consulte Como usar métricas 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:

Listar métricas

Crie um módulo do Node.js com o nome de arquivo cw_listmetrics.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 que contenha os parâmetros necessários para listar métricas dentro do namespace AWS/Logs. Chame o método listMetrics para listar a métrica IncomingLogEvents.

// 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 = { Dimensions: [ { Name: "LogGroupName" /* required */, }, ], MetricName: "IncomingLogEvents", Namespace: "AWS/Logs", }; cw.listMetrics(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Metrics", JSON.stringify(data.Metrics)); } });

Para executar o exemplo, digite o seguinte na linha de comando.

node cw_listmetrics.js

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

Enviar métricas personalizadas

Crie um módulo do Node.js com o nome de arquivo cw_putmetricdata.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 que contenha os parâmetros necessários a fim de enviar um ponto de dados para a métrica personalizada PAGES_VISITED. Chame o método putMetricData.

// 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" }); // Create parameters JSON for putMetricData var params = { MetricData: [ { MetricName: "PAGES_VISITED", Dimensions: [ { Name: "UNIQUE_PAGES", Value: "URLS", }, ], Unit: "None", Value: 1.0, }, ], Namespace: "SITE/TRAFFIC", }; cw.putMetricData(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", JSON.stringify(data)); } });

Para executar o exemplo, digite o seguinte na linha de comando.

node cw_putmetricdata.js

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