Uso de la calculadora de métricas - Amazon CloudWatch

Uso de la calculadora de métricas

Las matemáticas en las métricas le permiten consultar varias métricas de CloudWatch y usar expresiones matemáticas para crear series temporales nuevas basadas en estas métricas. Puede visualizar las series temporales resultantes en la consola de CloudWatch y agregarlas a los paneles. Puede usar las métricas de AWS Lambda como ejemplo para dividir la Errors métrica por la métrica Invocations y así obtener una tasa de error. A continuación, añada las series temporales resultantes a un gráfico del panel de CloudWatch.

También puede realizar cálculos de métricas mediante programación, con la operación de la API GetMetricData. Para obtener más información, consulte GetMetricData.

Añadir una expresión matemática a un gráfico de CloudWatch

Puede añadir una expresión matemática a un gráfico en el panel de CloudWatch. Cada gráfico está limitado a un máximo de 500 métricas y expresiones, por lo que puede agregar una expresión matemática solo si el gráfico tiene 499 métricas como máximo. Esto se aplica incluso si no todas las métricas se muestran en el gráfico.

Para añadir una expresión matemática a un gráfico
  1. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. Cree o edite un gráfico. Debe haber al menos una métrica en el gráfico.

  3. Elija la pestaña Métricas diagramadas.

  4. Elija Math expression (Expresión matemática), Start with an empty expression (Comenzar con una expresión vacía). Aparece una nueva línea para la expresión.

  5. En la nueva línea, en la columna Details (Detalles) escriba la expresión matemática. En las tablas de la sección de Sintaxis y funciones matemáticas de métricas se muestran las funciones que se pueden utilizar en la expresión.

    Para usar una métrica o el resultado de otra expresión como parte de la fórmula de esta expresión, utilice el valor que se muestra en la columna Id; por ejemplo, m1+m2 o e1-MIN(e1).

    Puede cambiar el valor de Id. Puede contener números, letras y guiones bajos y debe comenzar por una letra minúscula. El cambio del valor de Id por un nombre más descriptivo puede aumentar también la legibilidad de un gráfico; por ejemplo, cambiar m1 y m2 por errores y solicitudes.

    sugerencia

    Elija la flecha hacia abajo junto a Math Expression (expresión matemática) para ver una lista de funciones admitidas que puede utilizar al crear la expresión.

  6. En la columna Label (Etiqueta) de la expresión, escriba un nombre que describa lo que calcula la expresión.

    Si el resultado de una expresión es una matriz de series temporales, cada una de esas series temporales se muestra en el gráfico con una línea independiente, con colores distintos. Inmediatamente debajo del gráfico hay una leyenda para cada línea del mismo. Para una expresión única que produce varias series temporales, las leyendas de dichas series temporales tienen el formato Etiqueta Expression Etiqueta-Metric (Etiqueta-Expresión Etiqueta-Métrica). Por ejemplo, en caso de que el gráfico incluya una métrica con una etiqueta de Errors (Errores) y una expresión FILL(METRICS(), 0) que tenga una etiqueta de Filled With 0: (Rellenado con 0:), una línea de la leyenda sería Filled With 0: Errors (Rellenado con 0: errores). Puede dejar Etiqueta-Expression (Etiqueta-Expresión) vacío para que la leyenda solo muestre las etiquetas de métricas originales.

    Cuando una expresión produce una matriz de series temporales en el gráfico, no puede cambiar los colores utilizados para cada una de esas series temporales.

  7. Después de haber añadido las expresiones deseadas, puede simplificar el gráfico si oculta algunas de las métricas originales. Para ocultar una métrica o expresión, desactive la casilla de verificación situada a la izquierda del campo Id.

Sintaxis de matemáticas en las métricas y funciones

En las siguientes secciones se explican las funciones disponibles para el cálculo de métricas. Todas las funciones deben escribirse en letras mayúsculas (como AVG) y el campo Id de todas las métricas y expresiones matemáticas debe comenzar con una letra minúscula.

El resultado final de cualquier expresión matemática debe ser una serie temporal individual o una matriz de series temporales. Algunas funciones generan un número escalar. Puede utilizar estas funciones en una función más grande que, en última instancia, produzca una serie temporal. Por ejemplo, aplicar la función AVG a una serie temporal individual produce un número escalar, por lo que no puede ser el resultado de una expresión final. Pero, podría usarlo en la función m1-AVG(m1) para mostrar una serie temporal de la diferencia entre cada punto de datos individual y el valor promedio de esa serie temporal.

Abreviaturas de tipos de datos

Algunas funciones son válidas únicamente para determinados tipos de datos. Las abreviaturas de la siguiente lista se utilizan en las tablas de funciones para representar los tipos de datos que admite cada función:

  • S representa un número escalar, como 2, -5 o 50,25.

  • TS es una serie temporal (una serie de valores para una métrica de CloudWatch única conforme avanza el tiempo): por ejemplo, la métrica CPUUtilization de la instancia i-1234567890abcdef0 durante los últimos tres días.

  • TS[] es una matriz de series temporales, como las series temporales de varias métricas.

  • String [] es una matriz de cadenas.

Función METRICS()

La función METRICS() devuelve todas las métricas en la solicitud. Las expresiones matemáticas no se incluyen.

Puede utilizar METRICS() dentro de una expresión mayor que produce una serie temporal única o una matriz de series temporales. Por ejemplo, la expresión SUM(METRICS()) devuelve una serie temporal (TS) que es la suma de los valores de todas las métricas incluidas en el gráfico. METRICS()/100 devuelve una matriz de series temporales, cada una de las cuales es una serie temporal que muestra cada punto de datos de una de las métricas dividido por 100.

Puede utilizar la función METRICS() con una cadena para devolver solo las métricas incluidas en el gráfico que contienen esa cadena en su campo Id. Por ejemplo, la expresión SUM(METRICS(“errores”)) devuelve una serie temporal que es la suma de los valores de todas las métricas incluidas en el gráfico que tienen “errores” en su campo Id. También puede usar SUM([METRICS(“4xx”), METRICS(“5xx”)]) para establecer la coincidencia con varias cadenas.

Funciones aritméticas básicas

En la siguiente tabla se enumeran las funciones aritméticas básicas que se admiten. Los valores que faltan en una serie temporal se tratan como 0. Si el valor de un punto de datos provoca que una función intente dividir entre cero, se descarta el punto de datos.

Operación Argumentos Ejemplos

Operadores aritméticos: + - * / ^

S, S

S, TS

TS, TS

S, TS[]

TS, TS[]

PERIOD(m1)/60

5 * m1

m1 - m2

SUM(100/[m1, m2])

AVG(METRICS())

METRICS()*100

Resta unaria -

S

TS

TS[]

-5*m1

-m1

SUM(-[m1, m2])

Operadores lógicos y de comparación

Puede utilizar operadores lógicos y de comparación con un par de series temporales o un par de valores escalares únicos. Cuando se utiliza un operador de comparación con un par de series temporales, devuelve una serie temporal en la que cada punto de datos es 0 (FALSE) o 1 (TRUE). Si utiliza un operador de comparación en un par de valores escalares, se devuelve un único valor escalar, 0 o 1.

Cuando se utilizan operadores de comparación entre dos series temporales, pero solo una de ellas tiene un valor para una marca temporal determinada, la función trata el valor que falta en la otra serie temporal como si fuera 0.

Puede utilizar operadores lógicos combinados con operadores de comparación para crear funciones más complejas.

En la siguiente tabla se enumeran los operadores admitidos.

Tipo de operador Operadores admitidos

Operadores de comparación

==

!=

<=

>=

<

>

Logical operators (Operadores lógicos)

AND o &&

OR o ||

Para ver cómo se utilizan estos operadores, suponga que tiene dos series temporales: metric1 contiene los valores de [30, 20, 0, 0] y metric2 contiene los valores de [20, -, 20, -], donde - indica que no hay ningún valor para esa marca de tiempo.

Expression Salida

(metric1 < metric2)

0, 0, 1, 0

(metric1 >= 30)

1, 0, 0, 0

(metric1 > 15 Y metric2 > 15)

1, 0, 0, 0

Funciones admitidas para las métricas matemáticas

En la siguiente tabla se describen las funciones que puede usar en expresiones matemáticas. Escriba todas las funciones en letras mayúsculas.

El resultado final de cualquier expresión matemática debe ser una serie temporal individual o una matriz de series temporales. Algunas funciones en tablas en las siguientes secciones generan un número escalar. Puede utilizar estas funciones en una función más grande que, en última instancia, produzca una serie temporal. Por ejemplo, aplicar la función AVG a una serie temporal individual produce un número escalar, por lo que no puede ser el resultado de una expresión final. Pero, podría usarlo en la función m1-AVG(m1) para mostrar una serie temporal de la diferencia entre cada punto de datos individual y el valor promedio de ese punto de datos.

En la siguiente tabla, cada ejemplo de la columna Examples (Ejemplos) es una expresión que da como resultado una sola serie temporal o una matriz de series temporales. En estos ejemplos se muestra cómo se pueden utilizar las funciones que devuelven números escalares como parte de una expresión válida que genera una sola serie temporal.

Función Argumentos Tipo de retorno * Descripción Ejemplos ¿Compatible con la modalidad entre cuentas?

ABS

TS

TS[]

TS

TS[]

Devuelve el valor absoluto de cada punto de datos.

ABS(m1-m2)

MIN(ABS([m1, m2]))

ABS(METRICS())

ANOMALY_DETECTION_BAND

TS

TS, S

TS[]

Devuelve una banda de detección de anomalías para la métrica especificada. La banda se compone de dos series, una que representa el límite superior del valor previsto “normal” de la métrica y el otro que representa el límite inferior. La función puede tomar dos argumentos. El primero es el ID de la métrica para la que crear la banda. El segundo argumento es el número de desvíos estándar que desea utilizar para la conexión. Si no se especifica este argumento, se utiliza el valor predeterminado de 2. Para obtener más información, consulte Uso de la detección de anomalías de CloudWatch.

ANOMALY_DETECTION_BAND(m1)

ANOMALY_DETECTION_BAND(m1,4)

AVG

TS

TS[]

S

TS

La función AVG de una serie temporal individual devuelve un valor escalar que representa el promedio de todos los puntos de datos de la métrica. La función AVG de una matriz de series temporales devuelve una sola serie temporal. Los valores que faltan se tratan como 0.

nota

Se recomienda que no utilice esta función en alarmas de CloudWatch si quiere que la función devuelva un valor escalar. Por ejemplo, AVG(m2). Cada vez que una alarma evalúa si se debe cambiar de estado, CloudWatch intenta recuperar un número de puntos de datos más elevado que el número especificado como Evaluation Periods (Períodos de evaluación). Esta función actúa de manera diferente cuando se solicitan datos adicionales.

Para usar esta función con las alarmas, especialmente las que tienen acciones de escalado automático, le recomendamos que configure la alarma para que utilice M de N puntos de datos, donde M < N.

SUM([m1,m2])/AVG(m2)

AVG(METRICS())

CEIL

TS

TS[]

TS

TS[]

Devuelve el valor techo de cada métrica. El valor techo es el menor entero que es mayor o igual que cada valor.

CEIL(m1)

CEIL(METRICS())

SUM(CEIL(METRICS()))

DATAPOINT_COUNT

TS

TS[]

S

TS

Devuelve un recuento de los puntos de datos que han informado valores. Esto es útil para calcular promedios de métricas dispersas.

nota

Se recomienda que no utilice esta función en alarmas de CloudWatch. Cada vez que una alarma evalúa si se debe cambiar de estado, CloudWatch intenta recuperar un número de puntos de datos más elevado que el número especificado como Evaluation Periods (Períodos de evaluación). Esta función actúa de manera diferente cuando se solicitan datos adicionales.

SUM(m1) / DATAPOINT_COUNT(m1)

DATAPOINT_COUNT(METRICS())

DB_PERF_INSIGHTS

Cadena, Cadena, Cadena

Cadena, cadena, cadena[]

TS (si se proporciona una sola cadena)

TS [] (si se proporciona una matriz de cadenas)

Devuelve métricas del contador Performance Insights Counter para bases de datos como Amazon Relational Database Service y Amazon DocumentDB (con compatibilidad con MongoDB). Esta función devuelve la misma cantidad de datos que puede obtener consultando directamente las API de Performance Insights. Puede usar estas métricas en CloudWatch para graficar y crear alarmas.

importante

Al utilizar esta función, debe especificar el ID de los recursos de base de datos único de la base de datos. Es diferente del identificador de la base de datos. Para encontrar el ID de recurso de base de datos en la consola de Amazon RDS, elija la instancia de base de datos para ver los detalles. A continuación, elija la pestaña Configuration (Configuración). El ID de recurso se muestra en la sección Configuración.

DB_PERF_INSIGHTS también incluye la métrica DBLoad en intervalos de menos de un minuto.

Las métricas de Performance Insights recuperadas con esta función no se almacenan en CloudWatch. Por lo tanto, algunas características de CloudWatch, como la observabilidad entre cuentas, la detección de anomalías, los flujos de métricas, el explorador de métricas y Metric Insights, no funcionan con las métricas de Performance Insights que se recuperan con DB_PERF_INSIGHTS.

Una sola solicitud que utilice la función DB_PERF_INSIGHTS puede recuperar los siguientes números de puntos de datos.

  • 1080 puntos de datos para periodos de alta resolución (1 s, 10 s, 30 s)

  • 1440 puntos de datos para periodos de resolución estándar (1 min, 5 min, 1 h, 1 día)

La función DB_PERF_INSIGHTS solo admite las siguientes duraciones de período:

  • 1 segundo

  • 10 segundos

  • 30 segundos

  • 1 minuto

  • 5 minutos

  • 1 hora

  • 1 día

Para obtener más información sobre las métricas de contador de Información de rendimiento de Amazon RDS, consulte Métricas de contador de Información de rendimiento.

Para obtener más información sobre las métricas de contador de Información de rendimiento de Amazon DocumentDB, consulte Métricas de contador de Información de rendimiento.

nota

Las métricas de alta resolución con una granularidad inferior a un minuto recuperadas por DB_PERF_INSIGHTS solo se aplican a la métrica DBLoad, o a las métricas del sistema operativo si ha activado la monitorización mejorada con una resolución más alta. Para obtener más información sobre la monitorización mejorada de Amazon RDS, consulte Monitorización de las métricas del SO con la monitorización mejorada.

Puede crear una alarma de alta resolución mediante la función DB_PERF_INSIGHTS durante un intervalo de tiempo máximo de tres horas. Puede utilizar la consola de CloudWatch para representar gráficamente las métricas recuperadas con la función DB_PERF_INSIGHTS para cualquier intervalo de tiempo.

DB_PERF_INSIGHTS(‘RDS’, ‘db-ABCDEFGHIJKLMNOPQRSTUVWXY1’, ‘os.cpuUtilization.user.avg’)

DB_PERF_INSIGHTS(‘DOCDB, ‘db-ABCDEFGHIJKLMNOPQRSTUVWXY1’, [‘os.cpuUtilization.idle.avg’, ‘os.cpuUtilization.user.max’])

DIFF

TS

TS[]

TS

TS[]

Devuelve la diferencia entre cada valor en la serie temporal y el valor anterior de esa serie temporal.

DIFF(m1)

DIFF_TIME

TS

TS[]

TS

TS[]

Devuelve la diferencia en segundos entre la marca temporal de cada valor de la serie temporal y la marca temporal del valor anterior de esa serie temporal.

DIFF_TIME(METRICS())

FILL

TS, [S | REPEAT | LINEAR]

TS[], [TS | S | REPEAT | LINEAR]

TS

TS[]

Rellena los valores que faltan de una serie temporal. Hay varias opciones para que los valores se utilicen como relleno de los valores que faltan:

  • Puede especificar un valor para usar como valor de relleno.

  • Puede especificar una métrica para utilizarla como valor de relleno.

  • Puede utilizar REPEAT (Repetir) para rellenar los valores que faltan con el valor real más reciente de la métrica antes del valor que falta.

  • Puede utilizar LINEAL (Lineal) para rellenar los valores faltantes con valores que crean una interpolación lineal entre los valores al principio y al final de la brecha.

nota

Cuando utiliza esta función en una alarma, se puede encontrar con un problema si sus métricas se publican con un ligero retraso y el minuto más reciente nunca tiene datos. En este caso, FILL (Rellenar) reemplaza ese punto de datos faltante con el valor solicitado. Esto hace que el último punto de datos de la métrica sea siempre el valor de relleno, lo que puede provocar que la alarma se atasque en el estado OK o ALARM (ALARMA). Puede evitarlo si utiliza una alarma M de N. Para obtener más información, consulte Evaluación de una alarma.

FILL(m1,10)

FILL(METRICS(), 0)

FILL(METRICS(), m1)

FILL(m1, MIN(m1))

FILL(m1, REPEAT)

FILL(METRICS(), LINEAR)

FIRST

LAST

TS[]

TS

Devuelve la primera o la última serie temporal de una matriz de series temporales. Esto resulta útil cuando se utiliza con la función SORT. También se puede utilizar para obtener los umbrales superiores e inferiores de la función ANOMALY_DETECTION_BAND.

IF(FIRST(SORT(METRICS(), AVG, DESC))>100, 1, 0) Toma la métrica superior de una matriz, ordenada según AVG. A continuación, devuelve 1 o 0 para cada punto de datos, según si el valor de ese punto de datos es mayor que 100.

LAST(ANOMALY_DETECTION_BAND(m1)) devuelve el límite superior de la banda de predicción de anomalías.

FLOOR

TS

TS[]

TS

TS[]

Devuelve el valor de suelo de cada métrica. El valor de suelo es el mayor entero que es menor o igual que cada valor.

FLOOR(m1)

FLOOR(METRICS())

IF

Expresión IF

TS

Utilice IF junto con un operador de comparación para filtrar los puntos de datos de una serie temporal o crear una serie temporal mixta compuesta por varias series de temporales intercaladas. Para obtener más información, consulte Uso de expresiones IF.

Para ver ejemplos, consulte Uso de expresiones IF.

INSIGHT_RULE_METRIC

INSIGHT_RULE_METRIC(ruleName, metricName)

TS

Utilice INSIGHT_RULE_METRIC para extraer estadísticas de una regla en Contributor Insights. Para obtener más información, consulte Representación gráfica de métricas generadas por reglas.

LAMBDA

LAMBDA(LambdaFunctionName [, optional-arg]*)

TS

TS{}

Llama a una función de Lambda para consultar las métricas de un origen de datos que no es CloudWatch. Para obtener más información, consulte Cómo pasar argumentos a la función de Lambda.

LOG

TS

TS[]

TS

TS[]

El LOG (Registro) de una serie temporal devuelve el valor del logaritmo natural de cada valor de la serie temporal.

LOG(METRICS())

LOG10

TS

TS[]

TS

TS[]

El LOG10 de una serie temporal devuelve el valor del logaritmo base-10 de cada valor de la serie temporal.

LOG10(m1)

MAX

TS

TS[]

S

TS

La función MAX de una serie temporal individual devuelve un valor escalar que representa el valor máximo de todos los puntos de datos de la métrica. El valor MAX de una matriz de series temporales devuelve una sola serie temporal.

nota

Se recomienda que no utilice esta función en alarmas de CloudWatch si quiere que la función devuelva un valor escalar. Por ejemplo, MAX(m2) cada vez que una alarma evalúa si se debe cambiar de estado, CloudWatch intenta recuperar un número de puntos de datos más elevado que el número especificado como Períodos de evaluación. Esta función actúa de manera diferente cuando se solicitan datos adicionales.

MAX(m1)/m1

MAX(METRICS())

METRIC_COUNT

TS[]

S

Devuelve el número de métricas en la matriz de series temporales.

m1/METRIC_COUNT(METRICS())

METRICS

null

cadena

TS[]

La función METRICS() devuelve todas las métricas de CloudWatch de la solicitud. Las expresiones matemáticas no se incluyen.

Puede utilizar METRICS() dentro de una expresión mayor que produce una serie temporal única o una matriz de series temporales.

Puede utilizar la función METRICS() con una cadena para devolver solo las métricas incluidas en el gráfico que contienen esa cadena en su campo Id. Por ejemplo, la expresión SUM(METRICS(“errores”)) devuelve una serie temporal que es la suma de los valores de todas las métricas incluidas en el gráfico que tienen “errores” en su campo Id. También puede usar SUM([METRICS(“4xx”), METRICS(“5xx”)]) para establecer la coincidencia con varias cadenas.

AVG(METRICS())

SUM(METRICS(“errors”))

MIN

TS

TS[]

S

TS

La función MIN de una serie temporal individual devuelve un valor escalar que representa el valor mínimo de todos los puntos de datos de la métrica. La función MIN de una matriz de series temporales devuelve una sola serie temporal.

nota

Se recomienda que no utilice esta función en alarmas de CloudWatch si quiere que la función devuelva un valor escalar. Por ejemplo, MIN(m2) cada vez que una alarma evalúa si se debe cambiar de estado, CloudWatch intenta recuperar un número de puntos de datos más elevado que el número especificado como Períodos de evaluación. Esta función actúa de manera diferente cuando se solicitan datos adicionales.

m1-MIN(m1)

MIN(METRICS())

MINUTE

HOUR

DAY

DATE

MONTH

YEAR

EPOCH

TS

TS

Estas funciones toman el período y el rango de la serie temporal y devuelven una nueva serie temporal no dispersa donde cada valor se basa en su marca de tiempo.

  • MINUTE (Minuto) devuelve una serie temporal no dispersa de enteros entre 0 y 59 que representan el minuto UTC de cada marca de tiempo de la serie temporal original.

  • HOUR (Hora) devuelve una serie temporal no dispersa de enteros entre 0 y 23 que representan la hora UTC de cada marca de tiempo de la serie temporal original.

  • DAY (Día) devuelve una serie temporal no dispersa de enteros entre 1 y 7 que representan el día UTC de la semana de cada marca de tiempo en la serie temporal original. 1 representa lunes y 7 representa domingo.

  • DATE (Fecha) devuelve una serie temporal no dispersa de enteros entre 1 y 31 que representan el día UTC del mes de cada marca de tiempo de la serie temporal original.

  • MONTH (Mes) devuelve una serie temporal no dispersa de enteros entre 1 y 12 que representan el mes UTC de cada marca de tiempo de la serie temporal original. 1 representa enero y 12 representa diciembre.

  • YEAR (Año) devuelve una serie temporal no dispersa de enteros que representan el año UTC de cada marca de tiempo de la serie temporal original.

  • EPOCH (Fecha de inicio) devuelve una serie temporal no dispersa de enteros que representan el tiempo UTC en segundos desde la fecha de inicio de cada marca de tiempo en la serie temporal original. La fecha de inicio es el 1 de enero de 1970.

MINUTE(m1)

IF(DAY(m1)<6,m1) devuelve las métricas solo de lunes a viernes.

IF(MONTH(m1) == 4,m1) devuelve sólo las métricas publicadas en abril.

PERIOD

TS

S

Devuelve el periodo de la métrica en segundos. La entrada válida son las métricas, no los resultados de otras expresiones.

m1/PERIOD(m1)

RATE

TS

TS[]

TS

TS[]

Devuelve la velocidad de cambio de la métrica, por segundo. Se calcula como la diferencia entre el valor de punto de datos más reciente y el valor de punto de datos anterior, dividido por la diferencia de tiempo en segundos entre los dos valores.

importante

La configuración de alarmas en expresiones que utilizan la función RATE en métricas con datos escasos puede comportarse de forma impredecible, ya que el rango de puntos de datos obtenidos al evaluar la alarma puede variar en función de cuándo se publicaron los puntos de datos por última vez.

RATE(m1)

RATE(METRICS())

REMOVE_EMPTY

TS[]

TS[]

Elimina todas las series temporales que no contienen puntos de datos de una matriz de series temporales. El resultado es una matriz de series temporales en la que todas las series temporales contienen al menos un punto de datos.

nota

Se recomienda que no utilice esta función en alarmas de CloudWatch. Cada vez que una alarma evalúa si se debe cambiar de estado, CloudWatch intenta recuperar un número de puntos de datos más elevado que el número especificado como Evaluation Periods (Períodos de evaluación). Esta función actúa de manera diferente cuando se solicitan datos adicionales.

REMOVE_EMPTY(METRICS())

RUNNING_SUM

TS

TS[]

TS

TS[]

Devuelve una serie temporal con la suma continua de los valores de la serie temporal original.

nota

Se recomienda que no utilice esta función en alarmas de CloudWatch. Cada vez que una alarma evalúa si se debe cambiar de estado, CloudWatch intenta recuperar un número de puntos de datos más elevado que el número especificado como Evaluation Periods (Períodos de evaluación). Esta función actúa de manera diferente cuando se solicitan datos adicionales.

RUNNING_SUM([m1,m2])

SEARCH

Expresión de búsqueda

Una o varias series temporales

Devuelve una o varias series temporales que coinciden con una serie temporal que especifique. La función SEARCH le permite añadir varias series temporales relacionadas a un gráfico con una sola expresión. El gráfico se actualiza dinámicamente para incluir nuevas métricas que se añadan más tarde y coincidan con los criterios de búsqueda. Para obtener más información, consulte Usar expresiones de búsqueda en gráficos.

No es posible crear una alarma con una expresión SEARCH (de búsqueda). Esto se debe a que las expresiones de búsqueda devuelven varias series temporales, y una alarma basada en una expresión matemática sólo puede ver una serie temporal.

Si inició sesión en una cuenta de monitoreo para la observabilidad entre cuentas de CloudWatch, la función SEARCH (BUSCAR) busca métricas en las cuentas de origen y en la cuenta de monitoreo.

SERVICE_QUOTA

TS que es una métrica de uso

TS

Devuelve la cuota de servicio de la métrica de uso especificada. Puede usarla para visualizar cómo se compara su uso actual con la cuota, así como para programar alarmas que le avisen al acercarse a la cuota. Para obtener más información, consulte Métricas de uso de AWS.

SLICE

(TS[], S, S) o (TS[], S)

TS[]

TS

Recupera parte de una matriz de series temporales. Resulta especialmente útil cuando se combina con SORT. Por ejemplo, puede excluir el resultado superior de una matriz de series temporales.

Puede utilizar dos argumentos escalares para definir el conjunto de series temporales que desea devolver. Los dos escalares definen el inicio (incluido) y el final (excluido) de la matriz que se va a devolver. La matriz está indexada a cero, por lo que la primera serie temporal de la matriz es la serie temporal 0. Si el usuario lo prefiere, puede especificar un solo valor y CloudWatch devolverá todas las series temporales que comiencen por ese valor.

SLICE(SORT(METRICS(), SUM, DESC), 0, 10) devuelve las 10 métricas de la matriz de métricas de la solicitud que tengan el valor de SUM más alto.

SLICE(SORT(METRICS(), AVG, ASC), 5) ordena la matriz de métricas según la estadística AVG; a continuación, devuelve todas las series temporales excepto las 5 con el valor de AVG más bajo.

SORT

(TS[], FUNCTION, SORT_ORDER)

(TS[], FUNCTION, SORT_ORDER, S)

TS[]

Ordena una matriz de series temporales según la función que especifique. La función utilizada puede ser AVG, MIN, MAX o SUM. El orden puede ser ASC si es ascendente (los valores más bajos primero) o DESC para ordenar los valores más altos al principio. Opcionalmente, puede especificar un número después del criterio de ordenación para que actúe como límite. Por ejemplo, si especifica un límite de 5, se devolverán solo las 5 primeras series temporales de la ordenación.

Cuando esta función matemática se muestra en un gráfico, las etiquetas de cada métrica del gráfico también se ordenan y numeran.

SORT(METRICS(), AVG, DESC, 10) calcula el valor medio de cada serie temporal, ordena las series temporales con los valores más altos al principio de la ordenación y devuelve solo las 10 series temporales con los promedios más altos.

SORT(METRICS(), MAX, ASC) ordena la matriz de métricas según la estadística MAX; a continuación, las devuelve todas en orden ascendente.

STDDEV

TS

TS[]

S

TS

La función STDDEV de una serie temporal individual devuelve un valor escalar que representa el desvío estándar de todos los puntos de datos de la métrica. La función STDDEV de una matriz de series temporales devuelve una sola serie temporal.

nota

Se recomienda que no utilice esta función en alarmas de CloudWatch si quiere que la función devuelva un valor escalar. Por ejemplo, STDDEV(m2) cada vez que una alarma evalúa si se debe cambiar de estado, CloudWatch intenta recuperar un número de puntos de datos más elevado que el número especificado como Períodos de evaluación. Esta función actúa de manera diferente cuando se solicitan datos adicionales.

m1/STDDEV(m1)

STDDEV(METRICS())

SUM

TS

TS[]

S

TS

La función SUM de una serie temporal individual devuelve un valor escalar que representa la suma de los valores de todos los puntos de datos de la métrica. La función SUM de una matriz de series temporales devuelve una sola serie temporal.

nota

Se recomienda que no utilice esta función en alarmas de CloudWatch si quiere que la función devuelva un valor escalar. Por ejemplo, SUM(m1). Cada vez que una alarma evalúa si se debe cambiar de estado, CloudWatch intenta recuperar un número de puntos de datos más elevado que el número especificado como Evaluation Periods (Períodos de evaluación). Esta función actúa de manera diferente cuando se solicitan datos adicionales.

SUM(METRICS())/SUM(m1)

SUM([m1,m2])

SUM(METRICS(“errores”))/SUM(METRICS(“solicitudes”))*100

TIME_SERIES

S

TS

Devuelve una serie temporal no dispersa en donde cada valor se establece en un argumento escalar.

TIME_SERIES(MAX(m1))

TIME_SERIES(5*AVG(m1))

TIME_SERIES(10)

*No es válido usar una función que solo devuelva un número escalar, ya que el resultado final de las expresiones debe ser una sola serie temporal o una matriz de series temporales. En su lugar, utilice estas funciones como parte de una expresión más grande que devuelva una serie temporal.

Uso de expresiones IF

Utilice IF junto con un operador de comparación para filtrar los puntos de datos de una serie temporal o crear una serie temporal mixta compuesta por varias series de temporales intercaladas.

IF adopta los siguientes argumentos:

IF(condition, trueValue, falseValue)

La condición se evalúa como FALSE si el valor del punto de datos de la condición es 0 y como TRUE si el valor de la condición es cualquier otro valor, ya sea positivo o negativo. Si la condición es una serie temporal, se evalúa por separado para cada marca temporal.

A continuación se enumeran las sintaxis válidas. Para cada una de estas sintaxis, la salida es una sola serie temporal.

  • IF(TS operador de comparación S, S | TS, S | TS)

    nota

    Si el TS comparison operator S es TRUE, pero metric2 no tiene un punto de datos correspondiente, la salida será 0.

  • IF(TS, TS, TS)

  • IF(TS, S, TS)

  • IF(TS, TS, S)

  • IF(TS, S, S)

  • IF(S, TS, TS)

En las siguientes secciones se proporcionan más detalles y ejemplos de estas sintaxis.

IF(TS operación de comparación S, scalar2 | metric2, scalar3 | metric3)

El valor correspondiente de la serie temporal de salida:

  • tiene el valor de scalar2 o metric2 si el TS Comparison Operator (Operador de comparación TS) S es VERDADERO.

  • tiene el valor de scalar3 o metric3, si TS Comparison Operator (Operador de comparación TS), S es FALSO.

  • tiene el valor de 0 si el operador de comparación TS es TRUE y el punto de datos correspondiente en metric2 no existe.

  • tiene el valor de 0 si el operador de comparación TS es FALSE y el punto de datos correspondiente en metric3 no existe.

  • es una serie temporal vacía si el punto de datos correspondiente no existe en metric3 o si scalar3/metric3 se omite de la expresión.

IF(metric1, metric2, metric3)

Para cada punto de datos de metric1, el valor de la serie temporal de salida correspondiente:

  • tiene el valor de metric2 si el punto de datos correspondiente de metric1 es TRUE;

  • tiene el valor de metric3 si el punto de datos correspondiente de metric1 es FALSE;

  • tiene el valor de 0 si el punto de datos correspondiente de metric1 es TRUE y el punto de datos correspondiente no existe en metric2.

  • se elimina si el punto de datos correspondiente de metric1 es FALSE y el punto de datos correspondiente no existe en metric3

  • se elimina si el punto de datos correspondiente de metric1 es FALSE y metric3 se omite de la expresión.

  • se elimina si no existe el punto de datos correspondiente de metric1.

En la tabla siguiente se muestra un ejemplo de esta sintaxis.

Métrica o función Valores

(metric1)

[1, 1, 0, 0, -]

(metric2)

[30, -, 0, 0, 30]

(metric3)

[0, 0, 20, -, 20]

IF(metric1, metric2, metric3)

[30, 0, 20, 0, -]

IF(metric1, scalar2, metric3)

Para cada punto de datos de metric1, el valor de la serie temporal de salida correspondiente:

  • tiene el valor de scalar2 si el punto de datos correspondiente de metric1 es TRUE;

  • tiene el valor de metric3 si el punto de datos correspondiente de metric1 es FALSE;

  • se elimina si el punto de datos correspondiente de metric1 es FALSE y el punto de datos correspondiente no existe en metric3 o si metric3 se omite en la expresión.

Métrica o función Valores

(metric1)

[1, 1, 0, 0, -]

scalar2

5

(metric3)

[0, 0, 20, -, 20]

IF(metric1, scalar2, metric3)

[5, 5, 20, -, -]

IF(metric1, metric2, scalar3)

Para cada punto de datos de metric1, el valor de la serie temporal de salida correspondiente:

  • tiene el valor de metric2 si el punto de datos correspondiente de metric1 es TRUE;

  • tiene el valor de scalar3 si el punto de datos correspondiente de metric1 es FALSE;

  • tiene el valor de 0 si el punto de datos correspondiente de metric1 es TRUE y el punto de datos correspondiente no existe en metric2.

  • se elimina si no existe el punto de datos correspondiente en metric1.

Métrica o función Valores

(metric1)

[1, 1, 0, 0, -]

(metric2)

[30, -, 0, 0, 30]

scalar3

5

IF(metric1, metric2, scalar3)

[30, 0, 5, 5, -]

IF(scalar1, metric2, metric3)

El valor correspondiente de la serie temporal de salida:

  • tiene el valor de metric2 si scalar1 es TRUE;

  • tiene el valor de metric3 si scalar1 es FALSE;

  • es una serie temporal vacía si se omite metric3 de la expresión.

Ejemplos de casos de uso para expresiones condicionales

Los siguientes ejemplos ilustran los posibles usos de la función IF .

  • Para mostrar solo los valores bajos de una métrica:

    IF(metric1<400, metric1)

  • Para cambiar cada punto de datos de una métrica a uno de dos valores, con el fin de mostrar los máximos y mínimos relativos de la métrica original:

    SI (metric1 < 400, 10, 2)

  • Para mostrar un 1 para cada marca temporal cuya latencia supere el umbral y mostrar un 0 para todos los demás puntos de datos:

    IF(latency>threshold, 1, 0)

Usar matemáticas de métricas con la operación de la API GetMetricData

Puede utilizar GetMetricData para realizar cálculos mediante expresiones matemáticas, así como para recuperar lotes grandes de datos de métricas en una sola llamada a la API. Para obtener más información, consulte GetMetricData.

Detección de anomalías en matemáticas de métricas

La detección de anomalías en matemáticas de métricas es una característica que se puede utilizar para crear alarmas de detección de anomalías en métricas individuales y en los resultados de expresiones matemáticas métricas. Puede utilizar estas expresiones para crear gráficos en los que se visualicen bandas de detección de anomalías. La característica admite funciones aritméticas básicas, operadores lógicos y de comparación y la mayoría de las demás funciones.

La detección de anomalías en matemáticas de métricas no admite las siguientes funciones:

  • Expresiones que contienen más de una ANOMALY_DETECTION_BAND en el mismo renglón.

  • Expresiones que contienen más de 10 métricas o expresiones matemáticas.

  • Expresiones que contienen la expresión METRICS.

  • Expresiones que contienen la función SEARCH.

  • Expresiones que utilizan la función DP_PERF_INSIGHTS.

  • Expresiones que utilizan métricas con diferentes periodos.

  • Detectores de anomalías de matemáticas de métricas que utilizan métricas de alta resolución como entrada.

Para obtener más información acerca de esta característica, consulte Uso de la detección de anomalías de CloudWatch en la Guía del usuario de Amazon CloudWatch.