1 Funciones agregadas
Salvo que se indique lo contrario, todas las funciones enumeradas aquí son compatibles con:
Las funciones agregadas pueden trabajar con cualquiera de las siguientes opciones:
- 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)
Las funciones se enumeran sin información adicional. Haga clic en la función para ver los detalles completos.
| 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 recuento de valores en una matriz devuelta por una función foreach. |
| histogram_quantile | Calcula el cuantil φ a partir de los buckets de un histograma. |
| item_count | El recuento de items existentes en la configuración que coinciden con los criterios del 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 del item del host(sec|#num)<:time shift>es un segundo parámetro común para las funciones que hacen referencia al historial del item del host, donde:- sec - período máximo de evaluación en segundos (se pueden usar sufijos de tiempo), o
- #num - rango de evaluación máximo en los últimos valores recopilados (si va precedido por una almohadilla)
- time shift (opcional) permite mover el punto de evaluación hacia atrás en el tiempo. Consulte más detalles sobre cómo especificar time shift.
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/keyy(sec|#num)<:desplazamiento de tiempo>nunca deben ir 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 hace algún tiempo.
Ejemplos:
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 últimos valores
avg(/host/key,1h:now-1d) #calcular el valor promedio de una hora desde hace 25 horas hasta hace 24 horas desde ahora
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 estado por encima de 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:
- Solo se admite en 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) #calcula el tiempo de respuesta del percentil 95 durante 5 minutos
bucket_percentile(/*/apiserver_request_duration_seconds_bucket[*],10m,99) #calcula la latencia de la API del percentil 99
count(func_foreach(item filter,<time period>),<operator>,<pattern>)
El recuento de valores en un array devuelto por una función foreach.
Funciones 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 cual se debe contar el número de valores devueltos. Consulte foreach functions para obtener 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 - no igual
gt - mayor
ge - mayor o igual
lt - menor
le - menor o igual
like - coincide si contiene el patrón (sensible a mayúsculas y minúsculas)
bitand - AND bit a bit
regexp - coincidencia sensible a mayúsculas y minúsculas de la expresión regular dada enpattern
iregexp - coincidencia no sensible a mayúsculas y minúsculas de la expresión regular dada enpattern - pattern - el patrón requerido (los argumentos de tipo string 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
patternpuede especificarse como dos números, separados por '/': number_to_compare_with/mask. count() calcula el "AND bit a bit" del valor y la mask y compara el resultado con number_to_compare_with. Si el resultado del "AND bit a bit" 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 comience con '@'). En el caso de expresiones regulares globales, la distinción entre mayúsculas y minúsculas se hereda de la configuración de expresiones regulares globales. A efectos de la coincidencia regexp, los valores flotantes 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 la binaria (utilizada por el server de Zabbix) puede afectar al cuarto dígito decimal.
Ejemplos:
count(max_foreach(/*/net.if.in[*],1h)) #calcula el número de items net.if.in que recibieron datos en la última hora hasta ahora
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #calcula el número de sistemas de archivos con más del 95% del espacio en disco utilizado
histogram_quantile(quantile,bucket1,value1,bucket2,value2,...)
Calcula el φ-cuantil a partir de los buckets de un histograma.
Función foreach compatible: 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:
- Solo compatible en items calculados;
- Funcionalmente corresponde 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)
La cantidad de items existentes en la configuración que coinciden con los criterios del filtro.
Tipo de valor compatible: Integer.
Parámetro:
- item filter - criterios para la selección de items, permite hacer referencia por grupo de hosts, host, clave del item y etiquetas. Se admiten comodines. Consulte item filter para obtener más detalles.
Comentarios:
- Compatible solo en items calculados;
- Funciona como un alias de la función count(exists_foreach(item_filter)).
Ejemplos:
item_count(/*/agent.ping?[group="Host group 1"]) #calcula el número de hosts con el item agent.ping en "Host group 1"
kurtosis(/host/key,(sec|#num)<:time shift>)
La "cola" de la distribución de probabilidad en los valores recopilados dentro del período de evaluación definido. Consulte también: Kurtosis.
Tipos de valor compatibles: Float, Integer.
Función foreach compatible: last_foreach.
Parámetros: consulte los parámetros comunes.
Ejemplos:
kurtosis(/host/system.cpu.util[,user],5m)>5 #trigger on sharp spikes of CPU utilization over 5 minutes
mad(/host/key,(sec|#num)<:time shift>)
La desviación absoluta mediana en los valores recopilados dentro del período de evaluación definido. Consulte también: Median absolute deviation.
Tipos de valor compatibles: Float, Integer.
Función foreach compatible: 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 los parámetros comunes.
Ejemplos:
max(/host/key,1h) - min(/host/key,1h) #calcular la diferencia entre los valores máximo y mínimo dentro de 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 entre todos los servidores Linux
min(/host/key,(sec|#num)<:time shift>)
El valor más bajo de un item dentro del período de evaluación definido.
Tipos de valor compatibles: Float, Integer.
Funciones foreach compatibles: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parámetros: consulte los 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 Linux servers
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. Consulte también: Skewness.
Tipos de valor compatibles: Float, Integer.
Función foreach compatible: 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. Consulte 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 #trigger if CPU usage fluctuates heavily (population standard deviation is above 7 over 10 minutes)
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. Consulte también: Desviación estándar.
Tipos de valor admitidos: Float, Integer.
Función foreach admitida: last_foreach.
Parámetros: consulte los 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 #trigger si el uso de CPU fluctúa mucho (la desviación estándar muestral es superior a 7 durante 10 minutos)
sum(/host/key,(sec|#num)<:time shift>)
La suma de los valores recopilados dentro del período de evaluación definido.
Tipos de valor compatibles: Float, Integer.
Funciones foreach compatibles: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parámetros: consulte los parámetros comunes.
Ejemplos:
sum(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #calcular el tráfico de red entrante total para todos los servidores Linux
sum(last_foreach(/*/vfs.fs.size[/,total]?[group="MySQL Servers"])) #calcular el espacio total en disco para todos los servidores MySQL
sum(last_foreach(/*/net.dns[*,*,*])) #calcular el número total de comprobaciones DNS correctas
sumofsquares(/host/key,(sec|#num)<:time shift>)
La suma de los cuadrados de los valores recopilados dentro del período de evaluación definido.
Tipos de valor compatibles: Float, Integer.
Función foreach compatible: last_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
sumofsquares(/host/calculated.net.if.rate,1m) #la suma de los cuadrados para la tasa de tráfico de red (entrante vs saliente)
sumofsquares(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #la suma de los cuadrados de los últimos valores de 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. Consulte también: Variance.
Tipos de valor admitidos: Float, Integer.
Función foreach admitida: last_foreach.
Parámetros: consulte parámetros comunes.
Ejemplos:
varpop(/host/system.cpu.util[,user],10m)>50 #trigger if CPU usage fluctuates heavily (variance is above 50 over 10 minutes)
varsamp(/host/key,(sec|#num)<:time shift>)
La varianza muestral de los valores recopilados dentro del período de evaluación definido. Consulte también: Variance.
Tipos de valor 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:
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)