Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

4 Funciones de histórico

Todas las funciones listadas aquí son compatibles en:

Las funciones se listan 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 agente pasivo de la hora del servidor/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 registro coincide con una expresión regular.
logseverity La severidad de registro de la última entrada de registro.
logsource Comprobar si la fuente de registro de la última entrada de registro coincide con una expresión regular.
logtimestamp La marca de tiempo del mensaje de registro del N-ésimo valor de la métrica de registro 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
  • /equipo/métrica es un primer parámetro obligatorio común para las funciones que hacen referencia al historial de métricas del equipo
  • (seg|#num)<:desplazamiento de tiempo> es un segundo parámetro común para las funciones que hacen referencia al historial de métricas del equipo, donde:
    • seg - 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 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 con < >
  • Los parámetros específicos de la función se describen con cada función
  • Los parámetros /equipo/métrica y (seg|#num)<:desplazamiento de tiempo> nunca deben ir entre comillas
change(/equipo/clave)

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:

  • Se calculará la diferencia numérica, como se observa 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
  • Ver también: abs para comparación.

Ejemplos:

change(/equipo/clave)>10
changecount(/equipo/clave,(seg|#num)<:desplazamiento de tiempo>,<modo>)

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;
  • modo (debe ir entre comillas dobles) - valores posibles: all - contar todos los cambios (por defecto); dec - contar disminuciones; inc - contar incrementos

Para tipos de valores no numéricos, el parámetro modo se ignora.

Ejemplos:

changecount(/equipo/clave,1w) #el número de cambios de valor durante la última semana hasta ahora
       changecount(/equipo/clave,#10,"inc") #el número de incrementos de valor (relativo al valor adyacente) entre los últimos 10 valores
       changecount(/equipo/clave,24h,"dec") #el número de disminuciones de valor (relativo al valor adyacente) durante las últimas 24 horas hasta ahora
count(/equipo/métrica,(seg|#num)<:desplazamiento de tiempo>,<operador>,<patrón>)

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;
  • 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 el patrón (sensible a mayúsculas/minúsculas)
    bitand - AND a nivel de bits
    regexp - coincidencia sensible a mayúsculas/minúsculas de la expresión regular dada en patrón
    iregexp - coincidencia insensible a mayúsculas/minúsculas de la expresión regular dada en patrón
  • patrón - el patrón requerido (los argumentos de tipo string deben ir entre comillas dobles).

Comentarios:

  • Las métricas 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 solo se soportan los operadores eq, ne, like, regexp y iregexp;
  • Con bitand como operador, el cuarto parámetro patrón puede especificarse como dos números, separados por '/': número_a_comparar_con/máscara. count() calcula el "AND a nivel de bits" entre el valor y la máscara y compara el resultado con número_a_comparar_con. Si el resultado del "AND a nivel de bits" es igual a número_a_comparar_con, el valor se cuenta.
    Si número_a_comparar_con y máscara son iguales, solo es necesario especificar la máscara (sin '/').
  • Con regexp o iregexp como operador, el cuarto parámetro patrón puede ser una expresión regular ordinaria o global (comenzando 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. Para el propósito 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:

count(/equipo/métrica,10m) #los valores de los últimos 10 minutos hasta ahora
       count(/equipo/métrica,10m,"like","error") #el número de valores de los últimos 10 minutos hasta ahora que contienen 'error'
       count(/equipo/métrica,10m,,12) #el número de valores de los últimos 10 minutos hasta ahora que son igual a '12'
       count(/equipo/métrica,10m,"gt",12) #el número de valores de los últimos 10 minutos hasta ahora que son mayores que '12'
       count(/equipo/métrica,#10,"gt",12) #el número de valores dentro de los últimos 10 valores hasta ahora que son mayores que '12'
       count(/equipo/métrica,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(/equipo/métrica,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(/equipo/métrica,10m:now-1d) #el número de valores entre 24 horas y 10 minutos y 24 horas atrás desde ahora
countunique(/equipo/clave,(seg|#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;
  • 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 el patrón (sensible a mayúsculas/minúsculas)
    bitand - AND a nivel de bits
    regexp - coincidencia sensible a mayúsculas/minúsculas de la expresión regular dada en patrón
    iregexp - coincidencia insensible a mayúsculas/minúsculas de la expresión regular dada en patrón
  • patrón - el patrón requerido (los argumentos de tipo string deben ir entre comillas dobles).

Comentarios:

  • Las métricas 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 solo se soportan los operadores eq, ne, like, regexp y iregexp;
  • Con bitand como operador, el cuarto parámetro patrón puede especificarse como dos números, separados por '/': número_a_comparar_con/máscara. countunique() calcula el "AND a nivel de bits" entre el valor y la máscara y compara el resultado con número_a_comparar_con. Si el resultado del "AND a nivel de bits" es igual a número_a_comparar_con, el valor se cuenta.
    Si número_a_comparar_con y máscara son iguales, solo es necesario especificar la máscara (sin '/').
  • Con regexp o iregexp como operador, el cuarto parámetro patrón puede ser una expresión regular ordinaria o global (comenzando 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:

countunique(/equipo/clave,10m) #el número de valores únicos en los últimos 10 minutos hasta ahora
       countunique(/equipo/clave,10m,"like","error") #el número de valores únicos en los últimos 10 minutos hasta ahora que contienen 'error'
       countunique(/equipo/clave,10m,,12) #el número de valores únicos en los últimos 10 minutos hasta ahora que son iguales a '12'
       countunique(/equipo/clave,10m,"gt",12) #el número de valores únicos en los últimos 10 minutos hasta ahora que son mayores que '12'
       countunique(/equipo/clave,#10,"gt",12) #el número de valores únicos dentro de los últimos 10 valores hasta ahora que son mayores que '12'
       countunique(/equipo/clave,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(/equipo/clave,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(/equipo/clave,10m:now-1d) #el número de valores únicos entre 24 horas y 10 minutos y 24 horas atrás desde ahora
find(/equipo/métrica,(sec|#num)<:desplazamiento de tiempo>,<operador>,<patrón>)

Busca una coincidencia de valor dentro del período de evaluación definido.
Tipos de valor 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 en patrón (sensible a mayúsculas/minúsculas)
    bitand - AND a nivel de bits
    regexp - coincidencia sensible a mayúsculas/minúsculas de la expresión regular dada en patrón
    iregexp - coincidencia insensible a mayúsculas/minúsculas de la expresión regular dada en patrón
  • patrón - el patrón requerido (los argumentos de tipo cadena deben ir entre comillas dobles); expresión regular Perl Compatible Regular Expression (PCRE) si el operador es regexp, iregexp.

Comentarios:

  • Si se procesan más de un valor, se devuelve '1' si hay al menos un valor coincidente;
  • 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 solo se soportan los operadores eq, ne, like, regexp y iregexp;
  • Con regexp o iregexp como operador, el cuarto parámetro patrón puede ser una expresión regular ordinaria o global (comenzando con '@'). En caso de expresiones regulares globales, la sensibilidad a mayúsculas/minúsculas se hereda de la configuración de la expresión regular global.

Ejemplo:

find(/equipo/métrica,10m,"like","error") #busca un valor que contenga 'error' en los últimos 10 minutos hasta ahora
first(/equipo/clave,sec<:desplazamiento de tiempo>)

El primer (el más antiguo) valor dentro del periodo de evaluación definido.
Tipos de valores soportados: Float, Integer, String, Text, Log.

Parámetros:

Ver también last().

Ejemplo:

first(/equipo/clave,1h) #recupera el valor más antiguo dentro de la última hora hasta ahora
firstclock(/equipo/clave,sec<:desplazamiento de tiempo>)

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:

La función falla con un error si no se han recopilado datos en el período dado.

Véase también lastclock().

Ejemplo:

firstclock(/equipo/clave,1h) #recupera la marca de tiempo del valor más antiguo dentro de la última hora hasta ahora
       firstclock(/equipo/clave,1h:now-24h) #recupera la marca de tiempo del valor más antiguo dentro de la última hora hace un día
fuzzytime(/equipo/clave,seg)

Comprueba cuánto difiere la hora del agente pasivo respecto a la hora del servidor/proxy Zabbix.
Tipos de valores soportados: Float, Integer.
Devuelve: 1 - la diferencia entre el valor de la métrica pasiva (como marca de tiempo) y la marca de tiempo del servidor/proxy Zabbix (el reloj de la recogida del valor) es menor o igual a seg segundos; 0 - en caso contrario.

Parámetros:

Comentarios:

  • Normalmente se utiliza con la métrica 'system.localtime' para comprobar que la hora local está sincronizada con la hora local del servidor Zabbix. Nota que 'system.localtime' debe configurarse como una comprobación pasiva.
  • También puede utilizarse con la clave vfs.file.time[/ruta/archivo,modify] para comprobar que el archivo no ha recibido actualizaciones durante mucho tiempo;
  • No se recomienda utilizar esta función en expresiones de disparadores complejas (con varias métricas implicadas), porque puede causar resultados inesperados (la diferencia de tiempo se medirá con la métrica más reciente), por ejemplo en fuzzytime(/Equipo/system.localtime,60s)=0 or last(/Equipo/trap)<>0.

Ejemplo:

fuzzytime(/equipo/clave,60s)=0 #detecta un problema si la diferencia de tiempo es superior a 60 segundos

last(/equipo/clave,<#num<:desplazamiento de tiempo>>)

El valor más reciente.
Tipos de valor soportados: Float, Integer, String, Text, Log.

Parámetros:

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(/equipo/clave) es siempre igual a last(/equipo/clave,#1); last(/equipo/clave,#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;
  • Véase también first().

Ejemplo:

last(/equipo/clave) #recupera el último valor
       last(/equipo/clave,#2) #recupera el valor anterior
       last(/equipo/clave,#1) <> last(/equipo/clave,#2) #el último y el valor anterior difieren
lastclock(/equipo/clave,<#num<:desplazamiento de tiempo>>)

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:

La función falla con un error si no se han recopilado datos en el período dado o no se ha recopilado el valor N-ésimo.

Véase también firstclock().

Ejemplo:

lastclock(/equipo/clave) #recupera la marca de tiempo del valor más reciente
       lastclock(/equipo/clave,#2) #recupera la marca de tiempo del segundo valor más reciente
       lastclock(/equipo/clave,#3:now-1d) #recupera la marca de tiempo del tercer valor más reciente hace un día
logeventid(/equipo/métrica,<#num<:desplazamiento de tiempo>>,<patrón>)

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:

logseverity(/equipo/clave,<#num<:desplazamiento de tiempo>>)

Gravedad del registro de la última entrada de registro.
Tipos de valor soportados: Log.
Devuelve: 0 - gravedad por defecto; N - gravedad (entero, útil para registros 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:

Zabbix toma la gravedad del registro del campo Information del registro de eventos de Windows.

logsource(/equipo/métrica,<#num<:desplazamiento de tiempo>>,<patrón>)

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:

Normalmente se utiliza para registros de eventos de Windows.

Ejemplo:

logsource(/equipo/métrica,,"VMware Server")
logtimestamp(/equipo/métrica,<#num<:desplazamiento de tiempo>>)

La marca de tiempo del mensaje de registro del valor N más reciente de la métrica de registro.
Tipos de valores soportados: Log.

Parámetros:

Comentarios:

  • El cálculo del desplazamiento de tiempo se basa en el reloj del valor de la métrica, no en la marca de tiempo del mensaje de registro;
  • La función falla con un error si:
    • se recibe una métrica 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 registro no contiene un valor de marca de tiempo.

Ejemplo:

logtimestamp(/equipo/métrica) #recupera la marca de tiempo del último mensaje de registro
       logtimestamp(/equipo/métrica,#2) #recupera la marca de tiempo del segundo mensaje de registro más reciente
       logtimestamp(/equipo/métrica,#3:now-1d) #recupera la marca de tiempo del tercer mensaje de registro más reciente hace un día
monodec(/equipo/clave,(seg|#num)<:desplazamiento de tiempo>,<modo>)

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 período de tiempo disminuyen continuamente; 0 - en caso contrario.

Parámetros:

  • Ver parámetros comunes;
  • modo (debe ir entre comillas dobles) - weak (cada valor es menor o igual que el anterior; por defecto) o strict (cada valor ha disminuido).

Ejemplo:

monodec(/Equipo1/system.swap.size[all,free],60s) + monodec(/Equipo2/system.swap.size[all,free],60s) + monodec(/Equipo3/system.swap.size[all,free],60s) #calcular en cuántos equipos ha habido una disminución en el tamaño de swap libre
monoinc(/equipo/métrica,(seg|#num)<:desplazamiento de tiempo>,<modo>)

Comprueba si ha habido un aumento monótono en los valores.
Tipos de valores soportados: Entero.
Devuelve: 1 - si todos los elementos en el período de tiempo aumentan continuamente; 0 - en caso contrario.

Parámetros:

  • Ver parámetros comunes;
  • modo (debe ir entre comillas dobles) - weak (cada valor es mayor o igual que el anterior; por defecto) o strict (cada valor ha aumentado).

Ejemplo:

monoinc(/Equipo1/system.localtime,#3,"strict")=0 #comprueba si la hora local del sistema ha estado aumentando consistentemente
nodata(/equipo/clave,seg,<modo>)

Comprueba si no se han recibido datos.
Tipos de valores soportados: Entero, Flotante, Carácter, 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;
  • seg - el periodo no debe ser inferior a 30 segundos porque el proceso history syncer calcula esta función solo cada 30 segundos; nodata(/equipo/clave,0) no está permitido.
  • modo - 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 disparadores 'nodata' monitorizados por proxy son, por defecto, sensibles a la disponibilidad del proxy: si el proxy se vuelve no disponible, los disparadores 'nodata' no se activarán inmediatamente después de restablecer la conexión, sino que omitirán los datos del periodo retrasado. Tenga en cuenta que para 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 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(/equipo/clave,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 fue reiniciado
    - no hay datos y se completó el mantenimiento
    - no hay datos y la métrica fue añadida o reactivada
  • Los errores se muestran en la columna Info en la configuración del disparador;
  • Esta función puede no funcionar correctamente si hay diferencias horarias entre el servidor Zabbix, el proxy y el agente. Véase también: Requisito de sincronización horaria;
  • la función nodata() no puede usarse sola en la expresión; debe incluirse al menos una función de otro grupo, haciendo referencia a la métrica del equipo, en la expresión (excepto funciones de fecha y hora). Para información detallada sobre cómo funciona la función nodata() dentro de las expresiones, consulte Tiempo de cálculo.
percentile(/equipo/clave,(seg|#num)<:desplazamiento de tiempo>,porcentaje)

El percentil P de un período, donde P (porcentaje) se especifica mediante el tercer parámetro.
Tipos de valor soportados: Float, Integer.

Parámetros:

  • Ver parámetros comunes;
  • porcentaje: un número de punto flotante entre 0 y 100 (inclusive) con hasta 4 dígitos después del punto decimal.
rate(/equipo/clave,seg<:desplazamiento de tiempo>)

La tasa promedio por segundo del aumento en un contador monótonamente creciente dentro del período de tiempo definido.
Tipos de valores soportados: Float, Integer.

Parámetros:

Corresponde funcionalmente a 'rate' de PromQL.

Ejemplo:

rate(/equipo/clave,30s) #si el aumento monótono durante 30 segundos es 20, esta función devolverá 0.67.

Consulte todas las funciones soportadas.