

La versión 2 de AWS SDK para JavaScript ha llegado al final del soporte. Se recomienda que migre a [AWS SDK para JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Para ver detalles e información adicionales sobre cómo realizar la migración, consulte este [anuncio](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

# Obtención de métricas de Amazon CloudWatch
<a name="cloudwatch-examples-getting-metrics"></a>

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

**Este ejemplo de código de Node.js muestra:**
+ Cómo recuperar una lista de métricas de CloudWatch publicadas.
+ Cómo publicar puntos de datos en métricas de CloudWatch.

## El escenario
<a name="cloudwatch-examples-getting-metrics-scenario"></a>

Las métricas son los datos sobre el desempeño de los sistemas. Puede habilitar la supervisión detallada de algunos recursos, como las instancias de Amazon EC2, o de sus propias métricas de aplicación. 

En este ejemplo se van a utilizar una serie de módulos de Node.js para obtener métricas de CloudWatch y para enviar eventos a Amazon CloudWatch Events. Los módulos de Node.js usan el SDK para JavaScript para obtener métricas de CloudWatch mediante los métodos de la clase de cliente `CloudWatch` siguiente:
+ [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 obtener más información sobre las métricas de CloudWatch, consulte [Uso de métricas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) en la *Guía del usuario de Amazon CloudWatch*.

## Tareas previas necesarias
<a name="cloudwatch-examples-getting-metrics-prerequisites"></a>

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](https://nodejs.org).
+ 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](loading-node-credentials-shared.md).

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

Cree un módulo de Node.js con el nombre de archivo `cw_listmetrics.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 que contenga los parámetros necesarios para generar métricas en el espacio de nombres `AWS/Logs`. Llame al método `listMetrics` para obtener una lista de la 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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

```
node cw_listmetrics.js
```

Este código de ejemplo se puede encontrar [aquí en GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_listmetrics.js).

## Envío de métricas personalizadas
<a name="cloudwatch-examples-getting-metrics-publishing-custom"></a>

Cree un módulo de Node.js con el nombre de archivo `cw_putmetricdata.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 que contenga los parámetros necesarios para enviar un punto de datos para la métrica personalizada `PAGES_VISITED`. Llame al 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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

```
node cw_putmetricdata.js
```

Este código de ejemplo se puede encontrar [aquí en GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/cloudwatch/cw_putmetricdata.js).