Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

1 Cálculos agregados

Descripción general

Los cálculos agregados son un tipo de métrica calculada que permiten recopilar información de varias métricas por el servidor Zabbix y luego calcular un agregado, dependiendo de la función de agregado utilizada.

Los cálculos agregados no requieren que ningún agente se ejecute en el equipo que se está monitorizando.

Sintaxis

Para recuperar agregados, utilice una de las funciones de agregación compatibles: avg, max, min, sum, etc. Luego, agregue la función foreach como único parámetro y su filtro de métricas para seleccionar las métricas requeridas:

aggregate_function(function_foreach(/equipo/clave?[group="grupo de equipos"],periodo_de_tiempo))

Una función foreach (por ejemplo, avg_foreach, count_foreach, etc.) devuelve un valor agregado para cada métrica seleccionada. Las métricas se seleccionan utilizando el filtro de métricas (/equipo/clave?[group="grupo de equipos"]), a partir del historial de métricas. Para más detalles, consulte funciones foreach.

Si algunas de las métricas no tienen datos para el período solicitado, se ignoran en el cálculo. Si ninguna métrica tiene datos, la función devolverá un error.

Alternativamente, puede listar varias métricas como parámetros para la agregación:

aggregate_function(function(/equipo/clave,parámetro),function(/equipo2/clave2,parámetro),...)

Tenga en cuenta que function aquí debe ser una función de historial/tendencia.

Si el resultado agregado es un valor flotante, se truncará a un entero si el tipo de información de la métrica agregada es Numérico (sin signo).

Se admiten macros de usuario y macros de bajo nivel en:

  • parámetros de clave de métrica
  • parámetros de función
  • condiciones de filtro (nombre del grupo de equipos y nombre de etiqueta)
  • constantes de expresión

Un cálculo agregado puede quedar no soportado si:

  • no se encuentra ninguna de las métricas referenciadas (lo que puede ocurrir si la clave de la métrica es incorrecta, ninguna de las métricas existe o todos los grupos incluidos son incorrectos)
  • no hay datos para calcular una función

Ejemplos de uso

Ejemplos de claves para cálculos agregados.

Ejemplo 1

Espacio total en disco del grupo de equipos 'MySQL Servers'.

sum(last_foreach(/*/vfs.fs.size[/,total]?[group="MySQL Servers"]))
Ejemplo 2

Suma de los valores más recientes de todas las métricas que coinciden con net.if.in[*] en el equipo.

sum(last_foreach(/equipo/net.if.in[*]))
Ejemplo 3

Carga promedio del procesador del grupo de equipos 'MySQL Servers'.

avg(last_foreach(/*/system.cpu.load[,avg1]?[group="MySQL Servers"]))
Ejemplo 4

Promedio de 5 minutos del número de consultas por segundo para el grupo de equipos 'Servidores MySQL'.

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

Carga media de CPU en todos los equipos de varios grupos de equipos que tienen las etiquetas específicas.

avg(last_foreach(/*/system.cpu.load?[(group="Servers A" or group="Servers B" or group="Servers C") and (tag="Service:" or tag="Importance:High")]))
Ejemplo 6

Cálculo utilizado en las sumas de los valores más recientes de métricas de todo un grupo de equipos.

sum(last_foreach(/*/net.if.out[eth0,bytes]?[group="video"])) / sum(last_foreach(/*/nginx_stat.sh[active]?[group="video"]))
Ejemplo 7

El número total de métricas no soportadas en el grupo de equipos 'Zabbix servers'.

sum(last_foreach(/*/zabbix[host,,items_unsupported]?[group="Zabbix servers"]))
Ejemplos de sintaxis correcta/incorrecta

Las expresiones (incluidas las llamadas a funciones) no pueden utilizarse como parámetros de historial, tendencias o foreach de funciones. Sin embargo, esas funciones sí pueden utilizarse en otros parámetros de funciones (no históricas).

Expresión Ejemplo
Válido avg(last(/equipo/key1),last(/equipo/key2)*10,last(/equipo/key1)*100)
max(avg(avg_foreach(/*/system.cpu.load?[group="Servers A"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="Servers B"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="Servers C"],5m)))
Inválido sum(/equipo/key,10+2)
sum(/equipo/key, avg(10,2))
sum(/equipo/key,last(/equipo/key2))

Tenga en cuenta que en una expresión como:

sum(sum_foreach(//resptime[*],5m))/sum(count_foreach(//resptime[*],5m))

no se puede garantizar que ambas partes de la ecuación siempre tengan el mismo conjunto de valores. Mientras se evalúa una parte de la expresión, puede llegar un nuevo valor para el período solicitado y entonces la otra parte de la expresión tendrá un conjunto diferente de valores.