

O AWS SDK para JavaScript v2 chegou ao fim do suporte. Recomendamos migrar para o [AWS SDK para JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Para ver detalhes e informações sobre como migrar, consulte este [anúncio](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

# Obter métricas do Amazon CloudWatch
<a name="cloudwatch-examples-getting-metrics"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/pt_br/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**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
<a name="cloudwatch-examples-getting-metrics-scenario"></a>

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`:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#listMetrics-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#listMetrics-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#putMetricData-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#putMetricData-property)

Para obter mais informações sobre métricas do CloudWatch, consulte [Como usar métricas do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) no *Manual do usuário do Amazon CloudWatch*.

## Tarefas de pré-requisito
<a name="cloudwatch-examples-getting-metrics-prerequisites"></a>

Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:
+ Instale o Node.js. Para obter mais informações sobre como instalar Node.js, consulte o [website de Node.js](https://nodejs.org).
+ Crie um arquivo de configurações compartilhado com as credenciais de usuário. Para obter mais informações sobre como fornecer um arquivo de credenciais compartilhadas, consulte [Carregar credenciais em Node.js do arquivo de credenciais compartilhado](loading-node-credentials-shared.md).

## Listar métricas
<a name="cloudwatch-examples-getting-metrics-listing"></a>

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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_listmetrics.js).

## Enviar métricas personalizadas
<a name="cloudwatch-examples-getting-metrics-publishing-custom"></a>

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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_putmetricdata.js).