

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de la opción de consulta de métricas para consultar datos de CloudWatch Metrics Insights
<a name="CloudWatch-using-the-metric-query"></a>

**nota**  
Amazon CloudWatch Metrics Insights está en versión preliminar. CloudWatch Las funciones de Metrics Insights están abiertas a todos Cuentas de AWS. Las características pueden estar sujetas a cambios. 

 Puedes consultar los datos de CloudWatch Metrics Insights eligiendo el `metric query` modo en el **editor de consultas de Metric**. 

 CloudWatch Metrics Insights es un potente motor de consultas SQL de alto rendimiento que puedes utilizar para consultar tus métricas a escala. Se trata de un motor de consultas rápido y flexible basado en SQL que puede utilizar para identificar tendencias y patrones en todas sus CloudWatch métricas en tiempo real. Utiliza un dialecto de SQL. Para obtener más información sobre la sintaxis de consultas de Información de métricas, consulte [Sintaxis y palabras clave de las consultas](#metrics-insights-syntax-keywords).

## Sintaxis y palabras clave de las consultas
<a name="metrics-insights-syntax-keywords"></a>

CloudWatch Metrics Insights utiliza un dialecto de SQL. En el siguiente ejemplo se muestra la sintaxis de la consulta.

```
SELECT FUNCTION(metricName)
FROM namespace | [ SCHEMA(namespace[, labelKey [, ...] ]) ]
     [ WHERE labelKey OPERATOR labelValue [AND|OR|([...])*] [, ...] ]
[ GROUP BY labelKey [, ...]]
[ ORDER BY FUNCTION() [DESC | ASC] ]
[ LIMIT number]
```

 Las palabras clave no distinguen entre mayúsculas y minúsculas, pero los identificadores sí. Los identificadores incluyen los nombres de las métricas, los espacios de nombres y las dimensiones. 

 En la siguiente tabla se facilitan las palabras clave de consulta y sus descripciones.


|  Palabra clave  |  Description (Descripción)  | 
| --- | --- | 
|  FUNCTION  |  Obligatorio. Especifica la función de agregado que se va a utilizar y también el nombre de la métrica que se va a consultar. Los valores válidos son AVG, COUNT, MAX, MIN y SUM.  | 
|  MetricName   |  Obligatorio. Por ejemplo, CPUUtilization.  | 
|  FROM  |  Obligatorio. Especifica el origen de la métrica. Puede especificar el espacio de nombres de métricas que contiene la métrica consultada o una función de tabla de SCHEMA. Algunos ejemplos de espacios de nombres son AWS/EC2 y AWS/Lambda.  | 
|  SCHEMA  |  (Opcional) Filtra los resultados de la consulta para mostrar solo las métricas que coinciden exactamente o las que no coinciden.  | 
|  WHERE  |  (Opcional) Filtra los resultados para mostrar solo las métricas que coinciden con la expresión especificada. Por ejemplo, WHERE InstanceType \$1= 'c3.4xlarge'.  | 
|  GROUP BY  |  (Opcional) Agrupa los resultados de la consulta en varias series temporales. Por ejemplo, GROUP BY ServiceName.  | 
|  ORDER BY  |  (Opcional) Especifica el orden de las series temporales que se van a devolver. Las opciones son ASC y DESC.  | 
|  LIMIT  |  (Opcional) Limita el número de series temporales que se devuelven.  | 

A continuación se muestran algunos ejemplos: 
+ 

  ```
  SELECT AVG(CPUUtilization) FROM "AWS/EC2" 
  ```

   Hace coincidir todas las métricas `CPUUtilization` del espacio de nombres `AWS/EC2`, ignora sus dimensiones y devuelve una única serie temporal agregada. 
+ 

  ```
  SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2")
  ```

   Solo coincide con las métricas `CPUUtilization` del espacio de nombres `AWS/EC2` que no tienen ninguna dimensión definida.
+ 

  ```
  SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId)
  ```

   Solo coincide con las `CPUUtilization` métricas sobre las que se informó CloudWatch con exactamente una dimensión,`InstanceId`.
+ 

  ```
  SELECT SUM(RequestCount) FROM SCHEMA("AWS/ApplicationELB", LoadBalancer,
  AvailabilityZone)
  ```

   Solo coincide con las `RequestCount` métricas CloudWatch de las que se informó `AWS/ApplicationELB` con exactamente dos dimensiones, `LoadBalancer` y`AvailabilityZone`. 

 Los valores de etiqueta deben rodearse con comillas simples.

### Caracteres de escape
<a name="escape-characters"></a>

En una consulta, los valores de etiqueta siempre deben estar rodeados de comillas simples.   Por ejemplo, `SELECT MAX(CPUUtilization) FROM "AWS/EC2" WHERE AutoScalingGroupName = 'my-production-fleet'`. 

 Los espacios de nombres de métricas, los nombres de métricas y las claves de etiquetas que contienen caracteres que no son letras, números y guiones bajos (`_`) deben estar rodeados de comillas dobles. Por ejemplo, `SELECT MAX("My.Metric")`. Si uno de ellos contiene comillas dobles en sí (como `Bytes"Input"`), debe escapar esas comillas dobles con barras invertidas, como en `SELECT AVG("Bytes\"Input\"")`. Si un espacio de nombres de métrica, un nombre de métrica o una clave de etiqueta contienen una palabra que es una palabra clave reservada en Información de métricas, también debe rodearse de comillas dobles. Por ejemplo, si tiene una métrica denominada `LIMIT`, utilizaría `SELECT AVG("LIMIT")`. También es válido incluir cualquier espacio de nombres, nombre de métrica o etiqueta entre comillas dobles, incluso si no contiene una palabra clave reservada. 

## Modo de creador y modo de código
<a name="metrics-insights-query-modes"></a>

Puede crear una consulta en modo `Builder` o modo `Code`.

**Creación de una consulta en modo `Builder`**

1. Examine y seleccione un espacio de nombres de métricas, un nombre de métrica, un filtro, un grupo y unas opciones de orden mediante la información de la tabla anterior.

1. Para cada una de estas opciones, elija una opción de la lista de opciones posibles.

**Creación de una consulta en modo `Code`**

1. Escriba su consulta en el editor de código.

1. Para ejecutar la consulta, seleccione **Ejecutar consulta** en el editor de código.

Para crear una consulta el modo `builder`, haga lo siguiente:
+ Examine y seleccione un espacio de nombres de métricas, un nombre de métrica, un filtro, un grupo y unas opciones de orden mediante la información de la tabla anterior.
+ Para cada una de estas opciones, elija una opción de la lista de opciones posibles.

Grafana crea automáticamente una consulta SQL en función de sus selecciones.

 Para crear una consulta el modo `code`, haga lo siguiente:
+ Escriba su consulta en el editor de código.
+ Para ejecutar la consulta, seleccione **Ejecutar consulta** en el editor de código.

El editor de código tiene la característica de autocompletar integrada que ofrece sugerencias de palabras clave, agregaciones, espacios de nombres, métricas, etiquetas y valores de etiquetas. Las sugerencias se muestran al ingresar un espacio, una coma o un signo de dólar. También puede utilizar la combinación de teclado `CTRL+Space`.

El editor de código puede completar automáticamente la consulta. Sin embargo, el uso de variables de plantilla en el editor de código puede interferir con la característica de autocompletar.

## CloudWatch Ejemplos de Metrics Insights
<a name="goldeneye-examples"></a>

**nota**  
CloudWatch Metrics Insights está en versión preliminar abierta. La vista previa está abierta a todas AWS las cuentas y no es necesario que solicites acceso. Las características se pueden agregar o cambiar antes de anunciar la disponibilidad general. 

Esta sección contiene ejemplos de consultas útiles de CloudWatch Metrics Insights que puedes copiar y usar directamente o copiar y modificar en el editor de consultas. Algunos de estos ejemplos ya están disponibles en la consola; para obtener acceso a ellos, elija **Add query** (Agregar consulta) en la vista de **Metrics** (Métricas). 

### Ejemplos de EC2
<a name="goldeneye-EC2-examples"></a>

 Ver métricas de uso de CPU por instancia:

```
SELECT AVG(CPUUtilization)
FROM "AWS/EC2"
GROUP BY InstanceId
```

Ver la utilización promedio de CPU en toda la flota:

```
SELECT AVG(CPUUtilization)
FROM SCHEMA("AWS/EC2", InstanceId)
```

 Ver las 10 instancias con el uso promedio de CPU más alto: 

```
SELECT MAX(CPUUtilization)
FROM "AWS/EC2"
GROUP BY InstanceId
LIMIT 10
```

Ver las 10 instancias con el mayor uso de CPU, ordenadas por el máximo y en orden descendente:

```
SELECT AVG(CPUUtilization)
FROM "AWS/EC2"
GROUP BY InstanceId
ORDER BY MAX() DESC
LIMIT 10
```

En este caso, el CloudWatch agente recopila una CPUUtilization métrica por aplicación. Esta consulta filtra el promedio de esta métrica para un nombre de aplicación específico.

```
SELECT AVG(CPUUtilization)
FROM "AWS/CWAgent"
WHERE ApplicationName = 'eCommerce'
SELECT AVG(ConcurrentExecutions)
FROM "AWS/Lambda"
```

Ver el tiempo promedio de ejecución de las 10 principales funciones de Lambda, ordenadas por el máximo y en orden descendente:

```
SELECT AVG(Duration)
FROM "AWS/Lambda"
GROUP BY FunctionName
ORDER BY MAX() DESC
LIMIT 10
```

Ver el tiempo de ejecución de Lambda promedio, mínimo y máximo:

```
SELECT MAX(Duration)
FROM "AWS/Lambda"
```

### Ejemplos de Application Load Balancer
<a name="application-loadbalancer-examples"></a>

 Vea las métricas que tienen las dimensiones **LoadBalancer**y **AvailabilityZone**

```
SELECT SUM(RequestCount)
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
```

Ver las métricas con el número de conexiones TCP simultáneas activas:

```
SELECT AVG(ActiveConnectionCount)
FROM "AWS/ApplicationELB"
```

### Ejemplos de Amazon EBS
<a name="Amazon-elastic-block-store-examples"></a>

 Ver los 10 principales bytes de escritura promedio por volumen en orden descendente:

```
SELECT AVG(VolumeWriteBytes)
FROM "AWS/EBS"
GROUP BY VolumeId
ORDER BY MAX() DESC
LIMIT 10
```

Ver el tiempo promedio de escritura del volumen de Amazon EBS:

```
SELECT AVG(VolumeTotalWriteTime)
FROM "AWS/EBS"
```

Ver el tiempo promedio de inactividad del volumen de Amazon EBS:

```
SELECT AVG(VolumeIdleTime)
FROM "AWS/EBS"
View average burst balance per volume
SELECT AVG(BurstBalance)
FROM "AWS/EBS"
GROUP BY VolumeId
View average read bytes across Amazon EBS volumes
SELECT AVG(VolumeReadBytes)
FROM "AWS/EBS"
```

Ver el promedio de bytes de escritura en los volúmenes de Amazon EBS:

```
SELECT AVG(VolumeWriteBytes)
FROM "AWS/EBS"
```

### Ejemplos de Amazon Simple Storage Service
<a name="simple-storage-service-examples"></a>

 Ver el grupo de latencia promedio por nombre de bucket:

```
SELECT AVG(TotalRequestLatency)
FROM "AWS/S3"
GROUP BY BucketName
```

Ver el número promedio de objetos por bucket en todos los buckets de Amazon S3:

```
SELECT AVG(NumberOfObjects)
FROM "AWS/S3"
GROUP BY BucketName
```

### Ejemplos de Amazon Simple Notification Service
<a name="Amazon-simple-notificaation-service-examples"></a>

Amazon-simple-notificaation-service: ejemplos 

```
SELECT AVG(NumberOfMessagesPublished)
FROM "AWS/SNS"
```

Ver el número promedio de mensajes fallidos para cada nombre de tema:

```
SELECT AVG(NumberOfNotificationsFailed)
FROM "AWS/SNS"
GROUP BY TopicName
```

### AWS Ejemplos de uso de API
<a name="AWS-API-usage-examples"></a>

Consulta las 20 principales AWS APIs según el número de llamadas en tu cuenta 

```
SELECT COUNT(CallCount)
FROM "AWS/Usage"
WHERE "Type" = 'API'
GROUP BY "Service", "Resource"
ORDER BY SUM() DESC
LIMIT 20
```

## CloudWatch Límites de Metrics Insights
<a name="metrics-insights-limits"></a>

CloudWatch Actualmente, Metrics Insights tiene los siguientes límites: 
+ Solo puede consultar las tres horas de datos más recientes.
+ Una única consulta puede procesar un máximo de 10 000 métricas. Esto significa que, si las cláusulas `SELECT`, `FROM` y `WHERE` coinciden con más de 10 000 métricas, la consulta solo procesará las primeras 10 000 de las métricas encontradas.
+ Una única consulta puede devolver un máximo de 500 series temporales. Esto significa que, si la consulta está procesando más de 500 métricas, no se devolverán todas las métricas en los resultados de la consulta. Si usa una cláusula `ORDER BY`, se ordenan todas las métricas que se procesan y se devuelven las 500 que tienen los valores más altos o más bajos según su cláusula `ORDER BY`. Si no incluye una cláusula `ORDER BY`, no puede controlar qué 500 métricas coincidentes se devuelven. 
+ Cada operación `GetMetricData` puede tener solo una consulta, pero puede tener varios widgets en un panel y que cada uno incluya una consulta. 