1 Funciones de agregación
Excepto donde se indique lo contrario, todas las funciones enumeradas aquí son compatibles con:
Las funciones de agregación pueden trabajar con:
- el historial de items, por ejemplo,
min(/host/key,1h) - funciones foreach como
único parámetro, por ejemplo,
min(last_foreach(/*/key))(solo en items calculados; no se puede usar en triggers directamente)
Las funciones se enumeran sin información adicional. Haga clic en la función para ver todos los detalles.
| Function | Description |
|---|---|
| avg | El valor promedio de un item dentro del período de evaluación definido. |
| bucket_percentile | Calcula el percentil a partir de los buckets de un histograma. |
| count | El número de valores en un array devuelto por una función foreach. |
| histogram_quantile | Calcula el cuantil φ a partir de los buckets de un histograma. |
| item_count | El número de items existentes en la configuración que coinciden con los criterios de filtro. |
| kurtosis | La "curtosis" de la distribución de probabilidad en los valores recopilados dentro del período de evaluación definido. |
| mad | La desviación absoluta mediana en los valores recopilados dentro del período de evaluación definido. |
| max | El valor más alto de un item dentro del período de evaluación definido. |
| min | El valor más bajo de un item dentro del período de evaluación definido. |
| skewness | La asimetría de la distribución de probabilidad en los valores recopilados dentro del período de evaluación definido. |
| stddevpop | La desviación estándar poblacional en los valores recopilados dentro del período de evaluación definido. |
| stddevsamp | La desviación estándar muestral en los valores recopilados dentro del período de evaluación definido. |
| sum | La suma de los valores recopilados dentro del período de evaluación definido. |
| sumofsquares | La suma de cuadrados en los valores recopilados dentro del período de evaluación definido. |
| varpop | La varianza poblacional de los valores recopilados dentro del período de evaluación definido. |
| varsamp | La varianza muestral de los valores recopilados dentro del período de evaluación definido. |
Parámetros comunes
/host/keyes 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 máximo en segundos (se pueden usar sufijos de tiempo), o
- #num - rango de evaluación 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 sobre cómo especificar el desplazamiento de tiempo.
Detalles de la función
Algunas notas generales sobre los parámetros de función:
- Los parámetros de la función están separados por una coma.
- Los parámetros de la función opcionales (o partes de parámetros) se indican mediante
<> - Los parámetros específicos de la función se describen con cada función.
- Los parámetros
/host/keyy(sec|#num)<:time shift>nunca deben ser encerrados entre comillas
avg(/host/key,(sec|#num)<:time shift>)
El valor promedio de un item dentro del período de evaluación definido.
Tipos de valor admitidos: Float, Integer.
Funciones foreach admitidas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parámetros: consulte los parámetros comunes.
El desplazamiento temporal es útil cuando es necesario comparar el valor promedio actual con el valor promedio de algún momento anterior.
Ejemplos:
avg(/host/key,1h) #el valor promedio de la última hora hasta ahora
avg(/host/key,1h:now-1d) #el valor promedio de una hora desde hace 25 horas hasta hace 24 horas desde ahora
avg(/host/key,#5) #el valor promedio de los cinco valores más recientes
avg(/host/key,#5:now-1d) #el valor promedio de los cinco valores más recientes excluyendo los valores recibidos en las últimas 24 horas
avg(/host/proc.num,5m)>300 #trigger si el número promedio de procesos en los últimos 5 minutos ha sido superior a 300
bucket_percentile(item filter,time period,percentage)
Calcula el percentil a partir de los buckets de un histograma.
Parámetros:
- item filter: consulte item filter;
- time period: consulte time period;
- percentage: porcentaje (0-100).
Comentarios:
- Compatible solo con items calculados;
- Esta función es un alias de
histogram_quantile(percentage/100, bucket_rate_foreach(item filter, time period, 1)).
Ejemplos:
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
count(func_foreach(item filter,<time period>),<operator>,<pattern>)
El recuento de valores en un array devuelto por una función foreach.
Funciones foreach functions 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 foreach functions para más detalles. Tenga en cuenta que count_foreach y bucket_rate_foreach admiten parámetros adicionales.
- item filter - consulte item filter;
- time period - consulte time period;
- operator (debe ir entre comillas dobles).
operatorscompatibles:
eq - igual
ne - distinto
gt - mayor que
ge - mayor o igual que
lt - menor que
le - menor o igual que
like - coincide si contiene el patrón (distingue mayúsculas de minúsculas)
bitand - AND a nivel de bits
regexp - coincidencia sensible a mayúsculas y minúsculas de la expresión regular indicada enpattern
iregexp - coincidencia no sensible a mayúsculas y minúsculas de la expresión regular indicada enpattern - 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 funciona solo 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
patternpuede especificarse como dos números separados por '/': number_to_compare_with/mask. count() calcula el "AND a nivel de bits" entre el 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.
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
patternpuede ser una expresión regular normal o global (que comienza con '@'). En el caso de las 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:
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
histogram_quantile(quantile,bucket1,value1,bucket2,value2,...)
Calcula el cuantil φ a partir de los buckets de un histograma.
Compatible con la función foreach: bucket_rate_foreach.
Parámetros:
- quantile - 0 ≤ φ ≤ 1;
- bucketN, valueN - pares introducidos manualmente (>=2) de parámetros o la respuesta de bucket_rate_foreach.
Comentarios:
- Compatible solo en items calculados;
- Corresponde funcionalmente a 'histogram_quantile' de PromQL;
- Devuelve -1 si los valores del último bucket 'Infinity' ("+inf") son iguales a 0.
Ejemplos:
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))
item_count(item filter)
El recuento de items existentes en la configuración que coinciden con los criterios del filtro.
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 para obtener más detalles.
Comentarios:
- Compatible solo con items calculados;
- Funciona como un alias de la función count(exists_foreach(item_filter)).
Ejemplos:
item_count(/*/agent.ping?[group="Host group 1"]) #el número de hosts con el item *agent.ping* en "Host group 1"
kurtosis(/host/key,(sec|#num)<:desplazamiento temporal>)
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.
Tipos de valor admitidos: Float, Integer.
Función foreach admitida: last_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
kurtosis(/host/system.cpu.util[,user],5m)>5 #trigger ante picos pronunciados de utilización de CPU durante 5 minutos
mad(/host/key,(sec|#num)<:time shift>)
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.
Tipos de valores admitidos: Float, Integer.
Función foreach admitida: last_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
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
max(/host/key,(sec|#num)<:time shift>)
El valor más alto de un item dentro del período de evaluación definido.
Tipos de valor admitidos: Float, Integer.
Funciones foreach admitidas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
max(/host/key,1h) - min(/host/key,1h) #calcula la diferencia entre los valores máximo y mínimo durante la última hora hasta ahora (el delta de los valores)
max(last_foreach(/*/vfs.fs.size[*,pused]?[group="Linux servers"])) #devuelve el uso de disco más alto en todos los servidores Linux
min(/host/key,(sec|#num)<:desplazamiento temporal>)
El valor más bajo de un item dentro del período de evaluación definido.
Tipos de valor admitidos: Float, Integer.
Funciones foreach admitidas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
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 ahora (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
skewness(/host/key,(sec|#num)<:time shift>)
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.
Tipos de valor admitidos: Float, Integer.
Función foreach admitida: last_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
skewness(/host/vm.memory.size[used],5m)<-20 #trigger on sudden negative drops indicating crashes/restarts
stddevpop(/host/key,(sec|#num)<:time shift>)
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.
Tipos de valor compatibles: Float, Integer.
Función foreach compatible: last_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
stddevpop(/host/system.cpu.util[,user],10m)>7 #CPU usage fluctuates heavily (population standard deviation is above 7)
stddevsamp(/host/key,(sec|#num)<:time shift>)
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.
Tipos de valores admitidos: Float, Integer.
Función foreach admitida: last_foreach.
Parámetros: consulte parámetros comunes.
Se requieren al menos dos valores de datos para que esta función funcione.
Ejemplos:
stddevsamp(/host/system.cpu.util[,user],10m)>7 #El uso de CPU fluctúa considerablemente (la desviación estándar muestral es superior a 7)
sum(/host/key,(sec|#num)<:time shift>)
La suma de los valores recopilados dentro del período de evaluación definido.
Tipos de valores admitidos: Float, Integer.
Funciones foreach admitidas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
sum(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #la suma de los valores más recientes del tráfico de red entrante en todos los servidores Linux
sumofsquares(/host/key,(sec|#num)<:time shift>)
La suma de cuadrados de los valores recopilados dentro del período de evaluación definido.
Tipos de valor admitidos: Float, Integer.
Función foreach admitida: last_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
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
varpop(/host/key,(sec|#num)<:time shift>)
La varianza poblacional de los valores recopilados dentro del período de evaluación definido. Véase también: Varianza.
Tipos de valores admitidos: Float, Integer.
Función foreach admitida: last_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
varpop(/host/system.cpu.util[,user],10m)>50 #El uso de CPU fluctúa considerablemente (la varianza es superior a 50)
varsamp(/host/key,(sec|#num)<:time shift>)
La varianza muestral de los valores recopilados dentro del período de evaluación definido. Véase también: Varianza.
Tipos de valor admitidos: Float, Integer.
Funciones foreach admitidas: last_foreach.
Parámetros: consulte parámetros comunes.
Se requieren al menos dos valores de datos para que esta función funcione.
Ejemplos:
varsamp(/host/system.cpu.util[,user],10m)>50 #CPU usage fluctuates heavily (sample variance is above 50)
Consulte todas las funciones admitidas.