4 Funciones de historial
Todas las funciones listadas aquí son compatibles con:
Las funciones se enumeran sin información adicional. Haga clic en la función para ver los detalles completos.
| Función | Descripción |
|---|---|
| change | La cantidad de diferencia entre el valor anterior y el último. |
| changecount | El número de cambios entre valores adyacentes dentro del período de evaluación definido. |
| count | El número de valores dentro del período de evaluación definido. |
| countunique | El número de valores únicos dentro del período de evaluación definido. |
| find | Buscar una coincidencia de valor dentro del período de evaluación definido. |
| first | El primer (el más antiguo) valor dentro del período de evaluación definido. |
| firstclock | La marca de tiempo del primer (el más antiguo) valor dentro del período de evaluación definido. |
| fuzzytime | Comprobar cuánto difiere la hora del agent pasivo de la hora del server/proxy de Zabbix. |
| last | El valor más reciente. |
| lastclock | La marca de tiempo del N-ésimo valor más reciente dentro del período de evaluación definido. |
| logeventid | Comprobar si el ID de evento de la última entrada de log coincide con una expresión regular. |
| logseverity | La severidad de log de la última entrada de log. |
| logsource | Comprobar si la fuente de log de la última entrada de log coincide con una expresión regular. |
| logtimestamp | La marca de tiempo del mensaje de log del N-ésimo valor de item de log más reciente. |
| monodec | Comprobar si ha habido una disminución monótona en los valores. |
| monoinc | Comprobar si ha habido un aumento monótono en los valores. |
| nodata | Comprobar si no se han recibido datos. |
| percentile | El percentil P de un período, donde P (porcentaje) se especifica mediante el tercer parámetro. |
| rate | La tasa promedio por segundo del aumento en un contador monótonamente creciente dentro del período de tiempo 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 - período 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 las funciones:
- 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 con
<> - 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
change(/host/key)
La cantidad de diferencia entre el valor anterior y el último.
Tipos de valores soportados: Float, Integer, String, Text, Log.
Para cadenas devuelve: 0 - los valores son iguales; 1 - los valores difieren.
Parámetros: ver parámetros comunes.
Comentarios:
- La diferencia numérica se calculará, como se ve con estos valores de ejemplo entrantes ('valor anterior' y 'último valor' = diferencia):
'1' y '5' =+4
'3' y '1' =-2
'0' y '-2.5' =-2.5. - En triggers, útil para detectar picos repentinos (o caídas), reinicios de contadores, transiciones de estado numérico.
- Ver también: abs para comparación.
Ejemplos:
change(/host/system.uptime)<0 #el cambio en el tiempo de actividad del sistema ha sido negativo desde el último valor (lo que indica un reinicio)
change(/host/system.cpu.load[all,avg1])>2 #la carga de CPU (durante un minuto) ha aumentado en más de 2 desde el último valor
change(/host/vfs.fs.size[/,free])<-1G #el espacio libre en disco ha caído en más de 1 GB entre comprobaciones
changecount(/host/key,(sec|#num)<:time shift>,<mode>)
El número de cambios entre valores adyacentes dentro del período de evaluación definido.
Tipos de valores soportados: Float, Integer, String, Text, Log.
Parámetros:
- Ver parámetros comunes
- mode (debe ir entre comillas dobles) - valores posibles: all - cuenta todos los cambios (por defecto); dec - cuenta las disminuciones; inc - cuenta los incrementos
Comentarios:
- Para tipos de valores no numéricos, el parámetro mode se ignora.
- En triggers, útil para detectar cambios de estado frecuentes (indicando inestabilidad).
Ejemplos:
changecount(/host/icmpping,10m)>5 #el estado del ping ha cambiado más de 5 veces en 10 minutos
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 #el estado operativo de eth0 ha cambiado más de 5 veces en una hora
changecount(/host/proc.num[httpd],15m)>10 #el número de procesos httpd ha cambiado más de 10 veces en 15 minutos
changecount(/host/key,#10,"inc") #el número de incrementos de valor (en relación con el valor adyacente) entre los últimos 10 valores
changecount(/host/key,24h,"dec") #el número de disminuciones de valor (en relación con el valor adyacente) durante las últimas 24 horas hasta ahora
count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
El número de valores dentro del período de evaluación definido.
Tipos de valores soportados: Float, Integer, String, Text, Log.
Parámetros:
- Ver parámetros comunes
- operator (debe ir entre comillas dobles)
Operadores soportados:
eq - igual (por defecto para integer, float)
ne - no igual
gt - mayor
ge - mayor o igual
lt - menor
le - menor o igual
like (por defecto para string, text, log) - coincide si contiene el patrón (distingue mayúsculas/minúsculas)
bitand - AND a nivel de bits
regexp - coincidencia sensible a mayúsculas/minúsculas de la expresión regular dada enpattern
iregexp - coincidencia insensible a mayúsculas/minúsculas de la expresión regular dada enpattern - pattern - el patrón requerido (los argumentos de tipo string deben ir entre comillas dobles)
Comentarios:
- Los items de tipo float coinciden con una precisión de 2.22e-16.
- like no es soportado como operador para valores integer.
- like y bitand no son soportados como operadores para valores float.
- Para valores string, text y log sólo se soportan los operadores eq, ne, like, regexp y iregexp.
- Con bitand como operador, 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, sólo es necesario especificar la mask (sin '/'). - Con regexp o iregexp como operador, el cuarto parámetro
patternpuede ser una expresión regular ordinaria o global (que comienza con '@'). En el caso de expresiones regulares globales, la sensibilidad a mayúsculas/minúsculas se hereda de la configuración de la expresión regular global. A efectos de coincidencia regexp, los valores float siempre se representarán con 4 dígitos decimales después del '.'. 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 el servidor Zabbix) puede afectar al cuarto dígito decimal.
Ejemplos:
count(/host/icmpping,30m,,"0")>5 #el ping ha fallado más de 5 veces en 30 minutos
count(/host/key,10m,"like","error") #el número de valores de los últimos 10 minutos hasta ahora que contienen 'error'
count(/host/key,10m,,12) #el número de valores de los últimos 10 minutos hasta ahora que son iguales a '12'
count(/host/key,10m,"gt",12) #el número de valores de los últimos 10 minutos hasta ahora que son mayores que '12'
count(/host/key,#10,"gt",12) #el número de valores dentro de los últimos 10 valores hasta ahora que son mayores que '12'
count(/host/key,10m:now-1d,"gt",12) #el número de valores entre 24 horas y 10 minutos y 24 horas atrás desde ahora que fueron mayores que '12'
count(/host/key,10m,"bitand","6/7") #el número de valores de los últimos 10 minutos hasta ahora que tienen '110' (en binario) en los 3 bits menos significativos
count(/host/key,10m:now-1d) #el número de valores entre 24 horas y 10 minutos y 24 horas atrás desde ahora
countunique(/host/key,(sec|#num)<:desplazamiento de tiempo>,<operador>,<patrón>)
El número de valores únicos dentro del período de evaluación definido.
Tipos de valores soportados: Float, Integer, String, Text, Log.
Parámetros:
- Ver parámetros comunes
- operator (debe ir entre comillas dobles).
Operadores soportados:
eq - igual (por defecto para integer, float)
ne - no igual
gt - mayor
ge - mayor o igual
lt - menor
le - menor o igual
like (por defecto para string, text, log) - coincide si contiene el patrón (distingue mayúsculas/minúsculas)
bitand - AND a nivel de bit
regexp - coincidencia que distingue mayúsculas/minúsculas de la expresión regular dada enpattern
iregexp - coincidencia que no distingue mayúsculas/minúsculas de la expresión regular dada enpattern - pattern - el patrón requerido (los argumentos de tipo string deben ir entre comillas dobles)
Comentarios:
- Los items de tipo float coinciden con una precisión de 2.22e-16.
- like no es soportado como operador para valores integer.
- like y bitand no son soportados como operadores para valores float.
- Para valores string, text y log sólo se soportan los operadores eq, ne, like, regexp y iregexp.
- Con bitand como operador, el cuarto parámetro
patternpuede especificarse como dos números, separados por '/': número_a_comparar/mascara. countunique() calcula el "AND a nivel de bit" entre el valor y la mascara y compara el resultado con número_a_comparar. Si el resultado del "AND a nivel de bit" es igual a número_a_comparar, el valor se cuenta.
Si número_a_comparar y mascara son iguales, sólo es necesario especificar la mascara (sin '/'). - Con regexp o iregexp como operador, el cuarto parámetro
patternpuede ser una expresión regular ordinaria o global (que comienza con '@'). En el caso de expresiones regulares globales, la distinción de mayúsculas/minúsculas se hereda de la configuración de la expresión regular global. A efectos de la coincidencia regexp, los valores float siempre se representarán con 4 dígitos decimales después del '.'. Tenga en cuenta también que para números grandes, la diferencia en la representación decimal (almacenada en la base de datos) y binaria (utilizada por el servidor Zabbix) puede afectar al cuarto dígito decimal.
Ejemplos:
countunique(/host/key,10m) #el número de valores únicos en los últimos 10 minutos hasta ahora
countunique(/host/key,10m,"like","error") #el número de valores únicos en los últimos 10 minutos hasta ahora que contienen 'error'
countunique(/host/key,10m,,12) #el número de valores únicos en los últimos 10 minutos hasta ahora que son iguales a '12'
countunique(/host/key,10m,"gt",12) #el número de valores únicos en los últimos 10 minutos hasta ahora que son mayores que '12'
countunique(/host/key,#10,"gt",12) #el número de valores únicos en los últimos 10 valores hasta ahora que son mayores que '12'
countunique(/host/key,10m:now-1d,"gt",12) #el número de valores únicos entre 24 horas y 10 minutos y 24 horas atrás desde ahora que fueron mayores que '12'
countunique(/host/key,10m,"bitand","6/7") #el número de valores únicos en los últimos 10 minutos hasta ahora que tienen '110' (en binario) en los 3 bits menos significativos
countunique(/host/key,10m:now-1d) #el número de valores únicos entre 24 horas y 10 minutos y 24 horas atrás desde ahora
find(/host/key,(sec|#num)<:time shift>,<operador>,<patrón>)
Busca una coincidencia de valor dentro del período de evaluación definido.
Tipos de valores soportados: Float, Integer, String, Text, Log.
Devuelve: 1 - encontrado; 0 - en caso contrario.
Parámetros:
- Ver parámetros comunes
- sec o #num (opcional): por defecto toma el valor más reciente si no se especifica
- operador (debe ir entre comillas dobles)
Operadores soportados:
eq - igual (por defecto para integer, float)
ne - no igual
gt - mayor
ge - mayor o igual
lt - menor
le - menor o igual
like (por defecto para string, text, log) - coincide si contiene la cadena dada enpattern(sensible a mayúsculas/minúsculas)
bitand - AND a nivel de bit
regexp - coincidencia sensible a mayúsculas/minúsculas de la expresión regular dada enpattern
iregexp - coincidencia insensible a mayúsculas/minúsculas de la expresión regular dada enpattern - pattern - el patrón requerido (los argumentos de tipo cadena deben ir entre comillas dobles); expresión regular Perl Compatible Regular Expression (PCRE) si el
operadores regexp, iregexp
Comentarios:
- Si se procesan más de un valor, se devuelve '1' si hay al menos un valor coincidente.
- like no está soportado como operador para valores integer.
- like y bitand no están soportados como operadores para valores float.
- Para valores string, text y log sólo se soportan los operadores eq, ne, like, regexp y iregexp.
- Con regexp o iregexp como operador, el cuarto parámetro
patternpuede ser una expresión regular ordinaria o global (que comienza con '@'). En el caso de expresiones regulares globales, la sensibilidad a mayúsculas/minúsculas se hereda de la configuración de la expresión regular global.
Ejemplos:
find(/host/key,10m,"like","error") #buscar un valor que contenga 'error' en los últimos 10 minutos hasta ahora
find(/host/agent.version,,"like","beta")=1 #el agent de Zabbix tiene versión beta, debe actualizarse
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #se ha encontrado un error interno del servidor web
first(/host/key,sec<:time shift>)
El primer (el más antiguo) valor dentro del período de evaluación definido.
Tipos de valores soportados: Float, Integer, String, Text, Log.
Parámetros:
Ver también last().
Ejemplo:
first(/host/key,1h) #recupera el valor más antiguo dentro de la última hora hasta ahora
firstclock(/host/key,sec<:time shift>)
La marca de tiempo del valor más antiguo dentro del período de evaluación definido.
Tipos de valores soportados: Float, Integer, String, Text, Log.
Parámetros:
- Ver parámetros comunes.
La función falla con un error si no se han recogido datos en el período dado.
Ver también lastclock().
Ejemplos:
firstclock(/host/key,1h) #recupera la marca de tiempo del valor más antiguo dentro de la última hora
firstclock(/host/key,1h:now-24h) #recupera la marca de tiempo del valor más antiguo dentro de la última hora hace un día
fuzzytime(/host/key,sec)
Comprueba cuánto difiere la hora del agent pasivo de la hora del server/proxy de Zabbix.
Tipos de valores soportados: Float, Integer.
Devuelve: 1 - la diferencia entre el valor del item pasivo (como timestamp) y el timestamp del server/proxy de Zabbix (el reloj de la recogida de valores) es menor o igual a sec segundos; 0 - en caso contrario.
Parámetros:
- Ver parámetros comunes.
Comentarios:
- Normalmente se utiliza con el item 'system.localtime' para comprobar que la hora local está sincronizada con la hora local del server de Zabbix. Tenga en cuenta que 'system.localtime' debe configurarse como una comprobación pasiva para el agent de Zabbix; en el agent 2 de Zabbix puede configurarse como una comprobación activa.
- También puede utilizarse con la clave
vfs.file.time[/path/file,modify]para comprobar que el archivo no ha recibido actualizaciones durante mucho tiempo. - No se recomienda utilizar esta función en expresiones de trigger complejas (con varios items implicados), porque puede provocar resultados inesperados (la diferencia de tiempo se medirá con la métrica más reciente), por ejemplo en
fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0.
Ejemplos:
fuzzytime(/host/system.localtime,5m)=0 #la hora local del cliente difiere de la hora del server/proxy de Zabbix en más de 5 minutos
fuzzytime(/host/system.localtime,5m)=0 and nodata(/host/system.localtime,10m)=0 #la hora local del cliente difiere de la hora del server/proxy de Zabbix en más de 5 minutos (asegurándose de que el item no ha dejado de reportar datos)
last(/host/key,<#num<:time shift>>)
El valor más reciente.
Tipos de valores soportados: Float, Integer, String, Text, Log.
Parámetros:
- Ver parámetros comunes
- #num (opcional) - el N-ésimo valor más reciente
Comentarios:
- Tenga en cuenta que un período de tiempo con almohadilla (#N) funciona de manera diferente aquí que con muchas otras funciones.
Por ejemplo:
last(/host/key)siempre es igual alast(/host/key,#1);last(/host/key,#3)- el tercer valor más reciente (no los tres valores más recientes). - Zabbix no garantiza el orden exacto de los valores si existen más de dos valores dentro de un segundo en el historial.
- Ver también first().
Ejemplos:
last(/host/key) #recuperar el último valor
last(/host/key,#2) #recuperar el valor anterior
last(/host/key,#1)<>last(/host/key,#2) #los dos últimos valores difieren
lastclock(/host/key,<#num<:time shift>>)
La marca de tiempo del N-ésimo valor más reciente dentro del período de evaluación definido.
Tipos de valores soportados: Float, Integer, String, Text, Log.
Parámetros:
- Ver parámetros comunes;
- #num (opcional) - el N-ésimo valor más reciente.
La función falla con un error si no se han recolectado datos en el período dado o no se ha recolectado el valor N-ésimo.
Ver también firstclock().
Ejemplos:
lastclock(/host/key) #recuperar la marca de tiempo del valor más reciente
lastclock(/host/key,#2) #recuperar la marca de tiempo del segundo valor más reciente
now()-lastclock(/host/heartbeat.item)>300 #han pasado más de 5 minutos desde que se actualizó el item de latido
lastclock(/host/system.cpu.load[all,avg1])-lastclock(/host/system.cpu.load[all,avg1],#2)>300 #el intervalo de actualización entre los dos últimos valores es superior a 5 minutos
((now()-lastclock(/host/system.cpu.load[all,avg1])<120 and last(/host/system.cpu.load[all,avg1])>5)) #el valor de CPU es alto y el valor es reciente (menos de 2 minutos)
logeventid(/host/key,<#num<:time shift>>,<pattern>)
Comprueba si el ID de evento de la última entrada de registro coincide con una expresión regular.
Tipos de valor soportados: Log.
Devuelve: 0 - no coincide; 1 - coincide.
Parámetros:
- Ver parámetros comunes
- #num (opcional) - el N-ésimo valor más reciente
- pattern (opcional) - la expresión regular que describe el patrón requerido, estilo Perl Compatible Regular Expression (PCRE) (los argumentos de tipo string deben ir entre comillas dobles)
Ejemplos:
logeventid(/host/eventlog[Security],,"4625")=1 #se ha encontrado una entrada de registro con un ID que coincide con "4625" (autenticación fallida)
logeventid(/host/eventlog[System],,"6008|41")=1 #se ha encontrado una entrada de registro con un ID que coincide con "6008" o "41"
logseverity(/host/key,<#num<:time shift>>)
Gravedad del último registro de log.
Tipos de valor soportados: Log.
Devuelve: 0 - gravedad por defecto; N - gravedad (entero, útil para logs de eventos de Windows: 1 - Información, 2 - Advertencia, 4 - Error, 7 - Auditoría de error, 8 - Auditoría de éxito, 9 - Crítico, 10 - Detallado).
Parámetros:
- Ver parámetros comunes
- #num (opcional) - el N-ésimo valor más reciente
Zabbix toma la gravedad del log del campo Information del log de eventos de Windows.
Ejemplos:
logseverity(/host/log[/var/log/syslog],10m)>3 #se encontró una entrada de log con gravedad superior a "3"
logseverity(/host/eventlog[System],10m)=4 #se encontró una entrada de log con gravedad igual a "Error"
logsource(/host/key,<#num<:time shift>>,<pattern>)
Comprueba si la fuente del último registro coincide con una expresión regular.
Tipos de valor soportados: Log.
Devuelve: 0 - no coincide; 1 - coincide.
Parámetros:
- Ver parámetros comunes
- #num (opcional) - el N-ésimo valor más reciente
- pattern (opcional) - la expresión regular que describe el patrón requerido, estilo Perl Compatible Regular Expression (PCRE) (los argumentos de tipo string deben ir entre comillas dobles)
Normalmente se utiliza para los registros de eventos de Windows.
Ejemplos:
logsource(/host/eventlog[Application],,"MSSQLSERVER")=1 #se ha encontrado una entrada de registro con una fuente que coincide con "MSSQLSERVER"
logsource(/host/eventlog[System],,"Service Control Manager")=1 #se ha encontrado una entrada de registro con una fuente que coincide con "Service Control Manager"
logsource(/host/eventlog[System],,"Service Control Manager")=1 and logeventid(/host/eventlog[System],,"7031")=1 #se ha encontrado una entrada de registro con una fuente que coincide con "Service Control Manager" y un ID de evento que coincide con "7031"
logtimestamp(/host/key,<#num<:time shift>>)
La marca de tiempo del mensaje de log del N-ésimo valor de item de log más reciente.
Tipos de valor soportados: Log.
Parámetros:
- Ver parámetros comunes;
- #num (opcional) - el N-ésimo valor más reciente.
Comentarios:
- El cálculo del desplazamiento de tiempo se basa en el clock del valor del item, no en la marca de tiempo del mensaje de log;
- La función falla con un error si:
- se recibe un item que no es de tipo log;
- no se han recogido datos en el periodo dado;
- no se ha recogido el valor N-ésimo;
- el mensaje de log no contiene un valor de marca de tiempo.
Ejemplos:
logtimestamp(/host/key) #recuperar la marca de tiempo del último mensaje de log
logtimestamp(/host/key,#2) #recuperar la marca de tiempo del segundo mensaje de log más reciente
logtimestamp(/host/key,#3:now-1d) #recuperar la marca de tiempo del tercer mensaje de log más reciente hace un día
monodec(/host/key,(sec|#num)<:time shift>,<mode>)
Comprueba si ha habido una disminución monótona en los valores.
Tipos de valores soportados: Entero.
Devuelve: 1 - si todos los elementos en el periodo de tiempo disminuyen continuamente; 0 - en caso contrario.
Parámetros:
- Ver parámetros comunes
- mode (debe ir entre comillas dobles) - weak (cada valor es menor o igual que el anterior; por defecto) o strict (cada valor ha disminuido)
Ejemplos:
monodec(/host/system.swap.size[all,free],60s) + monodec(/host2/system.swap.size[all,free],60s) + monodec(/host3/system.swap.size[all,free],60s) #calcular en cuántos hosts ha habido una disminución en el tamaño de swap libre
monodec(/host/proc.num[nginx],10m,"strict")=1 #el número de procesos nginx ha disminuido monótonamente durante 10 minutos
monoinc(/host/key,(sec|#num)<:time shift>,<mode>)
Comprueba si ha habido un aumento monótono en los valores.
Tipos de valores soportados: Integer.
Devuelve: 1 - si todos los elementos en el período de tiempo aumentan continuamente; 0 - en caso contrario.
Parámetros:
- Ver parámetros comunes
- mode (debe ir entre comillas dobles) - weak (cada valor es mayor o igual que el anterior; por defecto) o strict (cada valor ha aumentado)
Ejemplos:
monoinc(/host/system.localtime,#3,"strict")=0 #la hora local del sistema no ha aumentado de forma consistente
monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #dispara si el recuento de archivos se ha estancado durante 24 horas (se espera que crezca)
nodata(/host/key,sec,<mode>)
Comprobar si no se han recibido datos.
Tipos de valor soportados: Entero, Decimal, Caracter, Texto, Log.
Devuelve: 1 - si no se han recibido datos durante el periodo de tiempo definido; 0 - en caso contrario.
Parámetros:
- Ver parámetros comunes
- sec - el periodo no debe ser inferior a 30 segundos porque el proceso history syncer calcula esta función sólo cada 30 segundos;
nodata(/host/key,0)no está permitido - mode - si se establece en strict (entre comillas dobles), esta función será insensible a la disponibilidad del proxy (ver comentarios para más detalles)
Comentarios:
- los triggers 'nodata' monitorizados por proxy, por defecto, son sensibles a la disponibilidad del proxy - si el proxy se vuelve no disponible, los triggers 'nodata' no se activarán inmediatamente después de restablecer la conexión, sino que omitirán los datos del periodo de retraso.
Tenga en cuenta que para los proxies pasivos la supresión se activa si la conexión se restablece más de 15 segundos y no menos de 2 segundos después.
Para los proxies activos la supresión se activa si la conexión se restablece más de 15 segundos después.
Para desactivar la sensibilidad a la disponibilidad del proxy, utilice el tercer parámetro, por ejemplo:
nodata(/host/key,5m,"strict"); en este caso la función se activará tan pronto como haya pasado el periodo de evaluación (cinco minutos) sin datos. - Esta función mostrará un error si, dentro del periodo del primer parámetro:
- no hay datos y el servidor Zabbix se ha reiniciado
- no hay datos y se ha completado el mantenimiento
- no hay datos y el item se ha añadido o vuelto a habilitar. - Los errores se muestran en la columna Info en la configuración del trigger.
- Esta función puede no funcionar correctamente si hay diferencias horarias entre el servidor Zabbix, el proxy y el agent. Ver también: Requisito de sincronización horaria.
Ejemplo:
nodata(/host/agent.ping,5m)=1 #trigger si no se han recibido datos del agent Zabbix durante 5 minutos
percentile(/host/key,(sec|#num)<:time shift>,percentage)
El percentil P de un período, donde P (porcentaje) se especifica mediante el tercer parámetro.
Tipos de valores soportados: Float, Integer.
Parámetros:
- Ver parámetros comunes
- percentage - un número de punto flotante entre 0 y 100 (inclusive) con hasta 4 dígitos después del punto decimal
Ejemplos:
percentile(/host/net.if.in[eth0,bytes],1h,95)>1000000 #el percentil 95 de la entrada de red (bytes/seg) durante 1 hora ha superado un umbral (por ejemplo, 1 MB/s)
percentile(/host/system.cpu.util,5m,95)>80 #el percentil 95 del porcentaje de utilización de CPU en tiempo de usuario ha superado el 80
percentile(/host/icmppingsec[192.168.0.2],15m,95)>0.15 #la mayoría de las mediciones de latencia están por debajo de 150 ms, pero el extremo superior (el 5% superior) implica retrasos regulares
percentile(/host/net.if.in[eth0,bytes],1h,50) #calcula el percentil 50 (el valor mediano) del tráfico de red entrante durante una hora; esto da un resultado diferente de avg() (el promedio), ya que percentile no considera los valores atípicos
(percentile(/host/net.if.in[eth0,bytes],1h,50)+percentile(/host/net.if.in[eth0,bytes],1h,51))/2 #calcula el valor mediano preciso con un número par de valores durante una hora
rate(/host/key,sec<:time shift>)
El aumento promedio por segundo en un contador monotonamente creciente dentro del período de tiempo definido.
Tipos de valores soportados: Float, Integer.
Parámetros:
Corresponde funcionalmente a 'rate' de PromQL.
Ejemplos:
rate(/host/key,30s) #si el aumento monótono durante 30 segundos es 20, esta función devuelve 0.67.
rate(/host/net.if.in[eth0,bytes],5m)>500000 #la tasa de tráfico entrante en la interfaz eth0 ha superado los 500 KB/s en los últimos 5 minutos
rate(/host/app.requests.count,1m)>100 #el contador de solicitudes ha aumentado a >100 solicitudes por segundo en el último minuto
Consulte todas las funciones soportadas.