Uso de la opción de consulta de métricas para consultar datos de Información de métricas de CloudWatch - Amazon Managed Grafana

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 Información de métricas de CloudWatch

nota

Información de métricas de Amazon CloudWatch se encuentra en versión preliminar. Las características de Información de métricas de CloudWatch están abiertas a todas las Cuentas de AWS. Las características pueden estar sujetas a cambios.

Puede consultar los datos de Información de métricas de CloudWatch seleccionando el modo metric query en el editor de consultas de métricas.

Información de métricas de CloudWatch es un potente motor de consultas SQL de alto rendimiento que puede utilizar para consultar sus métricas a escala. Es un motor de consultas rápido y flexible basado en SQL que puede utilizar para identificar tendencias y patrones dentro de todas sus métricas de CloudWatch 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.

Sintaxis y palabras clave de las consultas

Información de métricas de CloudWatch 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 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 != '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 métricas CPUUtilization que se informaron a CloudWatch con exactamente una dimensión (InstanceId).

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

    Solo coincide con las métricas RequestCount que se informaron a CloudWatch desde AWS/ApplicationELB con exactamente dos dimensiones (LoadBalancer y AvailabilityZone).

Los valores de etiqueta deben rodearse con comillas simples.

Caracteres de escape

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 Metrics Insights, 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

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.

  2. 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.

  2. 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.

Ejemplos de Información de métricas de CloudWatch

nota

La vista previa de CloudWatch Metrics Insights se encuentra abierta. La vista previa está abierta para todas las cuentas de AWS y no es necesario solicitar acceso. Las características se pueden agregar o cambiar antes de anunciar la disponibilidad general.

Esta sección contiene ejemplos de consultas útiles de Información de métricas de CloudWatch que puede copiar y utilizar 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

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 agente de CloudWatch está recopilando una métrica CPUUtilization 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

Ver 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

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

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

Ejemplos de Amazon Simple Notification Service

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

Ejemplos de uso de la API de AWS

Ver las 20 API principales de AWS según la cantidad de llamadas de su cuenta:

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

Límites de Información de métricas de CloudWatch

En la actualidad, Información de métricas de CloudWatch 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.