4 Funciones de historial

Todas las funciones enumeradas aquí son compatibles con:

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 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 entrecomillados
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.

Funciones de historial

FUNCIÓN
Descripción Parámetros específicos de la función Comentarios
change (/host/clave)
La cantidad de diferencia entre el valor anterior y el último. Tipos de valores admitidos: float, int, str, text, log

Para cadenas devuelve:
0 - los valores son iguales
1 - los valores difieren

Ejemplo:
=> change(/host/key)>10

Se calculará la diferencia numérica, como se ve con estos valores de ejemplo entrantes (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
changecount (/host/key,(sec|#num)<:time shift>,<mode>)
Número de cambios entre valores adyacentes dentro del período de evaluación definido. Ver parámetros comunes.

mode (opcional; debe estar entre comillas dobles)

Modos admitidos:
all - contar todos los cambios (predeterminado)
dec - contar decrementos
inc - contar incrementos
Tipos de valores admitidos: float, int, str, text , log

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

Ejemplos:
=> changecount(/host/key, 1w) → número de cambios de valor durante la última semana hasta ahora
=> changecount(/host/key,#10,"inc") → 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 decrementos de valor (en relación con el valor adyacente) durante los últimos 24 horas hasta ahora
count (/host/clave,(seg|#num)<:cambio de hora>,<operador>,<patrón>)
Número de valores dentro del período de evaluación definido. Ver parámetros comunes.

operador (opcional; debe estar entre comillas dobles)

Admitido operadores:
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

Tenga en cuenta que:
eq (predeterminado), ne, gt, ge, lt, le, band, regexp, iregexp son compatibles con elementos enteros
eq ( predeterminado), ne, gt, ge, lt, le, regexp, iregexp son compatibles con elementos flotantes
like (predeterminado), eq, * ne, regexp, iregexp* son compatibles con cadenas, texto y elementos de registro

pattern (opcional): patrón obligatorio (los argumentos de cadena deben estar entre comillas dobles)
Tipos de valores admitidos: float, integer, string, text, log

Los elementos flotantes coinciden con la precisión de 2.22e-16; si la base de datos no está actualizada la precisión es 0,000001.

Con bitand como tercer parámetro, el cuarto parámetro patrón se puede especificar como dos números, separados por '/': número_para_compare_with/mask. count() 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 número_to_compare_with, el valor se cuenta.
Si número_to_compare_with y máscara son iguales, solo la máscara debe especificarse (sin '/').

Con regexp o iregexp como tercer parámetro, el cuarto parámetro patrón puede ser ordinario o global (que comienza con '@') expresión regular. 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) → número de valores de los últimos 10 minutos hasta ahora
=> count(/host/key,* 10m,"like","error") → número de valores de los últimos 10 minutos hasta ahora que contienen 'error'
=>
count
(/host/key,10m,,12) → número de valores de los últimos 10 minutos hasta ahora que equivalen a '12'
=>
*count(/host/key,10m,"gt",12) → número de valores de los últimos 10 minutos hasta ahora que son superiores al '12 '
=>
count(/host/key,#10,"gt",12) → 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) → número de valores entre 24 horas y Hace 10 minutos y 24 horas desde ahora que eran superiores a '12'
=>
count(/host/key,10m,"bitand","6/7") → número de valores durante los últimos 10 minutos hasta que ahora tenga '110' (en binario) en los 3 bits menos significativos.
=>
count(/host/key, 10m:now-1d**) → número de valores entre 24 horas y 10 minutos y hace 24 horas desde ahora
countunique (/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
Número de valores únicos dentro del período de evaluación definido. Ver parámetros comunes.

operador (opcional; 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

Tenga en cuenta que:<br >eq (predeterminado), ne, gt, ge, lt, le, band, regexp, iregexp son compatibles con elementos enteros
eq (predeterminado), ne, gt, ge, lt, le, regexp, iregexp son compatibles con elementos flotantes
like (predeterminado), eq, ne, regexp, iregexp son compatibles con cadenas, texto y elementos de registro

pattern (opcional): patrón obligatorio (los argumentos de cadena deben estar entre comillas dobles)
Tipos de valores admitidos : float, integer, string, text, log

Los elementos flotantes coinciden con la precisión de 2.22e-16; si la base de datos no está actualizada la precisión es 0,000001.

Con bitand como tercer parámetro, el cuarto parámetro patrón se puede especificar como dos números, separados por '/': number_to_compare_with/mask. count() calcula "Y bit a bit" a partir del valor y la máscara y compara el resultado con number_to_compare_with. 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 máscara son iguales, solo la máscara debe especificarse (sin '/').

Con regexp o iregexp como tercer parámetro, el cuarto parámetro patrón puede ser ordinario o global (que comienza con '@') expresión regular. 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) → número de valores únicos durante los últimos 10 minutos hasta ahora
=> countunique(/host/key, 10m,"like","error") → número de valores únicos durante los últimos 10 minutos hasta ahora que contienen 'error'
=> ** countunique(/host/key,10m,"gt",12) → número de valores únicos durante los últimos 10 minutos hasta ahora que son superiores al '12 '
=>
countunique(/host/key,#10,"gt",12) → 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) → número de valores únicos entre 24 Hace horas, 10 minutos y 24 horas desde ahora que fueron más de '12'
=>
countunique(/host/key,10m, "bitand","6/7") → número de valores únicos durante los últimos 10 minutos hasta que ahora tenga '110' (en binario) en los 3 bits menos significativos.< br>=> countunique(/host/key,10m:now-1d**) → número de valores únicos entre 24 horas y 10 minutos y hace 24 horas desde ahora
find (/host/clave,<(seg|#num)<:cambio de hora>>,<operador>,<patrón>)
Encontrar una coincidencia de valor. Consulte parámetros comunes.

sec o #num (opcional): el valor predeterminado es el último valor si no se especifica

operador (opcional; debe estar entre comillas dobles)

Operadores admitidos:
eq - igual (predeterminado para entero, flotante)
* ne* - no igual
gt - mayor
ge - mayor o igual
lt - menor
le - menor o igual
like (predeterminado para cadena, texto, registro) - el valor contiene la cadena dada en patrón (distingue entre mayúsculas y minúsculas)
bitand - bit a bit AND
regexp - coincidencia entre mayúsculas y minúsculas de la expresión regular dada en patrón
iregexp - coincidencia que no distingue entre mayúsculas y minúsculas de la expresión regular dada en pattern

Tenga en cuenta que:
eq(predeterminado), ne, gt, ge, lt, le, band, regexp, iregexp son compatibles con elementos enteros
eq (predeterminado), ne, gt, ge, lt, le, regexp, iregexp son compatibles con elementos flotantes
like (predeterminado), eq, ne, regexp, iregexp son compatibles con cadenas, texto y elementos de registro

pattern: patrón obligatorio (los argumentos de cadena deben estar entre comillas dobles); Expresión regular compatible con Perl (PCRE) expresión regular si operador es regexp, iregexp.
Tipos de valores admitidos: float, int, str, texto, registro

Devuelve:
1 - encontrado
0 - de lo contrario

Si se procesa más de un valor, se devuelve '1' si hay al menos un valor coincidente .

Con regexp o iregexp como tercer parámetro, el cuarto parámetro pattern puede ser ordinario o global (comenzando con '@') regular expresión. 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.

Ejemplo:
=> find(/host/key,10m,"like", "error") → busque un valor que contenga 'error' en los últimos 10 minutos hasta ahora
first (/host/key,seg<:cambio de hora>)
El primer valor (el más antiguo) dentro del período de evaluación definido. Consulte parámetros comunes. Tipos de valores admitidos: float, int, str, text, log

Ejemplo:< br>=> first(/host/key,1h) → recuperar el valor más antiguo de la última hora hasta now

Véase también last().
fuzzytime (/host/clave,seg)
Comprobando en qué medida el tiempo del agente pasivo difiere del tiempo del servidor/proxy de Zabbix. Ver parámetros comunes. Tipos de valores admitidos: float, int

Devoluciones:
1 - la diferencia entre el valor del elemento pasivo (como marca de tiempo) y la marca de tiempo del servidor/proxy de Zabbix (reloj de recopilación de valores) es menor o igual a T segundos
0; de lo contrario,

Usualmente se usa con el 'sistema. elemento 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 vfs.file.time[/path/file ,modificar] para comprobar que el archivo no recibió actualizaciones durante mucho tiempo.

Ejemplo:
=> fuzzytime(/host/key,60s)=0 → detectar un problema si la diferencia horaria es superior a 60 segundos

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 el métrica más reciente), p.e. en fuzzytime(/Host/system.localtime,60s)=0 o last(/Host/trap)<>0
last (/host/clave,<#num<:cambio de hora>>)
El valor más reciente. Consulte parámetros comunes.

#num (opcional): el enésimo valor más reciente
Tipos de valores admitidos: float, int, str, text, log

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 último(#1)
último(#3) - 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 un segundo en el historial.

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 difieren

Ver también primero().
logeventid (/host/key,<#num<:time shift>>,<pattern>)
Comprobar si el ID del evento de la última entrada del registro coincide con una expresión regular. Consulte parámetros comunes.

#num (opcional): el enésimo valor más reciente

patrón (opcional): expresión regular que describe el patrón requerido, estilo Expresión regular compatible con Perl (PCRE) (argumentos de cadena) debe estar entre comillas dobles).
Tipos de valores admitidos: log

Devuelve:
0 - no coincide
1 - coincide
logseverity (/host/key,<#num<:time shift>>)
Grabar la gravedad de la última entrada del registro. Consulte parámetros comunes.

#num (opcional): el enésimo valor más reciente
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 - Éxito Auditoría, 9 - Crítico, 10 - Detallado).
Zabbix toma la gravedad del registro del campo Información del registro de eventos de Windows.
logsource (/host/key,<#num<:time shift>>,<pattern>)
Comprobar si el origen del registro de la última entrada de registro coincide con una expresión regular. Consulte parámetros comunes.

#num (opcional): el enésimo valor más reciente

patrón (opcional) - expresión regularn que describe el patrón requerido, estilo Expresión regular compatible con Perl (PCRE) (los argumentos de cadena deben estar entre comillas dobles).
Tipos de valores admitidos: log

Devuelve:
0 - no coincide
1 - coincide

Normalmente se utiliza para registros de eventos de Windows. Por ejemplo, logsource("Servidor VMware").
monodec (/host/key,(sec|#num)<:time shift>,<mode>)
Compruebe si ha habido una disminución monótona en los valores. 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)
Tipos de valores admitidos: int

Devuelve 1 si todos los elementos en el período de tiempo disminuyen continuamente, 0 en caso contrario.< br>
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 hosts ha habido una disminución en el tamaño del intercambio libre
monoinc (/host/key,(sec|#num)<:time shift>,<mode>)
Compruebe si ha habido un aumento monótono en los valores. Ver parámetros comunes.

modo (debe estar entre comillas dobles) - débil (cada valor es mayor o igual que el anterior; predeterminado) o estricto (cada valor ha aumentado)
Tipos de valores admitidos: int

Devuelve 1 si todos los elementos en el período de tiempo aumentan continuamente, 0 en caso contrario.< br>
Ejemplo:
=> monoinc(/Host1/system.localtime,#3,"strict")=0 - verifique si la hora local del sistema ha aumentado constantemente
nodata (/host/clave,seg,<modo>)
Comprobando que no se hayan recibido datos. Consulte parámetros comunes.

El período de seg 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 estricto (entre comillas dobles), esta función no será sensible a disponibilidad de proxy (ver comentarios para más detalles).
Todos los tipos de valores son compatibles.

Devoluciones:
1 - si no se recibieron datos durante el período de tiempo definido
0 - en caso contrario
<br >Desde Zabbix 5.0, 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 de la conexión retrasada. período. 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 servidores proxy 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,"estricto"**); en este caso, la función funcionará igual que antes de 5.0.0 y se activará tan pronto como haya pasado el período de evaluación (cinco minutos) sin datos.

Tenga en cuenta que 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 el elemento se agregó o se volvió a habilitar
Se muestran errores en la columna Información en el disparador configuración.

Es posible que esta función no funcione correctamente si hay diferencias horarias entre el servidor Zabbix, el proxy y el agente. . Ver también: Requisito de sincronización horaria.
percentile (/host/clave,(seg|#num)<:cambio de hora>,porcentaje)
P-ésimo percentil de un período, donde P (porcentaje) se especifica mediante el tercer parámetro. Ver parámetros comunes.

porcentaje - un punto flotante número entre 0 y 100 (inclusive) con hasta 4 dígitos después del punto decimal
Tipos de valores admitidos: float, int
rate (/host/key,seg<:timeshift>)
Tasa promedio por segundo de aumento en un contador que aumenta monótonamente dentro del período de tiempo definido. Ver parámetros comunes. Tipos de valores admitidos: float, int

Funcionalmente corresponde a 'tasa' de PromQL.

Ejemplo:
=> rate(/ host/key,30s) → Si el aumento monótono durante 30 segundos es 20, esta función devolverá 0,67.