7 Métricas calculadas

Visión general

Con elementos calculados es posible crear cálculos basados en el valores de otros artículos.

Los cálculos pueden usar ambos:

  • valores únicos de artículos individuales
  • filtros complejos para seleccionar múltiples artículos para agregaciones (ver agregar cálculos para detalles)

Por lo tanto, los elementos calculados son una forma de crear fuentes de datos virtuales. Todos los cálculos los realiza solo el servidor Zabbix. Los valores son periódicamente calculado en base a la expresión aritmética utilizada.

Los datos resultantes se almacenan en la base de datos de Zabbix como para cualquier otro artículo; tanto el historial como los valores de tendencia se almacenan y los gráficos se pueden generado.

Si el resultado del cálculo es un valor flotante, será recortado a un número entero si el tipo de información del elemento calculado es Numérico (sin signo).

Los elementos calculados comparten su sintaxis con el disparador expresiones. Comparación con cadenas está permitido en elementos calculados. Los artículos calculados pueden ser referenciados por macros u otras entidades igual que cualquier otro tipo de elemento.

Para usar elementos calculados, elija el tipo de elemento Calculado.

Campos configurables

La clave es un identificador de elemento único (por host). Puedes crear cualquier nombre de la clave utilizando los símbolos admitidos.

La definición de cálculo debe ingresarse en el campo Fórmula. Ahí Prácticamente no hay conexión entre la fórmula y la clave. La clave los parámetros no se utilizan en la fórmula de ninguna manera.

La sintaxis de una fórmula simple es:

función(/host/clave,<parámetro1>,<parámetro2>,...)

dónde:

función Una de las funciones admitidas: último, mínimo, máximo, promedio, conteo, etc.
host Host del elemento que se utiliza para el cálculo.
El host actual se puede omitir (es decir, como en función(//clave,parámetro,...)).
clave Clave del elemento que se utiliza para el cálculo.
parámetro(s) Parámetros de la función, si es necesario.

Macros de usuario en la fórmula se expandirá si se usa para hacer referencia a una función parámetro, parámetro de filtro de elemento o una constante. Las macros de usuario NO se expandirán si se hace referencia una función, nombre de host, clave de elemento, parámetro de clave de elemento o operador.

Una fórmula más compleja puede usar una combinación de funciones, operadores y soportes. Puede utilizar todas las funciones y operadores compatibles con desencadenar expresiones. La lógica y la precedencia de operadores son exactamente las mismo.

A diferencia de las expresiones de activación, Zabbix procesa los elementos calculados según al intervalo de actualización del artículo, no al recibir un nuevo valor.

Todos los elementos a los que hacen referencia las funciones de historial en el cálculo la fórmula del artículo debe existir y recopilar datos. Además, si cambia el clave de elemento de un elemento al que se hace referencia, debe actualizar manualmente las fórmulas utilizando esa clave.

Un elemento calculado puede dejar de ser compatible en varios casos:

  • artículo(s) referenciado(s)
    • no se encuentra
    • está desactivado
    • pertenece a un host deshabilitado
    • no es compatible (excepto con la función nodata() y operadores con valores desconocidos)
  • no hay datos para calcular una función
  • división por cero
  • sintaxis incorrecta utilizada

Ejemplos de uso

Ejemplo 1

Cálculo del porcentaje de espacio libre en disco en '/'.

Uso de la función último:

100*último(//vfs.fs.tamaño[/,libre])/último(//vfs.fs.tamaño[/,total])

Zabbix tomará los valores más recientes para espacios de disco libres y totales y calcular el porcentaje de acuerdo con la fórmula dada.

Ejemplo 2

Cálculo de un promedio de 10 minutos del número de valores procesados por Zabbix.

Uso de la función promedio:

avg(/Servidor Zabbix/zabbix[wcache,valores],10m)

Tenga en cuenta que el uso extensivo de elementos calculados con largos períodos de tiempo puede afectar el rendimiento del servidor Zabbix.

Ejemplo 3

Cálculo del ancho de banda total en eth0.

Suma de dos funciones:

last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes])
Ejemplo 4

Cálculo del porcentaje de tráfico entrante.

Expresión más compleja:

100*último(//net.if.in[eth0,bytes])/(last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes]) )

Ver también: Ejemplos de agregado cálculos