Los cálculos agregados son un tipo de métrica calculada que permite recopilar información de varias métricas por el servidor Zabbix y luego calcular un agregado, dependiendo de la función agregada utilizada.
Los cálculos agregados no requieren que ningún agente se ejecute en el equipo que está siendo monitoreado.
Para recuperar agregados, utilice una de las funciones de agregación soportadas: avg, max, min, sum, etc. A continuación, añada la función foreach como único parámetro y su filtro de item para seleccionar los items requeridos:
Una función foreach (por ejemplo, avg_foreach, count_foreach, etc.) devuelve un valor agregado para cada item seleccionado. Los items se seleccionan utilizando el filtro de item (/host/key?[group="host group"]), a partir del historial del item. Para más detalles, consulte funciones foreach.
Si algunos de los items no tienen datos para el periodo solicitado, se ignoran en el cálculo. Si ningún item tiene datos, la función devolverá un error.
Alternativamente, puede listar varios items como parámetros para la agregación:
Tenga en cuenta que function aquí debe ser una función de historial/tendencia.
Si el agregado resulta en un valor flotante, se recortará a un entero si el tipo de información del item agregado es Numérico (sin signo).
Las macros de usuario y las macros de bajo nivel son soportadas en:
Un cálculo agregado puede quedar no soportado si:
Ejemplos de claves para cálculos agregados.
Espacio total en disco del grupo de hosts 'MySQL Servers'.
Suma de los últimos valores de todos los items que coinciden con net.if.in[*] en el host.
Carga promedio del procesador del grupo de hosts 'MySQL Servers'.
Promedio de 5 minutos del número de consultas por segundo para el grupo de hosts 'MySQL Servers'.
Carga promedio de CPU en todos los hosts de varios grupos de hosts 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")]))Cálculo utilizado en las sumas de los valores más recientes de los items de todo un grupo de hosts.
sum(last_foreach(/*/net.if.out[eth0,bytes]?[group="video"])) / sum(last_foreach(/*/nginx_stat.sh[active]?[group="video"])) El número total de items no soportados en el grupo de hosts 'Zabbix servers'.
Suma de los últimos resultados numéricos de las comprobaciones DNS en todos los hosts. La forma del item que se muestra es net.dns[192.0.2.0,example.com,A] como ejemplo de una posible clave.
Tenga en cuenta que los comodines deben coincidir con el número de parámetros en la clave (aquí net.dns tiene tres parámetros: ip, nombre, tipo).
Las expresiones (incluidas las llamadas a funciones) no pueden utilizarse como parámetros de historial, tendencia o foreach de las funciones. Sin embargo, esas funciones pueden utilizarse en otros parámetros de función (no históricos).
| Expresión | Ejemplo |
|---|---|
| Válido | avg(last(/host/key1),last(/host/key2)*10,last(/host/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))) |
| No válido | sum(/host/key,10+2)sum(/host/key, avg(10,2))sum(/host/key,last(/host/key2)) |
Tenga en cuenta que en una expresión como:
no se puede garantizar que ambas partes de la ecuación tengan siempre el mismo conjunto de valores. Mientras se evalúa una parte de la expresión, puede llegar un nuevo valor para el periodo solicitado y entonces la otra parte de la expresión tendrá un conjunto de valores diferente.