Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Únase a nuestro proyecto de traducción y ayude a traducir la documentación de Zabbix a su lengua materna.

4 Funciones de historial

Todas las funciones enumeradas 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 valor (el más antiguo) dentro del período de evaluación definido.
fuzzytime Compruebe en qué medida el tiempo del agente pasivo difiere del tiempo del servidor/proxy de Zabbix.
last El valor más reciente.
logeventid Compruebe si el ID del evento de la última entrada del registro coincide con una expresión regular.
logseverity La gravedad del registro de la última entrada del registro.
logsource Compruebe si el origen del registro de la última entrada del registro coincide con una expresión regular.
monodec Comprueba si se ha producido una disminución monótona de los valores.
monoinc Comprueba si se ha producido un aumento monótono de los valores.
nodata Comprueba que no se hayan recibido datos.
percentile El percentil P-ésimo de un período, donde P (porcentaje) se especifica mediante el tercer parámetro.
rate La tasa promedio por segundo de aumento en un contador que aumenta monótonamente dentro del período de tiempo definido.
Parámetros comunes
  • /host/key es un primer parámetro obligatorio común para las funciones haciendo referencia al historial de la métrica del equipo
  • (sec|#num)<:time shift> es un segundo parámetro común para las funciones que hacen referencia al historial de la métrica del equipo, donde:
    • seg - período máximo de evaluación en segundos (se pueden utilizar sufijos) de tiempo , o
    • #num - máximo rango de evaluación en la última versión de valores recopilados (si están precedidos por una almohadilla)
    • time shift (opcional) permite mover el punto de evaluación atrás en el tiempo. Ver más detalles sobre como especificar el desplazamiento de hora.

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/key y (sec|#num)<:time shift> nunca deben ser encerrados entre comillas
change(/host/key)

La cantidad de diferencia entre el valor anterior y el último.
Tipos de valores admitidos: Flotante, Entero, Cadena, Texto, Log.
Para cadenas devuelve: 0 - los valores son iguales; 1 - los valores difieren.

Parámetros: consulte parámetros comunes.

Comentarios:

  • Se calculará la diferencia numérica, como se ve con estos valores entrantes de ejemplo (valor 'anterior' y 'último' = diferencia):
    '1' y '5' = +4
    '3' y ' 1' = -2
    '0' y '-2.5' = -2.5
  • Ver también: abs para comparar.

Ejemplos:

change(/host/key)>10
changecount(/host/key,(sec|#num)<:time shift>,<modo>)

El número de cambios entre valores adyacentes dentro del período de evaluación definido.
Tipos de valores admitidos: Flotante, Entero, Cadena, Texto, Log.

Parámetros:

  • Ver parámetros comunes;
  • modo (debe estar entre comillas dobles) - valores posibles: all - contar todos los cambios (predeterminado); dec - recontar disminuciones de valor; inc - recontar aumentos de valor

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

Ejemplos:

changecount(/host/key,1w) #el número de cambios de valor durante la última semana hasta ahora
       changecount(/host/key,#10,"inc") #el número de valores aumentados (en relación con el valor adyacente) de los últimos 10 valores
       changecount(/host/key,24h,"dec") #el número de valores disminuidos (en relación con el valor adyacente) durante las últimas 24 horas hasta ahora
count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

The number of values within the defined evaluation period.
Supported value types: Float, Integer, String, Text, Log.

Parameters:

  • See common parameters;
  • operator (must be double-quoted). Supported operators:
    eq - equal (default)
    ne - not equal
    gt - greater
    ge - greater or equal
    lt - less
    le - less or equal
    like - matches if contains pattern (case-sensitive)
    bitand - bitwise AND
    regexp - case-sensitive match of the regular expression given in pattern
    iregexp - case-insensitive match of the regular expression given in pattern
  • pattern - the required pattern (string arguments must be double-quoted).

Comments:

  • Float items match with the precision of 2.22e-16; if database is not upgraded the precision is 0.000001.
  • With bitand as the third parameter, the fourth pattern parameter can be specified as two numbers, separated by '/': number_to_compare_with/mask. count() calculates "bitwise AND" from the value and the mask and compares the result to number_to_compare_with. If the result of "bitwise AND" is equal to number_to_compare_with, the value is counted.
    If number_to_compare_with and mask are equal, only the mask need be specified (without '/').
  • With regexp or iregexp as the third parameter, the fourth pattern parameter can be an ordinary or global (starting with '@') regular expression. In case of global regular expressions case sensitivity is inherited from global regular expression settings. For the purpose of regexp matching, float values will always be represented with 4 decimal digits after '.'. Also note that for large numbers difference in decimal (stored in database) and binary (used by Zabbix server) representation may affect the 4th decimal digit.

Examples:

count(/host/key,10m) #the values for the last 10 minutes until now
       count(/host/key,10m,"like","error") #the number of values for the last 10 minutes until now that contain 'error'
       count(/host/key,10m,,12) #the number of values for the last 10 minutes until now that equal '12'
       count(/host/key,10m,"gt",12) #the number of values for the last 10 minutes until now that are over '12'
       count(/host/key,#10,"gt",12) #the number of values within the last 10 values until now that are over '12'
       count(/host/key,10m:now-1d,"gt",12) #the number of values between 24 hours and 10 minutes and 24 hours ago from now that were over '12'
       count(/host/key,10m,"bitand","6/7") #the number of values for the last 10 minutes until now having '110' (in binary) in the 3 least significant bits
       count(/host/key,10m:now-1d) #the number of values between 24 hours and 10 minutes and 24 hours ago from now
countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

The number of unique values within the defined evaluation period.
Supported value types: Float, Integer, String, Text, Log.

Parameters:

  • See common parameters;
  • operator (must be double-quoted). Supported operators:
    eq - equal (default)
    ne - not equal
    gt - greater
    ge - greater or equal
    lt - less
    le - less or equal
    like - matches if contains pattern (case-sensitive)
    bitand - bitwise AND
    regexp - case-sensitive match of the regular expression given in pattern
    iregexp - case-insensitive match of the regular expression given in pattern
  • pattern - the required pattern (string arguments must be double-quoted).

Comments:

  • Float items match with the precision of 2.22e-16; if database is not upgraded the precision is 0.000001.
  • With bitand as the third parameter, the fourth pattern parameter can be specified as two numbers, separated by '/': number_to_compare_with/mask. countunique() calculates "bitwise AND" from the value and the mask and compares the result to number_to_compare_with. If the result of "bitwise AND" is equal to number_to_compare_with, the value is counted.
    If number_to_compare_with and mask are equal, only the mask need be specified (without '/').
  • With regexp or iregexp as the third parameter, the fourth pattern parameter can be an ordinary or global (starting with '@') regular expression. In case of global regular expressions case sensitivity is inherited from global regular expression settings. For the purpose of regexp matching, float values will always be represented with 4 decimal digits after '.'. Also note that for large numbers difference in decimal (stored in database) and binary (used by Zabbix server) representation may affect the 4th decimal digit.

Examples:

countunique(/host/key,10m) #the number of unique values for the last 10 minutes until now
       countunique(/host/key,10m,"like","error") #the number of unique values for the last 10 minutes until now that contain 'error'
       countunique(/host/key,10m,,12) #the number of unique values for the last 10 minutes until now that equal '12'
       countunique(/host/key,10m,"gt",12) #the number of unique values for the last 10 minutes until now that are over '12'
       countunique(/host/key,#10,"gt",12) #the number of unique values within the last 10 values until now that are over '12'
       countunique(/host/key,10m:now-1d,"gt",12) #the number of unique values between 24 hours and 10 minutes and 24 hours ago from now that were over '12'
       countunique(/host/key,10m,"bitand","6/7") #the number of unique values for the last 10 minutes until now having '110' (in binary) in the 3 least significant bits
       countunique(/host/key,10m:now-1d) #the number of unique values between 24 hours and 10 minutes and 24 hours ago from now
find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

Find a value match within the defined evaluation period.
Supported value types: Float, Integer, String, Text, Log.
Returns: 1 - found; 0 - otherwise.

Parameters:

  • See common parameters;
  • sec or #num (optional) - defaults to the latest value if not specified
  • operator (must be double-quoted). Supported operators:
    eq - equal (default)
    ne - not equal
    gt - greater
    ge - greater or equal
    lt - less
    le - less or equal
    like - matches if contains the string given in pattern (case-sensitive)
    bitand - bitwise AND
    regexp - case-sensitive match of the regular expression given in pattern
    iregexp - case-insensitive match of the regular expression given in pattern
  • pattern - the required pattern (string arguments must be double-quoted); Perl Compatible Regular Expression (PCRE) regular expression if operator is regexp, iregexp.

Comments:

  • If more than one value is processed, '1' is returned if there is at least one matching value.
  • With regexp or iregexp as the third parameter, the fourth pattern parameter can be an ordinary or global (starting with '@') regular expression. In case of global regular expressions case sensitivity is inherited from the global regular expression settings.

Example:

find(/host/key,10m,"like","error") #find a value that contains 'error' within the last 10 minutes until now
first(/host/key,sec<:timeshift>)

El primer valor (el más antiguo) dentro del período de evaluación definido.
Tipos de valores admitidos: Flotante, Entero, Cadena, Texto, Log.

Parámetros:

Véase también last().

Ejemplo:

first(/host/key,1h) #recuperar el valor más antiguo de la última hora hasta ahora
fuzzytime(/host/clave,seg)

Compruebe en qué medida el tiempo del agente pasivo difiere del tiempo del servidor/proxy de Zabbix.
Tipos de valores admitidos: Flotante, Entero.
Devuelve: 1 - la diferencia entre el valor del elemento pasivo (como marca de tiempo) y la marca de tiempo del servidor/proxy Zabbix (el reloj de recopilación de valores) es menor o igual a T segundos; 0 - en caso contrario.

Parámetros:

Comentarios:

  • Generalmente se usa con el elemento 'system.localtime' para verificar que la hora local esté sincronizada con la hora local del servidor Zabbix. Tenga en cuenta que 'system.localtime' debe configurarse como verificación pasiva.
  • También se puede usar con la clave vfs.file.time[/path/file,modify] para comprobar que el archivo no recibió actualizaciones durante mucho tiempo;
  • No se recomienda el uso de esta función en expresiones de activación complejas (con varios elementos involucrados), porque puede causar resultados inesperados (la diferencia horaria se medirá con la métrica más reciente), p. en fuzzytime(/Host/system.localtime,60s)=0 o last(/Host/trap)<>0.

Ejemplo:

fuzzytime(/host/key,60s)=0 #detecta un problema si la diferencia horaria es superior a 60 segundos

last(/host/clave,<#num<:cambio de hora>>)

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

Parámetros:

Comentarios:

  • Tenga en cuenta que un período de tiempo con etiqueta hash (#N) funciona de manera diferente aquí que con muchas otras funciones. Por ejemplo: last() siempre es igual a last(#1); last(#3) - el tercer valor más reciente (no los tres últimos valores);
  • Zabbix no garantiza el orden exacto de los valores si existen más de dos valores en un segundo en el historial;
  • Véase también first().

Ejemplo:

last(/host/key) #recuperar el último valor
       last(/host/key,#2) #recuperar el valor anterior
       last(/host/key,#1) <> last(/host/key,#2) #el último valor y el anterior son distintos
logeventid(/host/key,<#num<:time shift>>,<patrón>)

Compruebe si el ID del evento de la última entrada del registro coincide con una expresión regular.
Tipos de valores admitidos: Registro.
Devuelve: 0 - no coincide; 1 - partidos.

Parámetros:

logseverity(/host/key,<#num<:time shift>>)

Gravedad del registro de la última entrada del registro.
Tipos de valores admitidos: Registro.
Devuelve: 0 - gravedad predeterminada; N: gravedad (entero, útil para registros de eventos de Windows: 1: información, 2: advertencia, 4: error, 7: auditoría de fallas, 8: auditoría de éxito, 9: crítica, 10: detallada).

Parámetros:

Zabbix toma la gravedad del registro del campo Información del registro de eventos de Windows.

logsource(/host/key,<#num<:time shift>>,<patrón>)

Compruebe si el origen del registro de la última entrada del registro coincide con una expresión regular.
Tipos de valores admitidos: Registro.
Devuelve: 0 - no coincide; 1 - partidos.

Parámetros:

Normalmente se utiliza para registros de eventos de Windows.

Ejemplo:

logsource(/host/key,,"Servidor VMware")
monodec(/host/key,(sec|#num)<:time shift>,<modo>)

Compruebe si ha habido una disminución monótona de los valores.
Tipos de valores admitidos: 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 estar entre comillas dobles) - weak (cada valor es menor o igual que el anterior; predeterminado) o strict (cada valor ha disminuido).

Ejemplo:

monodec(/Host1/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 equipos ha habido una disminución en el tamaño libre del fichero de intercambio (swap)
monoinc(/host/key,(sec|#num)<:time shift>,<modo>)

Compruebe si ha habido un aumento monótono de los valores.
Tipos de valores admitidos: 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 estar entre comillas dobles) - weak (cada valor es mayor o igual que el anterior; predeterminado) o strict (cada valor ha aumentado).

Ejemplo:

monoinc(/Host1/system.localtime,#3,"strict")=0 #verifique si la hora local del sistema ha aumentado constantemente
nodata(/host/key,seg,<modo>)

Verifique que no se hayan recibido datos.
Tipos de valores admitidos: Entero, Flotante, Carácter, Texto, Registro.
Devuelve: 1 - si no se recibieron datos durante el período de tiempo definido; 0 - en caso contrario.

Parámetros:

  • Ver parámetros comunes;
  • seg - el período no debe ser inferior a 30 segundos porque el proceso de sincronización del historial calcula esta función solo cada 30 segundos; nodata(/host/key,0) no está permitido.
  • modo: si se establece en strict (entre comillas dobles), esta función no tendrá en cuenta la disponibilidad del proxy (consulte los comentarios para obtener más detalles).

Comentarios:

  • los iniciadores 'nodata' monitoreados por el proxy son, de forma predeterminada, sensibles a la disponibilidad del proxy - si el proxy deja de estar disponible, los iniciadores 'nodata' no se activarán inmediatamente después de una conexión restaurada, pero omitirán los datos durante el período retrasado. Tenga en cuenta que para los servidores proxy pasivos, la supresión se activa si la conexión se restablece más de 15 segundos y no menos de 2 & ProxyUpdateFrequency 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 período de evaluación (cinco minutos) sin datos.
  • Esta función mostrará un error si, dentro del período del primer parámetro:
    - no hay datos y el servidor Zabbix se reinició
    - no hay datos y se completó el mantenimiento
    - no hay datos y la métrica fue agregada o rehabilitada
  • Los errores se muestran en la columna Información en la configuración del iniciador;
  • Es posible que esta función no funcione correctamente si hay diferencias horarias entre el servidor, el proxy y el agente de Zabbix. Consulte también: Requisito de sincronización horaria.
percentile(/host/key,(sec|#num)<:cambio de hora>,porcentaje)

El percentil P-ésimo de un período, donde P (porcentaje) se especifica mediante el tercer parámetro.
Tipos de valores admitidos: Flotante, Entero.

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(/host/key,seg<:cambio de hora>)

La tasa promedio por segundo de aumento en un contador que aumenta monótonamente dentro del período de tiempo definido.
Tipos de valores admitidos: Flotante, Entero.

Parámetros:

Funcionalmente corresponde a 'rate' de PromQL.

Ejemplo:

rate(/host/key,30s) #si el aumento monótono durante 30 segundos es 20, esta función devolverá 0,67.

Consulte todas las funciones admitidas.