Áú»¢¶Ä²©

1 Funciones Foreach

¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô general

Las funciones Foreach se utilizan en c¨¢lculos agregados para devolver un valor agregado para cada m¨¦trica seleccionada por el filtro de m¨¦tricas usado. Se devuelve una matriz de valores.

Por ejemplo, la funci¨®n avg_foreach devolver¨¢ una matriz de valores, donde cada valor es el valor hist¨®rico promedio de la m¨¦trica seleccionada, durante el intervalo de tiempo especificado.

El filtro de m¨¦trica es parte de la sintaxis utilizada por las funciones foreach. El filtro de m¨¦trica admite el uso de comodines, por lo que las m¨¦tricas necesarias se pueden seleccionar de forma bastante flexible.

Funciones soportadas

¹ó³Ü²Ô³¦¾±¨®²Ô ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô
avg_foreach Devuelve el valor promedio de cada m¨¦trica.
bucket_rate_foreach Devuelve pares (l¨ªmite superior del dep¨®sito, valor de tasa) adecuados para su uso en la funci¨®n histogram_quantile(), donde "l¨ªmite superior del dep¨®sito" es el valor del ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç clave de la m¨¦trica definida por el ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç <n¨²mero de ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç>.
count_foreach Devuelve el n¨²mero de valores para cada m¨¦trica.
exists_foreach Devuelve '1' para cada m¨¦trica habilitada.
last_foreach Devuelve el ¨²ltimo valor de cada m¨¦trica.
max_foreach Devuelve el valor m¨¢ximo para cada m¨¦trica.
min_foreach Devuelve el valor m¨ªnimo para cada m¨¦trica.
sum_foreach Devuelve la suma de los valores de cada m¨¦trica.

Sintaxis de la funci¨®n

Las funciones Foreach admiten dos ±è²¹°ù¨¢³¾±ð³Ù°ù´Çs comunes: "filtro de m¨¦tricas" (ver detalles a continuaci¨®n) y "per¨ªodo de tiempo":

foreach_function(filtro de m¨¦trica,per¨ªodo de tiempo)

Por ejemplo:

avg_foreach(/*/mysql.qps?[group="MySQL Servers"],5m)

devolver¨¢ el promedio de cinco minutos de cada elemento 'mysql.qps' en el grupo de servidores MySQL.

Tenga en cuenta que algunas funciones admiten ±è²¹°ù¨¢³¾±ð³Ù°ù´Çs adicionales.

Sintaxis de filtro de m¨¦tricas

El filtro de m¨¦tricas:

/host/key[parameters]?[conditions]

consta de cuatro partes, donde:

  • host - nombre del anfitri¨®n
  • key - clave de m¨¦trica (sin ±è²¹°ù¨¢³¾±ð³Ù°ù´Çs)
  • parameters - ±è²¹°ù¨¢³¾±ð³Ù°ù´Çs clave de la m¨¦trica
  • conditions: condiciones basadas en grupo de equipos y/o etiqueta de m¨¦trica (como expresi¨®n)

S¨®lo se permiten espacios dentro de la expresi¨®n de condiciones.

Uso de comodines

  • Se puede utilizar un comod¨ªn para reemplazar el nombre del equipo, la clave de la m¨¦trica o un ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç de clave de m¨¦trica individual.
  • Se debe especificar la clave del equipo o de la m¨¦trica sin comodines. Entonces /host/* y /*/key son filtros v¨¢lidos, pero /*/* no es v¨¢lido.
  • El comod¨ªn no se puede utilizar para una parte del nombre del equipo, clave de m¨¦trica o ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç de clave de m¨¦trica.
  • El comod¨ªn no coincide con m¨¢s de un ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç clave de m¨¦trica. Por lo tanto, se debe especificar un comod¨ªn para cada ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç en la separaci¨®n (es decir, key[abc,*,*]).

Expresi¨®n de condiciones

La expresi¨®n de condiciones admite:

  • operandos:
    • group - grupo de equipos
    • tag - etiqueta de la m¨¦trica
    • "<text>" - constante de cadena, con el car¨¢cter de escape \ para escapar de " y \
  • operadores de comparaci¨®n de cadenas que distinguen entre may¨²sculas y min¨²sculas: =, <>
  • operadores l¨®gicos: and, or, not
  • agrupaci¨®n entre par¨¦ntesis: ( )

La cita de constantes de cadena es obligatoria. Solo se admite la comparaci¨®n de cadenas completas que distingue entre may¨²sculas y min¨²sculas.

Al especificar etiquetas en el filtro (es decir, tag="tagname:value"), los dos puntos ":" se utilizan como delimitador. Todo lo que sigue se considera el valor de la etiqueta. Por lo tanto, actualmente no se admite especificar un nombre de etiqueta que contenga ":".

Ejemplos

Se puede utilizar un filtro complejo, que haga referencia a la clave de la m¨¦trica, al grupo de equipos y etiquetas, como lo ilustran los ejemplos:

Ejemplo de sintaxis ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô
/host/key[abc,*] Coincide con m¨¦tricas similares en este equipo.
/*/key Coincide con la misma m¨¦trica de cualquier equipo.
/*/key?[group="ABC" and tag="tagname:value"] Coincide con la misma m¨¦trica de cualquier equipo del grupo ABC que tenga etiquetas 'tagname:value'.
/*/key[a,*,c]?[(group="ABC" and tag="Etiqueta1") or (group="DEF" and (tag="Etiqueta2" or tag="Etiqueta3:valor" ))] Coincide con m¨¦tricas similares de cualquier equipo del grupo ABC o DEF con las etiquetas respectivas.

Todas las m¨¦tricas a los que se hace referencia deben existir y recopilar datos. S¨®lo las m¨¦tricas habilitadas en los equipos habilitados se incluyen en los c¨¢lculos.

Si se cambia la clave de la m¨¦trica de una m¨¦trica referenciada, el filtro debe actualizarse manualmente.

La especificaci¨®n de un grupo de equipos principal incluye el grupo principal y todos los equipos de los grupos de equipos anidados con sus m¨¦tricas.

Periodo de tiempo

El segundo ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç permite especificar el per¨ªodo de tiempo para la agregaci¨®n. El per¨ªodo de tiempo s¨®lo puede expresarse como tiempo, la cantidad de valores (con el prefijo #) no es compatible.

S¨ªmbolos de unidad admitidos se pueden utilizar en este ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç por conveniencia, por ejemplo '5m' (cinco minutos) en lugar de '300s' (300 segundos) o '1d' (un d¨ªa) en lugar de '86400' (86400 segundos).

El servidor ignora el per¨ªodo de tiempo si se pasa con la funci¨®n last_foreach y por lo tanto se puede omitir:

last_foreach(/*/key?[group="host group"])

El per¨ªodo de tiempo no es compatible con la funci¨®n exists_foreach.

Par¨¢metros adicionales

Un tercer ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç opcional es compatible con la funci¨®n bucket_rate_foreach:

bucket_rate_foreach(filtro de m¨¦trica,per¨ªodo de tiempo,<n¨²mero de ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç>)

donde <n¨²mero de ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç> es la posici¨®n del valor del "dep¨®sito" en la clave de la m¨¦trica. Por ejemplo, si el valor del "dep¨®sito" en myItem[aaa,0.2] es '0.2', entonces su posici¨®n es 2.

El valor predeterminado de <n¨²mero de ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç> es '1'.

Consulte c¨¢lculos agregados para obtener m¨¢s detalles y ejemplos sobre el uso de funciones foreach.

Comportamiento seg¨²n disponibilidad

La siguiente tabla ilustra c¨®mo se comporta cada funci¨®n en casos de disponibilidad limitada de equipo/m¨¦trica y datos hist¨®ricos.

¹ó³Ü²Ô³¦¾±¨®²Ô Equipo deshabilitado Equipo no disponible con datos Equipo no disponible sin datos M¨¦trica deshabilitada M¨¦trica no admitida Error de recuperaci¨®n de datos (SQL)
avg_foreach ignorar retornar promedio ignorar ignorar ignorar ignorar
bucket_rate_foreach ignorar tasa de retorno del dep¨®sito ignorar ignorar ignorar ignorar
count_foreach ignorar retornar recuento 0 ignorar ignorar ignorar
exists_foreach ignorar 1 1 ignorar 1 n/a
last_foreach ignorar retornar ¨²ltimo ignorar ignorar ignorar ignorar
max_foreach ignorar retornar max ignorar ignorar ignorar ignorar
min_foreach ignorar retornar min ignorar ignorar ignorar ignorar
sum_foreach ignorar retornar suma ignorar ignorar ignorar ignorar

Si la m¨¦trica se ignora, no se agrega nada a la agregaci¨®n.