View a markdown version of this page

Consulta de métricas con PromQL - Amazon CloudWatch

Consulta de métricas con PromQL

nota

La recopilación de métricas de OTLP, las consultas PromQL, el enriquecimiento de Open Telemetry de las métricas suministradas por AWS y Query Studio se encuentran en una versión preliminar pública, son gratuitas y están sujetas a cambios.

¿Qué es el lenguaje de consultas Prometheus (PromQL)?

El lenguaje de consultas Prometheus (PromQL) es un lenguaje de consulta funcional que permite seleccionar, agregar y transformar datos de series temporales en tiempo real. PromQL se diseñó originalmente para Prometheus y se ha convertido en un popular lenguaje de consulta de métricas.

Amazon CloudWatch es compatible con PromQL para consultar métricas, incluidas las métricas ingeridas mediante OpenTelemetry Line Protocol (OTLP) y las métricas suministradas por AWS enriquecidas. Cuando incorpora métricas de OTLP, CloudWatch preserva la estructura semántica completa de su telemetría, incluidos los atributos de recursos, el ámbito de instrumentación, los atributos de puntos de datos y los metadatos específicos de AWS, y los expone como etiquetas de PromQL consultables.

Con PromQL, puede hacer lo siguiente:

  • Seleccionar series temporales por nombre de métrica y comparador de etiquetas.

  • Aplicar funciones y operadores matemáticos a series temporales.

  • Agregar métricas en todas las dimensiones, como el servicio, la región o la cuenta.

  • Calcular las tasas, los histogramas, los cuantiles y las medias móviles.

Puede utilizar consultas PromQL de forma interactiva en Puesta en marcha de consultas PromQL en Query Studio (versión preliminar) y también para crear CloudWatch Alarms. Para obtener más información, consulte Consultas PromQL y Uso de PromQL en las alarmas.

nota

CloudWatch utiliza PromQL según la especificación Prometheus 3.0. Esto incluye la compatibilidad con nombres de métricas y etiquetas en UTF-8.

Los siguientes conceptos son fundamentales para trabajar con PromQL en CloudWatch.

Concepto Descripción

Serie temporal

Un flujo de valores con fecha y hora identificados por un nombre de métrica y un conjunto de pares clave-valor denominados etiquetas. Cada combinación única de nombre y etiquetas de la métrica forma una serie temporal distinta.

Vector instantáneo

Conjunto de series temporales que contiene una sola muestra para cada serie, y todas comparten la misma marca de tiempo. Las consultas lo devuelven de esta forma: {"http.server.active_requests", "@resource.service.name"="myservice"}.

Vector de rango

Conjunto de series temporales que contiene un rango de puntos de datos a lo largo del tiempo para cada serie. Se crea agregando un selector de duración entre paréntesis, por ejemplo, avg_over_time({"http.server.active_requests", "@resource.service.name"="myservice"}[5m]).

Etiqueta

Un par clave-valor que se adjunta a series temporales. En las métricas incorporadas mediante OTLP, las etiquetas se derivan de los atributos de recursos, el ámbito de instrumentación, los atributos de puntos de datos y los metadatos específicos de AWS.

Comparador de etiquetas

Expresión entre corchetes que filtra las series temporales por el valor de la etiqueta. Admite coincidencia exacta (=), distinto de (!=), coincidencia de expresión regular (=~) y coincidencia de expresión regular negativa (!~).

Operador de agregación

Función que combina múltiples series temporales en un número menor de series. Los operadores más comunes incluyen sum, avg, min, max, count y topk.

Límites y restricciones de PromQL

En la siguiente tabla se indican los límites y restricciones de PromQL:

Límite Valor Información adicional Código de error

Máximo de TPS para solicitudes de consulta por cuenta

300

Número máximo de solicitudes de consulta (/query, /query_range) por segundo permitidas por cuenta.

422

Máximo de TPS para solicitudes de detección por cuenta

10

Número máximo de solicitudes de detección (/series, /label, /label_values) por segundo permitidas por cuenta.

422

Máximo de solicitudes de consulta simultáneas por cuenta

30

Número máximo de consultas (/query, /query_range) que una cuenta puede tener en marcha de forma activa al mismo tiempo.

429

Máximo de solicitudes de detección simultáneas por cuenta

30

Número máximo de solicitudes de detección (/series, /labels, /label_values) que una cuenta puede tener en marcha de forma activa al mismo tiempo.

429

Máximo de series devueltas por solicitud de consulta

500

Número máximo de series temporales únicas que puede devolver una solicitud de consulta (/query, /query_range).

200: respuesta truncada

Máximo de etiquetas devueltas por solicitud de detección

10 000

Número máximo de etiquetas únicas que puede devolver una solicitud de detección (/series, /labels, /label_values).

200: respuesta truncada

Rango máximo por solicitud

7 días

Rango de tiempo máximo que puede abarcar una consulta, incluidos los parámetros de intervalo y los periodos de búsqueda retroactiva.

422

Máximo de series analizadas por periodo de 24 h

100 000

Número máximo de series temporales únicas que se pueden analizar por periodo de 24 horas de puesta en marcha de consultas.

422

Máximo de muestras analizadas por periodo de 24 h

300 000 000

Número máximo de muestras que se pueden analizar por periodo de 24 horas de puesta en marcha de consultas.

422

Máximo de muestras procesadas por periodo de 24 h

3 000 000 000

Número máximo de muestras que se pueden procesar por periodo de 24 horas de puesta en marcha de consultas

422

Execution timeout (Tiempo de espera hasta ejecución)

20 segundos

Tiempo máximo que el motor puede dedicar a evaluar una consulta, sin incluir el tiempo en cola ni el tiempo de recuperación de datos del almacenamiento.

422

Regiones de AWS compatibles

En la siguiente tabla se indican las regiones de AWS que ofrecen la ingesta de métricas mediante OTLP, las consultas PromQL y Query Studio.

Nombre de región Código de región Ingesta de métricas mediante OTLP Consulta PromQL Query Studio

Este de EE. UU. (Norte de Virginia)

us-east-1

Oeste de EE. UU. (Oregón)

us-west-2

Europa (Irlanda)

eu-west-1

Asia-Pacífico (Singapur)

ap-southeast-1

Asia-Pacífico (Sídney)

ap-southeast-2

Permisos de IAM para PromQL

Para hacer consultas PromQL, necesita los permisos cloudwatch:GetMetricData y cloudwatch:ListMetrics. La siguiente tabla indica las nuevas operaciones de API de PromQL y las acciones de IAM requeridas:

Operación de la API Acciones obligatorias

ExecuteMetricQueryPost

cloudwatch:GetMetricData, cloudwatch:ListMetrics

ExecuteMetricQueryGet

cloudwatch:GetMetricData, cloudwatch:ListMetrics

ExecuteMetricRangeQuery

cloudwatch:GetMetricData, cloudwatch:ListMetrics

ExecuteMetricRangeQueryGet

cloudwatch:GetMetricData, cloudwatch:ListMetrics

ExecuteMetricSeriesPost

cloudwatch:ListMetrics

ExecuteMetricSeriesGet

cloudwatch:ListMetrics

ExecuteMetricLabelsPost

cloudwatch:ListMetrics

ExecuteMetricLabelsGet

cloudwatch:ListMetrics

ExecuteMetricLabelValuesGet

cloudwatch:ListMetrics