[comment]: # translation:outdated

[comment]: # ({b8c65ad1-b8c65ad1})
# 7 Métricas calculadas

[comment]: # ({/b8c65ad1-b8c65ad1})

[comment]: # ({43ebe58c-43ebe58c})
#### 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](/manual/config/items/itemtypes/calculado/agregado)
    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.

::: notaclásica
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](/manual/config/triggers/expression). 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**.

[comment]: # ({/43ebe58c-43ebe58c})

[comment]: # ({a60a7526-ddc35784})
#### 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](/manual/apéndice/funciones): último, mínimo, máximo, promedio, conteo, etc.|
|*host*|Host del elemento que se utiliza para el cálculo.<br>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.|

::: notaimportante
[Macros de usuario](/manual/config/macros/user_macros)
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](/manual/config/triggers/expression#operators) 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](/manual/config/triggers/expression#operators) con
        valores desconocidos)
- no hay datos para calcular una función
-   división por cero
- sintaxis incorrecta utilizada

[comment]: # ({/a60a7526-ddc35784})

[comment]: # ({82c22f4f-82c22f4f})
#### Ejemplos de uso

[comment]: # ({/82c22f4f-82c22f4f})

[comment]: # ({426ab71a-426ab71a})
##### 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.

[comment]: # ({/426ab71a-426ab71a})

[comment]: # ({77bcdfd9-77bcdfd9})
##### 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.

[comment]: # ({/77bcdfd9-77bcdfd9})

[comment]: # ({5d068733-5d068733})
##### 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])

[comment]: # ({/5d068733-5d068733})

[comment]: # ({f8b53af1-f8b53af1})
##### 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](/manual/config/items/itemtypes/calculado/agregado#usage_examples)

[comment]: # ({/f8b53af1-f8b53af1})
