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 historial

Todas las funciones listadas aquí son compatibles en:

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 más reciente.
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 gravedad del registro de la última entrada de registro.
logsource Comprobar si la fuente del 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 elemento 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
  • /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 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(/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/clave,(seg|#num)<:cambio de hora>,<operador>,<patrón>)

El número de valores dentro del período de evaluación definido.
Tipos de valores admitidos: Float, Integer, String, Text, Log.

Parámetros:

  • Ver parámetros comunes;
  • operador (debe estar entre comillas dobles). Operadores admitidos:
    eq - igual (predeterminado para entero, flotante)
    ne - no igual
    gt - mayor
    ge - mayor o igual
    lt - menos
    le - menor o igual
    like (predeterminado para cadena, texto, registro) - coincide si contiene patrón (distingue entre mayúsculas y minúsculas)
    bitand - bit a bit AND< br>regexp - coincidencia que distingue entre mayúsculas y minúsculas de la expresión regular dada en pattern
    iregexp - coincidencia que distingue entre mayúsculas y minúsculas de la expresión regular dada en pattern
  • patrón: el patrón requerido (los argumentos de cadena deben estar entre comillas dobles).

Comentarios:

  • Las métricas flotantes coinciden con la precisión de 2.22e-16;
  • like no se admite como operador para valores enteros;
  • like y bitand no se admiten como operadores para valores flotantes;
  • Para valores de cadena, texto y registro solo se admiten los operadores eq, ne, like, regexp y iregexp;
  • Con bitand como operador, el cuarto parámetro patrón se puede especificar como dos números, separados por '/': número_a_comparar_con/máscara. count() calcula "Y bit a bit" a partir del valor y la máscara y compara el resultado con número_para_comparar_con. Si el resultado de "Y 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 operador, el cuarto parámetro pattern puede ser una expresión regular ordinaria o global (comenzando 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 los efectos de la coincidencia de expresiones regulares, los valores flotantes siempre se representarán con 4 dígitos decimales después de '.'. También tenga en cuenta 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 el cuarto dígito decimal.

Ejemplos:

count(/host/key,10m) # los valores de los últimos 10 minutos hasta ahora
       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 equivalen a '12'
       count(/host/key,10m,"gt",12) # el número de valores de los últimos 10 minutos hasta ahora que son superiores a '12'
       count(/host/key,#10,"gt",12) # el número de valores dentro de los últimos 10 valores hasta ahora que son superiores a '12'
       count(/host/key,10m:now-1d,"gt",12) # el número de valores entre 24 horas y 10 minutos y hace 24 horas a partir de ahora que eran superiores a '12'
       count(/host/key,10m,"bitand","6/7") # el número de valores de los últimos 10 minutos hasta ahora teniendo '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 hace 24 horas a partir de ahora
countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

El número de valores únicos dentro del período de evaluación definido.
Tipos de valores admitidos: Float, Integer, String, Text, Log.

Parámetros:

  • Ver parámetros comunes;
  • operador (debe estar entre comillas dobles). Operadores admitidos:
    eq - igual (predeterminado para entero, flotante)
    ne - no igual
    gt - mayor
    ge - mayor o igual
    lt - menos
    le - menor o igual
    like (predeterminado para cadena, texto, registro) - coincide si contiene patrón (distingue entre mayúsculas y minúsculas)
    bitand - bit a bit AND< br>regexp - coincidencia que distingue entre mayúsculas y minúsculas de la expresión regular dada en pattern
    iregexp - coincidencia que distingue entre mayúsculas y minúsculas de la expresión regular dada en pattern
  • patrón: el patrón requerido (los argumentos de cadena deben estar entre comillas dobles).

Comentarios:

  • Las métricas flotantes coinciden con la precisión de 2.22e-16;
  • like no se admite como operador para valores enteros;
  • like y bitand no se admiten como operadores para valores flotantes;
  • Para valores de cadena, texto y registro solo se admiten los operadores eq, ne, like, regexp y iregexp;
  • Con bitand como operador, el cuarto parámetro patrón se puede especificar como dos números, separados por '/': número_a_comparar_con/máscara. countunique() calcula "Y bit a bit" a partir del valor y la máscara y compara el resultado con número_para_compare_con. Si el resultado de "Y 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 operador, el cuarto parámetro pattern puede ser una expresión regular ordinaria o global (comenzando 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 los efectos de la coincidencia de expresiones regulares, los valores flotantes siempre se representarán con 4 dígitos decimales después de '.'. También tenga en cuenta 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 el cuarto dígito decimal.

Ejemplos:

countunique(/host/key,10m) #el número de valores únicos de los últimos 10 minutos hasta ahora
       countunique(/host/key,10m,"like","error") #el número de valores únicos de los últimos 10 minutos hasta ahora que contienen 'error'
       countunique(/host/key,10m,,12) #el número de valores únicos de los últimos 10 minutos hasta ahora que equivalen a '12'
       countunique(/host/key,10m,"gt",12) #el número de valores únicos de los últimos 10 minutos hasta ahora que superan '12'
       countunique(/host/key,#10,"gt",12) #el número de valores únicos dentro de los últimos 10 valores hasta ahora que son superiores a '12'
       countunique(/host/key,10m:now-1d,"gt",12) #el número de valores únicos entre 24 horas y 10 minutos y hace 24 horas a partir de ahora que eran superiores a '12'
       countunique(/host/key,10m,"bitand","6/7") #el número de valores únicos durante los últimos 10 minutos hasta ahora teniendo '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 hace 24 horas a partir de ahora
find(/host/clave,(seg|#num)<:cambio de hora>,<operador>,<patrón>)

Encuentre una coincidencia de valor dentro del período de evaluación definido.
Tipos de valores admitidos: Float, Integer, String, Text, Log.
Devuelve: 1 - encontrado; 0 - en caso contrario.

Parámetros:

  • Ver parámetros comunes;
  • sec o #num (opcional): el valor predeterminado es el último valor si no se especifica
  • operador (debe estar entre comillas dobles). Operadores admitidos:
    eq - igual (predeterminado para entero, flotante)
    ne - no igual
    gt - mayor
    ge - mayor o igual
    lt - menos
    le - menor o igual
    like (predeterminado para cadena, texto, registro) - coincide si contiene la cadena proporcionada en patrón (distingue entre mayúsculas y minúsculas)
    * bitand* - AND bit a bit
    regexp - coincidencia que distingue entre mayúsculas y minúsculas de la expresión regular dada en pattern
    iregexp - coincidencia que distingue entre mayúsculas y minúsculas de la expresión regular dada en pattern
  • patrón - el patrón requerido (los argumentos de cadena deben estar entre comillas dobles); Expresión regular compatible con Perl (PCRE) expresión regular si operador es regexp, iregexp.

Comentarios:

  • Si se procesa más de un valor, se devuelve '1' si hay al menos un valor coincidente;
  • like no se admite como operador para valores enteros;
  • like y bitand no se admiten como operadores para valores flotantes;
  • Para valores de cadena, texto y registro solo se admiten los operadores eq, ne, like, regexp y iregexp;
  • Con regexp o iregexp como operador, el cuarto parámetro pattern puede ser una expresión regular ordinaria o global (comenzando con '@'). En el caso de expresiones regulares globales, la distinción entre mayúsculas y minúsculas se hereda de la configuración de la expresión regular global.

Ejemplo:

find(/host/key,10m,"like","error") #busca un valor que contenga 'error' en los últimos 10 minutos hasta ahora
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
firstclock(/host/key,seg<: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.

Consulte también lastclock().

Ejemplo:

firstclock(/host/key,1h) #recupera la marca de tiempo del valor más antiguo dentro de la última hora hasta ahora
       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,seg)

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

Parámetros:

Comentarios:

  • Normalmente se usa con el ítem 'system.localtime' para comprobar que la hora local está sincronizada con la hora local del servidor Zabbix. Nota que 'system.localtime' debe estar configurado como una comprobación pasiva.
  • También puede usarse con la clave vfs.file.time[/ruta/archivo,modify] para comprobar que el archivo no ha recibido actualizaciones durante mucho tiempo;
  • No se recomienda usar esta función en expresiones de disparadores complejas (con múltiples ítems involucrados), porque puede causar 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.

Ejemplo:

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

last(/host/key,<#num<:desplazamiento de tiempo>>)

El valor más reciente.
Tipos de valores soportados: Flotante, Entero, Cadena, Texto, Registro.

Parámetros:

Comentarios:

  • Tenga en cuenta que un período de tiempo con almohadilla (#N) funciona de manera diferente aquí que en muchas otras funciones. Por ejemplo: last(/host/key) siempre es igual a last(/host/key,#1); last(/host/key,#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 dentro de 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 y el anterior valor difieren
lastclock(/host/key,<#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.

Consulte también firstclock().

Ejemplo:

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
       lastclock(/host/key,#3:now-1d) #recuperar la marca de tiempo del tercer valor más reciente hace un día
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: Log.
Devuelve: 0 - no coincide; 1 - coincide.

Parámetros:

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

Gravedad del registro de la última entrada del registro.
Tipos de valores admitidos: Log.
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ítico, 10 - Detallado).

Parámetros:

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

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

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

Parámetros:

Normalmente se utiliza para registros de eventos de Windows.

Ejemplo:

logsource(/host/clave,,"Servidor VMware")
logtimestamp(/host/key,<#num<:desplazamiento de tiempo>>)

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

Parámetros:

Comentarios:

  • El cálculo del desplazamiento de tiempo se basa en el reloj del valor del elemento, no en la marca de tiempo del mensaje de registro;
  • La función falla con un error si:
    • se recibe un elemento de tipo no log;
    • no se han recopilado datos en el período dado;
    • no se ha recopilado el valor N-ésimo;
    • el mensaje de registro no contiene un valor de marca de tiempo.

Ejemplo:

logtimestamp(/host/key) #recuperar la marca de tiempo del último mensaje de registro
       logtimestamp(/host/key,#2) #recuperar la marca de tiempo del segundo mensaje de registro más reciente
       logtimestamp(/host/key,#3:now-1d) #recuperar la marca de tiempo del tercer mensaje de registro más reciente de hace un día
monodec(/host/key,(sec|#num)<:time shift>,<mode>)

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) - débil (cada valor es menor o igual que el anterior; predeterminado) o estricto (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 del intercambio libre
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,sec,<mode>)

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

Parámetros:

  • Ver parámetros comunes;
  • sec - el período no debe ser inferior a 30 segundos porque el proceso history syncer calcula esta función solo 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 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 período retrasado. 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 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 fue reiniciado
    - no hay datos y se completó el mantenimiento
    - no hay datos y el elemento fue añadido o reactivado
  • Los errores se muestran en la columna Info en la configuración del disparador;
  • Esta función puede no funcionar correctamente si hay diferencias de tiempo 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; al menos una función de otro grupo, que haga referencia al elemento del host, debe incluirse 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 Hora de cálculo.
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<: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 admitidos: Float, Integer.

Parámetros:

Corresponde funcionalmente 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.