[comment]: # translation:outdated

[comment]: # attributes: notoc

[comment]: # (terms:  avg, bucket_percentile, count, histogram_quantile, item_count, kurtosis, mad, max, min, skewness, stddevpop, stddevsamp, sum, sumofsquares, varpop, varsamp )

[comment]: # (tags:  count )

[comment]: # ({cbe17b03-ee60e21e})
# 1 Funciones de agregación

Excepto donde se indique lo contrario, todas las funciones enumeradas aquí son compatibles con:

-   [Expresiones de trigger](/manual/config/triggers/expression)
-   [Fórmulas de item calculado](/manual/config/items/itemtypes/calculated)
-   [Macros de expresión](/manual/config/macros/expression_macros)

Las funciones de agregación pueden trabajar con:

-   el historial de items, por ejemplo, `min(/host/key,1h)`
-   [funciones foreach](/manual/config/triggers/expression/aggregate/foreach) como
    único parámetro, por ejemplo, `min(last_foreach(/*/key))` (solo en fórmulas de item calculado; para usarlas en triggers, haga referencia al item calculado por su clave)

Las funciones se enumeran sin información adicional. Haga clic en la función para ver todos los detalles.

|Función|Descripción|
|--|--------|
|[avg](#avg)|El valor promedio de un item dentro del período de evaluación definido.|
|[bucket_percentile](#bucket-percentile)|Calcula el percentil a partir de los buckets de un histograma.|
|[count](#count)|El número de valores en un array devuelto por una función foreach.|
|[histogram_quantile](#histogram-quantile)|Calcula el φ-cuantil a partir de los buckets de un histograma.|
|[item_count](#item-count)|El número de items existentes en la configuración que coinciden con los criterios de filtro.|
|[kurtosis](#kurtosis)|La "pesadez de las colas" de la distribución de probabilidad en los valores recopilados dentro del período de evaluación definido.|
|[mad](#mad)|La desviación absoluta mediana de los valores recopilados dentro del período de evaluación definido.|
|[max](#max)|El valor más alto de un item dentro del período de evaluación definido.|
|[min](#min)|El valor más bajo de un item dentro del período de evaluación definido.|
|[skewness](#skewness)|La asimetría de la distribución de probabilidad en los valores recopilados dentro del período de evaluación definido.|
|[stddevpop](#stddevpop)|La desviación estándar poblacional de los valores recopilados dentro del período de evaluación definido.|
|[stddevsamp](#stddevsamp)|La desviación estándar muestral de los valores recopilados dentro del período de evaluación definido.|
|[sum](#sum)|La suma de los valores recopilados dentro del período de evaluación definido.|
|[sumofsquares](#sumofsquares)|La suma de cuadrados de los valores recopilados dentro del período de evaluación definido.|
|[varpop](#varpop)|La varianza poblacional de los valores recopilados dentro del período de evaluación definido.|
|[varsamp](#varsamp)|La varianza muestral de los valores recopilados dentro del período de evaluación definido.|

[comment]: # ({/cbe17b03-ee60e21e})

[comment]: # ({2acead3e-4d343eb8})
#### Parámetros comunes

-   `/host/key` es un primer parámetro obligatorio común para las funciones que hacen referencia al historial de items del host
-   `(sec|#num)<:desplazamiento de tiempo>` es un segundo parámetro común para las funciones que hacen referencia al historial de items del host, donde:
    -   **sec** - [periodo de evaluación](/manual/config/triggers#evaluation-period) máximo en segundos (se pueden usar [sufijos de tiempo](/manual/appendix/suffixes)), o
    -   **\#num** - [rango de evaluación](/manual/config/triggers#evaluation-period) máximo en los últimos valores recogidos (si va precedido de una almohadilla)
    -   **desplazamiento de tiempo** (opcional) permite mover el punto de evaluación hacia atrás en el tiempo. Consulte [más detalles](/manual/config/triggers/expression#time-shift) sobre cómo especificar el desplazamiento de tiempo.

[comment]: # ({/2acead3e-4d343eb8})

[comment]: # ({c645f0e4-fe53c04c})
### Detalles de la función

Algunas notas generales sobre los parámetros de la función:

-   Los parámetros de la función están separados por una coma
-   Los parámetros opcionales de la función (o partes del parámetro) se indican mediante
    `<` `>`
-   Los parámetros específicos de la función se describen con cada función
-   Los parámetros `/host/key` y `(sec|#num)<:desplazamiento de tiempo>` nunca deben ir entre comillas

[comment]: # ({/c645f0e4-fe53c04c})

[comment]: # ({2844b0b7-f5993b4c})
##### avg(/host/key,(sec|#num)<:time shift>) {#avg}

El valor promedio de un item dentro del período de evaluación definido.<br>
Tipos de valor admitidos: *Float*, *Integer*.<br>
[Funciones foreach](/manual/config/triggers/expression/aggregate/foreach) admitidas: *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parámetros: consulte los [parámetros comunes](#common-parameters).

El desplazamiento temporal es útil cuando existe la necesidad de comparar el valor promedio actual con el valor promedio de algún momento anterior.

Ejemplos:

```default
avg(/host/key,1h) #calcular el valor promedio de la última hora hasta ahora
avg(/host/key,#5) #calcular el valor promedio de los cinco valores más recientes
avg(/host/key,1h:now-1d) #calcular el valor promedio durante una hora, desde hace 25 horas hasta hace 24 horas
avg(last_foreach(/*/system.cpu.load[,avg1]?[group="MySQL Servers"])) #calcular la carga promedio del procesador para todos los servidores MySQL
avg(/host/proc.num,5m)>300 #trigger si el número promedio de procesos en los últimos 5 minutos ha sido superior a 300
```

[comment]: # ({/2844b0b7-f5993b4c})

[comment]: # ({ae55eda6-af24d13f})
##### bucket_percentile(item filter,time period,percentage) {#bucket-percentile}

Calcula el percentil a partir de los buckets de un histograma.<br>

Parámetros: 

-   **item filter** - consulte [item filter](/manual/config/triggers/expression/aggregate/foreach#item-filter-syntax);<br>
-   **time period** - consulte [time period](/manual/config/triggers/expression/aggregate/foreach#time-period);<br>
-   **percentage** - porcentaje (0-100).

Comentarios:

-   Compatible solo en items calculados;
-   Esta función es un alias de `histogram_quantile(percentage/100, bucket_rate_foreach(item filter, time period, 1))`.

Ejemplos:

```default
bucket_percentile(/*/http_request_duration_seconds_bucket[*],5m,95) #calculate the 95th percentile response time over 5 minutes
bucket_percentile(/*/apiserver_request_duration_seconds_bucket[*],10m,99) #calculate the 99th percentile API latency
```

[comment]: # ({/ae55eda6-af24d13f})

[comment]: # ({4520f3ef-3c498650})
##### count(func_foreach(item filter,<time period>),<operator>,<pattern>) {#count}

El recuento de valores en un array devuelto por una función foreach.<br>
Funciones [foreach](/manual/config/triggers/expression/aggregate/foreach) compatibles: *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parámetros: 

-   **func_foreach** - función foreach para la que se debe contar el número de valores devueltos. Consulte [funciones foreach](/manual/config/triggers/expression/aggregate/foreach) para más detalles. Tenga en cuenta que count_foreach y bucket_rate_foreach admiten [parámetros adicionales](/manual/config/triggers/expression/aggregate/foreach#additional-parameters).
-   **item filter** - consulte [filtro de item](/manual/config/triggers/expression/aggregate/foreach#item-filter-syntax);<br>
-   **time period** - consulte [período de tiempo](/manual/config/triggers/expression/aggregate/foreach#time-period);<br>
-   **operator** (debe ir entre comillas dobles). `operators` compatibles:<br>*eq* - igual<br>*ne* - distinto<br>*gt* - mayor que<br>*ge* - mayor o igual que<br>*lt* - menor que<br>*le* - menor o igual que<br>*like* - coincide si contiene el patrón (distingue mayúsculas de minúsculas)<br>*bitand* - AND a nivel de bits<br>*regexp* - coincidencia sensible a mayúsculas y minúsculas de la expresión regular dada en `pattern`<br>*iregexp* - coincidencia no sensible a mayúsculas y minúsculas de la expresión regular dada en `pattern`<br>
-   **pattern** - el patrón requerido (los argumentos de cadena deben ir entre comillas dobles); compatible si *operator* se especifica en el tercer parámetro.

Comentarios: 

-   El uso de **count()** con una función foreach relacionada con el historial (max_foreach, avg_foreach, etc.) puede tener implicaciones de rendimiento, mientras que el uso de **exists_foreach()**, que solo funciona con datos de configuración, no tendrá ese efecto.
-   Los parámetros opcionales *operator* o *pattern* no pueden dejarse vacíos después de una coma; solo pueden omitirse por completo.
-   Con *bitand* como tercer parámetro, el cuarto parámetro `pattern` puede especificarse como dos números separados por '/': **number_to_compare_with/mask**. count() calcula el "AND a nivel de bits" del valor y la *mask* y compara el resultado con *number_to_compare_with*. Si el resultado del "AND a nivel de bits" es igual a *number_to_compare_with*, el valor se cuenta.<br>Si *number_to_compare_with* y *mask* son iguales, solo es necesario especificar la *mask* (sin '/').
-   Con *regexp* o *iregexp* como tercer parámetro, el cuarto parámetro `pattern` puede ser una expresión regular normal o [global](/manual/regular_expressions#global-regular-expressions) (que comienza con '@'). En el caso de expresiones regulares globales, la distinción entre mayúsculas y minúsculas se hereda de la configuración de la expresión regular global. Para fines de coincidencia regexp, los valores de coma flotante siempre se representarán con 4 dígitos decimales después de '.'. Tenga en cuenta también que, para números grandes, la diferencia entre la representación decimal (almacenada en la base de datos) y binaria (utilizada por Zabbix server) puede afectar al 4.º dígito decimal.

Ejemplos:

```default
count(max_foreach(/*/net.if.in[*],1h)) #calculate the number of net.if.in items that received data in the last hour until now
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #calculate the number of file systems with over 95% of disk space used
```

[comment]: # ({/4520f3ef-3c498650})

[comment]: # ({3ba37963-f3ad7158})
##### histogram_quantile(quantile,bucket1,value1,bucket2,value2,...) {#histogram-quantile}

Calcula el cuantil φ a partir de los buckets de un histograma.<br>
Compatible con la [función foreach](/manual/config/triggers/expression/aggregate/foreach): *bucket_rate_foreach*.

Parámetros: 

-   **quantile** - 0 ≤ φ ≤ 1;<br>
-   **bucketN, valueN** - pares introducidos manualmente (>=2) de parámetros o la respuesta de [bucket_rate_foreach](/manual/config/triggers/expression/aggregate/foreach).

Comentarios:

-   Compatible solo en items calculados;
-   Corresponde funcionalmente a '[histogram\_quantile](https://prometheus.io/docs/prometheus/latest/querying/functions/#histogram-quantile)' de PromQL;
-   Devuelve -1 si los valores del último bucket 'Infinity' (*"+inf"*) son iguales a 0.

Ejemplos:

```default
histogram_quantile(0.75,1.0,last(/host/rate_bucket[1.0]),"+Inf",last(/host/rate_bucket[Inf]))
histogram_quantile(0.5,bucket_rate_foreach(//item_key,30s))
```

[comment]: # ({/3ba37963-f3ad7158})

[comment]: # ({b14d0146-c8e3133a})
##### item_count(item filter) {#item-count}

El recuento de items existentes en la configuración que coinciden con los criterios del filtro.<br>
Tipo de valor admitido: *Integer*.

Parámetro: 

-   **item filter**: criterios para la selección de items; permite hacer referencia por grupo de hosts, host, clave de item y etiquetas. Se admiten comodines. Consulte [item filter](/manual/config/triggers/expression/aggregate/foreach#item-filter-syntax) para más detalles.<br>

Comentarios:

-   Admitido solo en items calculados;
-   Funciona como un alias de la función *count(exists_foreach(item_filter))*.

Ejemplos:

```default
item_count(/*/agent.ping?[group="Host group 1"]) #calcula el número de hosts con el item agent.ping en "Host group 1"
```

[comment]: # ({/b14d0146-c8e3133a})

[comment]: # ({356d9069-88a54099})
##### kurtosis(/host/key,(sec|#num)<:desplazamiento temporal>) {#kurtosis}

La "curtosis" de la distribución de probabilidad en los valores recopilados dentro del período de evaluación definido. Véase también: [Kurtosis](https://en.wikipedia.org/wiki/Kurtosis).<br>
Tipos de valor admitidos: *Float*, *Integer*.<br>
Función [foreach](/manual/config/triggers/expression/aggregate/foreach) admitida: *last_foreach*.

Parámetros: consulte [parámetros comunes](#common-parameters).

Ejemplos:

```default
kurtosis(/host/system.cpu.util[,user],5m)>5 #trigger on sharp spikes of CPU utilization over 5 minutes
```

[comment]: # ({/356d9069-88a54099})

[comment]: # ({98a81503-bfb43a27})
##### mad(/host/key,(sec|#num)<:desplazamiento temporal>) {#mad}

La desviación absoluta mediana de los valores recopilados dentro del período de evaluación definido. Véase también: [Desviación absoluta mediana](https://en.wikipedia.org/wiki/Median_absolute_deviation).<br>
Tipos de valores admitidos: *Float*, *Integer*.<br>
Función [foreach](/manual/config/triggers/expression/aggregate/foreach) admitida: *last_foreach*.

Parámetros: consulte [parámetros comunes](#common-parameters).

Ejemplos:

```default
last(/host/system.cpu.util[,user])>avg(/host/system.cpu.util[,user],1h)+3*mad(/host/system.cpu.util[,user],1h) #trigger if the last CPU utilization value is statistically significant
```

[comment]: # ({/98a81503-bfb43a27})

[comment]: # ({e93a3513-5882010b})
##### max(/host/key,(sec|#num)<:time shift>) {#max}

El valor más alto de un item dentro del período de evaluación definido.<br>
Tipos de valor admitidos: *Float*, *Integer*.<br>
[Funciones foreach](/manual/config/triggers/expression/aggregate/foreach) admitidas: *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parámetros: consulte [parámetros comunes](#common-parameters).

Ejemplos:

```default
max(/host/key,1h) - min(/host/key,1h) #calcula la diferencia entre los valores máximo y mínimo dentro de la última hora hasta el momento actual (el delta de los valores)
max(last_foreach(/*/vfs.fs.size[*,pused]?[group="Linux servers"])) #devuelve el uso de disco más alto entre todos los servidores Linux
```

[comment]: # ({/e93a3513-5882010b})

[comment]: # ({cfe7b652-ffd1e499})
##### min(/host/key,(sec|#num)<:time shift>) {#min}

El valor más bajo de un item dentro del período de evaluación definido.<br>
Tipos de valor admitidos: *Float*, *Integer*.<br>
Funciones [foreach](/manual/config/triggers/expression/aggregate/foreach) admitidas: *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parámetros: consulte los [parámetros comunes](#common-parameters).

Ejemplos:

```default
max(/host/key,1h) - min(/host/key,1h) #calcula la diferencia entre los valores máximo y mínimo durante la última hora hasta el momento actual (el delta de los valores)
min(last_foreach(/*/vfs.file.contents["/sys/class/net/enp0s3/operstate"]?[group="Linux servers"])) #devuelve el estado operativo mínimo de cualquier interfaz en todos los servidores Linux
```

[comment]: # ({/cfe7b652-ffd1e499})

[comment]: # ({f9d7543b-6b6fb273})
##### skewness(/host/key,(sec|#num)<:desplazamiento temporal>) {#skewness}

La asimetría de la distribución de probabilidad en los valores recopilados dentro del período de evaluación definido. Véase también: [Skewness](https://en.wikipedia.org/wiki/Skewness).<br>
Tipos de valor soportados: *Float*, *Integer*.<br>
Función [foreach](/manual/config/triggers/expression/aggregate/foreach) soportada: *last_foreach*.

Parámetros: consulte [parámetros comunes](#common-parameters).

Ejemplos:

```default
skewness(/host/vm.memory.size[used],5m)<-20 #trigger ante caídas negativas repentinas que indican fallos/reinicios
```

[comment]: # ({/f9d7543b-6b6fb273})

[comment]: # ({7e32d94e-11c2ea25})
##### stddevpop(/host/key,(sec|#num)<:time shift>) {#stddevpop}

La desviación estándar poblacional de los valores recopilados dentro del período de evaluación definido. Véase también: [Desviación estándar](https://en.wikipedia.org/wiki/Standard_deviation).<br>
Tipos de valor admitidos: *Float*, *Integer*.<br>
[Función foreach](/manual/config/triggers/expression/aggregate/foreach) admitida: *last_foreach*.

Parámetros: consulte [parámetros comunes](#common-parameters).

Ejemplos:

```default
stddevpop(/host/system.cpu.util[,user],10m)>7 #trigger if CPU usage fluctuates heavily (population standard deviation is above 7 over 10 minutes)
```

[comment]: # ({/7e32d94e-11c2ea25})

[comment]: # ({23ca7fe4-1db77c44})
##### stddevsamp(/host/key,(sec|#num)<:time shift>) {#stddevsamp}

La desviación estándar muestral de los valores recopilados dentro del período de evaluación definido. Véase también: [Desviación estándar](https://en.wikipedia.org/wiki/Standard_deviation).<br>
Tipos de valor admitidos: *Float*, *Integer*.<br>
Función [foreach](/manual/config/triggers/expression/aggregate/foreach) admitida: *last_foreach*.

Parámetros: consulte [parámetros comunes](#common-parameters).

Se requieren al menos dos valores de datos para que esta función funcione.

Ejemplos:

```default
stddevsamp(/host/system.cpu.util[,user],10m)>7 #trigger if CPU usage fluctuates heavily (sample standard deviation is above 7 over 10 minutes)
```

[comment]: # ({/23ca7fe4-1db77c44})

[comment]: # ({89b5406f-0ecf79eb})
##### sum(/host/key,(sec|#num)<:time shift>) {#sum}

La suma de los valores recopilados dentro del período de evaluación definido.<br>
Tipos de valor admitidos: *Float*, *Integer*.<br>
[Funciones foreach](/manual/config/triggers/expression/aggregate/foreach) admitidas: *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parámetros: consulte [parámetros comunes](#common-parameters).

Ejemplos:

```default
sum(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #calculate the total incoming network traffic for all Linux servers
sum(last_foreach(/*/vfs.fs.size[/,total]?[group="MySQL Servers"])) #calculate the total disk space for all MySQL servers
sum(last_foreach(/*/net.dns[*,*,*])) #calculate the total number of successful DNS checks
```

[comment]: # ({/89b5406f-0ecf79eb})

[comment]: # ({907627c8-6f6556f2})
##### sumofsquares(/host/key,(sec|#num)<:time shift>) {#sumofsquares}

La suma de cuadrados de los valores recopilados dentro del período de evaluación definido.<br>
Tipos de valores admitidos: *Float*, *Integer*.<br>
[Función foreach](/manual/config/triggers/expression/aggregate/foreach) admitida: *last_foreach*.

Parámetros: consulte [parámetros comunes](#common-parameters).

Ejemplos:

```default
sumofsquares(/host/calculated.net.if.rate,1m) #la suma de cuadrados de la tasa de tráfico de red (entrante frente a saliente)
sumofsquares(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #la suma de cuadrados de los valores más recientes del tráfico de red entrante en todos los servidores Linux
```

[comment]: # ({/907627c8-6f6556f2})

[comment]: # ({04d271f7-d299bd33})
##### varpop(/host/key,(sec|#num)<:time shift>) {#varpop}

La varianza poblacional de los valores recopilados dentro del período de evaluación definido. Véase también: [Varianza](https://en.wikipedia.org/wiki/Variance).<br>
Tipos de valores admitidos: *Float*, *Integer*.<br>
[Función foreach](/manual/config/triggers/expression/aggregate/foreach) admitida: *last_foreach*.

Parámetros: consulte [parámetros comunes](#common-parameters).

Ejemplos:

```default
varpop(/host/system.cpu.util[,user],10m)>50 #trigger si el uso de CPU fluctúa mucho (la varianza es superior a 50 durante 10 minutos)
```

[comment]: # ({/04d271f7-d299bd33})

[comment]: # ({9c60c2c9-b1bc041c})
##### varsamp(/host/key,(sec|#num)<:time shift>) {#varsamp}

La varianza muestral de los valores recopilados dentro del período de evaluación definido. Véase también: [Varianza](https://en.wikipedia.org/wiki/Variance).<br>
Tipos de valores admitidos: *Float*, *Integer*.<br>
[Función foreach](/manual/config/triggers/expression/aggregate/foreach) admitida: *last_foreach*.

Parámetros: consulte [parámetros comunes](#common-parameters).

Se requieren al menos dos valores de datos para que esta función funcione.

Ejemplos:

```default
varsamp(/host/system.cpu.util[,user],10m)>50 #trigger si el uso de CPU fluctúa mucho (la varianza muestral es superior a 50 durante 10 minutos)
```

[comment]: # ({/9c60c2c9-b1bc041c})

[comment]: # ({ba58f5e4-541616fc})
Consulte [todas las funciones soportadas](/manual/config/triggers/expression#functions).

[comment]: # ({/ba58f5e4-541616fc})
