7 Métricas calculadas

Descripción general

Una métrica calculada permite crear un cálculo basado en los valores de algunas métricas existentes. Por ejemplo, es posible que desee calcular el promedio horario de algún valor de métrica o calcular el valor total de un grupo de métricas. Eso es para lo que sirve una métrica calculada.

Los cálculos pueden utilizar ambos:

  • valores únicos de métricas individuales
  • un filtro complejo para seleccionar varias métricas para su agregación (ver cálculos agregados para más detalles)

Las métricas calculadas son una forma de crear fuentes de datos virtuales. Todos los cálculos los realiza únicamente el servidor Zabbix. Los valores son periódicamente calculados en base a la expresión aritmética utilizada.

Los datos resultantes se almacenan en la base de datos de Zabbix como para cualquier otra métrica; Se almacenan tanto el historial como los valores de tendencia y se pueden visualizar gráficos generados.

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

Las métricas calculadas comparten su sintaxis con las expresiones de iniciador. La comparación de cadenas está permitida en métricas calculadas. Las métricas calculadas pueden ser referenciadas por macros u otras entidades igual que cualquier otro tipo de métrica.

Para utilizar métricas calculadas, elija el tipo de métrica Calculada.

Campos configurables

La clave es un identificador único de métrica (por equipo). Puede crear cualquier nombre de clave utilizando símbolos admitidos.

La definición del cálculo debe ingresarse en el campo Fórmula. No hay conexión entre la fórmula y la clave. Los parámetros de la clave no se utilizan en la fórmula de ninguna manera.

La sintaxis de una fórmula simple es:

function(/host/key,<parameter1>,<parameter2>,...)

dónde:

function Una de las funciones admitidas: last, min, max, avg, count, etc.
host Equipo de la métrica que se utiliza para el cálculo.
El equipo actual se puede omitir (es decir, como en function(//key,parameter,...)).
key Clave de la métrica que se utiliza para el cálculo.
parameter(s) Parámetros de la función, si es necesario.

Las macros de usuario en la fórmula se expandirán si se usan para hacer referencia a un parámetro de la función, parámetro de filtro de métricas o una constante. Las macros de usuario NO se expandirán si se hace referencia a una función, nombre de equipo, clave de métrica, parámetro de clave de métrica u operador.

Una fórmula más compleja puede utilizar una combinación de funciones, operadores y soportes. Puede utilizar todas las funciones y operadores admitidos en expresiones de iniciador. La lógica y la precedencia del operador es exactamente la misma.

A diferencia de las expresiones desencadenantes, Zabbix procesa las métricas calculadas según el intervalo de actualización de la métrica, no al recibir un nuevo valor.

Todas las métricas a las que hacen referencia las funciones de historial en el cálculo de la fórmula de la métrica debe existir y recopilar datos. Además, si cambia la clave de la métrica de una métrica a la que se hace referencia, debe actualizar manualmente cualquier fórmula que use esa clave.

Una métrica calculada puede dejar de ser compatible en varios casos:

  • métricas referenciadas
    • no se encuentra
    • está desactivada
    • pertenece a un equipo 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