4 Funcions d'historial

Totes les funcions llistades aquí són admeses a:

Algunes notes generals dels paràmetres de la funció:

  • Els paràmetres de funció es separen amb comes
  • Els paràmetres de funció opcionals (o parts de paràmetres) s'indiquen amb < >
  • Els paràmetres específics es descriuen amb cada funció
  • Els paràmetres /host/key i (sec|#num)<:time shift> mai han d'anar entre cometes
Paràmetres comuns
  • /host/key és un paràmetre comú obligatori per les funcions sobre l'històric de l'element d'equip
  • (sec|#num)<:time shift> és un segon paràmetre habitual per funcions referents a l'històric de l'element d'equip, on:
    • sec - període d'avaluació màxim en segons (es poden emprar els sufixes), o
    • #num - període d'avaluació màxim en nombre de valors recollits (si van precedits per el símbol de la graella)
    • canvi horari (facultatiu) permet canviar el punt d'avaluació en el temps. Veieu més detalls sobre la especificació del canvi horari.

Funcions d'històric

FUNCIÓ
Descripció Paràmetres específics de la funció Comentaris
change (/host/key)
La quantitat de diferència entre el valor anterior i l'últim. Tipus de valors admesos: float, int, str, text, log

Per a les cadenes retorna:
0 - els valors són iguals
1 - els valors són diferents

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

Es calcularà la diferència numèrica, tal com es veu en aquests valors d'exemple entrants (valor 'anterior' i 'darrer' = diferència):
"1" i "5" = "+4"
"3" i "1" = "-2"
"0" i "-2,5" = "-2,5"

Veieu també: abs per a la comparació
changecount (/host/key,(sec|#num)<:time shift>,<mode>)
Nombre de canvis entre valors adjacents dins del període d'avaluació definit. Veieu paràmetres comuns.

mode (opcional; s'ha de fer entre cometes)
< br>Modes admesos:
all - comptar tots els canvis (predeterminat)
dec - recompte disminueix
inc - recompte augmenta
Tipus de valors admesos: float, int, str, text , registre

Per als tipus de valors no numèrics, el paràmetre mode s'ignora.

Exemples:
=> changecount(/host/key, 1w) → nombre de canvis de valor durant la darrera setmana fins a ara
=> changecount(/host/key,#10,"inc") → nombre d'augments de valor (en relació amb el valor adjacent) entre els darrers 10 valors
=> changecount(/host/key,24h,"dec") → el nombre de disminucions de valor (en relació amb el valor adjacent) durant le darreres 24 hores fins a ara
count (/host/key,(sec|#num)<:time shift>,<operador>,<pattern>)
Nombre de valors dins del període d'avaluació definit. Veieu paràmetres comuns.

operador (opcional; ha d'ésser entre cometes)

Admet operadors:
eq - igual (per defecte)
ne - no igual
gt - major de
ge - major o igual
lt - menor de
le - menor o igual
like - coincideix si conté un patró (distingeix entre majúscules i minúscules)
bitand - per bits AND
regexp - coincideix amb majúscules i minúscules de l'expressió regular donada a pattern
iregexp - concordança sense distinció entre majúscules i minúscules de l'expressió regular donada a pattern

patró (opcional) - patró obligatori (els arguments de cadena han d'ésser entre cometes dobles)
Tipus de valors admesos: flotant, enter, cadena, text, registre

Els elements flotants coincideixen amb la precisió de 2.22e-16; si la base de dades no és actualitzada la precisió és de 0,000001.

Amb bitand com a tercer paràmetre, el quart paràmetre patró es pot especificar com a dos nombres, separats per "/": nombre_a_comparar_amb/màscara. count() calcula "AND bit a bit" a partir del valor i la màscara i compara el resultat amb nombre_a_comparar_amb. Si el resultat de "AND bit a bit" és igual a nombre_a_comparar_amb, es compta el valor.
Si nombre_a_comparar_amb i màscara són iguals, només cal especificar la màscara (sense '/').

Amb regexp o iregexp com a tercer paràmetre, el quart paràmetre pattern pot ser ordinari o una expressió regular global (començant per '@'). En el cas de les expressions regulars globals, la distinció entre majúscules i minúscules s'hereta de la configuració global d'expressions regulars. Per a la concordança d'expressions regulars, els valors flotants sempre es representaran amb 4 dígits decimals després de ".". Tingueu en compte també que, per a nombres grans, la diferència de representació decimal (emmagatzemada a la base de dades) i binària (emprada pel servidor Zabbix) pot afectar el quart dígit decimal.

Exemples:
=> count(/ host/key,10m) → nombre de valors dels darrers 10 minuts fins a ara
=> count(/host/key,* *10m,"like","error") → nombre de valors dels darrers 10 minuts fins a ara que contenen "error"
=>
count(/host/key,10m**,,12) → nombre de valors dels darrers 10 minuts fins a ara que són iguals a '12'
=> * *count(/host/key,10m,"gt",12) → nombre de valors dels darrers 10 minuts fins a ara que són superiors a '12 '
=>
count(/host/key,#10,"gt",12) → nombre de valors dins dels darrers 10 valors fins a ara que superen '12'
=>
count(/host/key,10m:now-1d,"gt" ,12) → nombre de valors entre 24 hores i 10 minuts i fa 24 hores des d'ara que eren superiors a '12'
=>
count(/host /key,10m,"bitand","6/7") → nombre de valors dels darrers 10 minuts fins ara que tinguin '110' (en binari) als 3 bits menys significatius.
=>
count(/host/key,10m:now-1d**) → nombre de valors entre 24 hores i 10 minuts i fa 24 hores des d'ara
countunique (/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
Nombre de valors únics dins del període d'avaluació definit. Veieu paràmetres comuns.

operador (opcional; ha d'estar entre cometes)

Operadors admesos:
eq - igual (per defecte)
ne - no igual
gt - més gran de
ge - major o igual
lt - més petit de
le - menor o igual
like - coincideix si conté un patró (distingeix entre majúscules i minúscules)
bitand - per bits AND
regexp - coincideix amb majúscules i minúscules de l'element normal expressió donada a pattern
iregexp: coincidència sense distinció entre majúscules i minúscules de l'expressió regular donada a pattern

patró (opcional) - patró obligatori (els arguments de la cadena han d'ésser dobles)
Tipus de valors admesos: flotant, enter, cadena, text, registre

Els elements flotants coincideixen amb la precisió de 2.22e-16; si la base de dades no és actualitzada la precisió és 0,000001.

Amb bitand com a tercer paràmetre, el quart paràmetre "patró" es pot especificar com a dos nombres, separats per "/": nombre_a_comparar_amb/màscara. count() calcula "AND bit a bit" a partir del valor i la màscara i compara el resultat amb nombre_a_comparar_amb. Si el resultat de "AND bit a bit" és igual a nombre_a_comparar_amb, es compta el valor.
Si nombre_a_comparar_amb i màscara són iguals, només cal especificar la màscara (sense '/').

Amb regexp o iregexp com a tercer paràmetre, el quart paràmetre pattern pot ser ordinari o una expressió regular global (començant per '@'). En el cas de les expressions regulars globals, la distinció entre majúscules i minúscules s'hereta de la configuració global d'expressions regulars. Per a la concordança d'expressions regulars, els valors flotants sempre es representaran amb 4 dígits decimals després de ".". Tingueu en compte també que, per a nombres grans, la diferència de representació decimal (emmagatzemada a la base de dades) i binària (emprada pel servidor Zabbix) pot afectar el quart dígit decimal.

Exemples:
=> countunique(/ host/key,10m) → nombre de valors únics durant els darrers 10 minuts fins a ara
=> countunique(/host/key, 10m,"like","error") → nombre de valors únics durant els darrers 10 minuts fins a ara que contenen "error"
=> ** countunique(/host/key,10m,"gt",12) → nombre de valors únics durant els darrers 10 minuts fins a ara que superen el '12 '
=>
countunique(/host/key,#10,"gt",12) → nombre de valors únics dins dels darrers 10 valors fins a ara que superen '12'
=>
countunique(/host/key,10m:now-1d,"gt",12) → nombre de valors únics entre 24 fa hores i 10 minuts i 24 hores des d'ara que eren superiors a '12'
=>
countunique(/host/key,10m,"bitand","6/7") → nombre d'únics valors dels darrers 10 minuts fins ara tingui '110' (en binari) als 3 bits menys significatius.
=>
countunique(/host/key ,10m:now-1d**) → nombre de valors únics entre 24 hores i 10 minuts i fa 24 hores des d'ara
find (/host/key,<(sec|#num)<:time shift>>,<operador>,<pattern>)
Cerca una coincidència de valor. Veieu paràmetres comuns.

sec o #num (opcional) - per defecte el valor més recent si no s'especifica

operador (opcional; ha d'ésser entre cometes)

"operadors" admesos:
eq - igual (per defecte)
ne - no igual
gt - major de
ge - major o igual
lt - menor de
le - menor o igual
com - el valor conté la cadena donada a pattern (distingeix entre majúscules i minúscules)
bitand - bit a bit AND
regexp - concordança sensible a majúscules i minúscules de l'expressió regular donada a pattern
iregexp - coincidència insensible a majúscules i minúscules del expressió regular donada a pattern

patró - patró obligatori (els arguments de cadena han d'ésser entre cometes); Expressió regular compatible amb Perl (PCRE) expressió regular si operador és regexp, iregexp.
Tipus de valors admesos: float, int, str, text, registre

Retorna:
1 - trobat
0 - en cas contrari

Si es processa més d'un valor, es retorna '1' si hi ha almenys un valor coincident.

Amb regexp o iregexp com a tercer paràmetre, el quart paràmetre pattern pot ser ordinari o una expressió regular global (començant per '@'). En el cas de les expressions regulars globals, la distinció entre majúscules i minúscules s'hereta de la configuració global d'expressions regulars.

Exemple:
=> find(/host/key,10m,"like", "error") → cerca un valor que contingui "error" dins dels darrera 10 minuts fins ara
first (/host/key,sec<:time shift>)
El primer valor (el més antic) dins del període d'avaluació definit. Veieu paràmetres comuns. Tipus de valors admesos: float, int, str, text, log

Exemple:< br>=> first(/host/key,1h) → recupera el valor més antic durant la darrera hora fins a ara

Veieu també last().
fuzzytime (/host/key,sec)
Comprovació de quant difereix el temps de l'agent passiu del temps del servidor/proxy Zabbix. Veieu paràmetres comuns. Tipus de valors admesos: float, int

Retorna:
1 - La diferència entre el valor de l'element passiu (com a marca de temps) i la marca de temps del servidor/proxy Zabbix (rellotge de recollida de valors) és menor o igual a T segons
0 - en cas contrari

S'empra habitualment amb el 'system.localtime' (temps local del sistema) per comprovar que l'hora local és sincronitzada amb l'hora local del servidor Zabbix. Tingueu en compte que 'system.localtime' s'ha de configurar com a comprovació passiva.
També es pot emprar amb vfs.file.time[/path/file ,modifica] per comprovar que el fitxer no ha rebut actualitzacions durant molt de temps.

Exemple:
=> fuzzytime(/host/key,60s)=0 → detecta un problema si la diferència de temps supera els 60 segons

Aquesta funció no es recomana emprar-la en expressions d'activació complexes (amb diversos elements implicats), perquè pot provocar resultats inesperats (la diferència de temps es mesurarà amb el mètrica més recent), p. ex. a fuzzytime(/Host/system.localtime,60s)=0 o last(/Host/trap)<>0
last (/host/key,<#num<:time shift>>)
El valor més recent. Veieu paràmetres comuns.

#num (opcional) - l'enèsim valor més recent
Tipus de valors admesos: float, int, str, text, log

Tingueu en compte que un període de temps etiquetat amb hash (#N) funciona de manera diferent aquí que a moltes altres funcions.
Per exemple:
last() sempre és igual a last(#1)
darrer(#3) - tercer valor més recent (no tres valors més recents)

Zabbix no garanteix l'ordre exacte dels valors si hi ha més de dos valors dins un segon a l'historial.

Exemple:
=> last(/host/key) → recupera el darrer valor
=> last(/host/key, #2) → recupera el valor anterior
=> last(/host/key,#1) <> last(/host/key, #2) → els darrers valors i els anteriors són diferents

Veieu també primer().
logeventid (/host/key,<#num<:time shift>>,<pattern>)
Comprovar si l'ID d'esdeveniment de la darrera entrada de registre coincideix amb una expressió regular. Veieu paràmetres comuns.

#num (opcional) - l'enèsim valor més recent

pattern (opcional) - expressió regular que descriu el patró requerit, estil Expressió regular compatible amb Perl (PCRE) (els arguments de cadena han d'ésser entre cometes dobles).
Tipus de valors admesos: log

Retorna:
0 - no coincideix
1 - coincideix
logseverity (/host/key,<#num<:time shift>>)
Gravetat del registre de la darrera entrada del registre. Veieu paràmetres comuns.

#num (opcional) - el valor enèsim més recent
Tipus de valors admesos: registre

Retorna:
0 - gravetat predeterminada
N - gravetat (enter, útil per als registres d'esdeveniments de Windows: 1 - Informació, 2 - Avís, 4 - Error, 7 - Auditoria d'errors, 8 - Auditoria correcta, 9 - Crític, 10 - Detall).
Zabbix pren la gravetat del registre del camp Information del registre d'esdeveniments de Windows.
logsource (/host/key,<#num<:time shift>>,<pattern>)
Comprovar si l'origen del registre de la darrera entrada del registre coincideix amb una expressió regular. Veieu paràmetres comuns.

#num (opcional) - l'enèsim valor més recent

pattern (opcional) - expressió regular que descriu el patró requerit, estil Expressió regular compatible amb Perl (PCRE) (els arguments de cadena han d'ésser entre cometes dobles).
Tipus de valors admesos: registre

Retorna:
0 - no coincideix
1 - coincideix

S'empra normalment per als registres d'esdeveniments de Windows. Per exemple, logsource("VMware Server").
monodec (/host/key,(sec|#num)<:time shift>,<mode>)
Comproveu si hi ha hagut una disminució monòtona dels valors. Veieu paràmetres comuns.

mode (ha d'ésser entre cometes dobles) - feble (cada valor) és més petit o el mateix que l'anterior; per defecte) o estricte (tots els valors han disminuït)
Tipus de valors admesos: int

Retorna 1 si tots els elements del període de temps disminueixen contínuament, 0 en cas contrari.< br>
Exemple:
=> monodec(/Host1/system.swap.size[all,free],60s) + monodec(/Host2/ system.swap.size[all,free],60s) + monodec(/Host3/system.swap.size[all,free],60s) - calcula a quants equips hi ha hagut una disminució de la mida de l'intercanvi lliure
monoinc (/host/key,(sec|#num)<:time shift>,<mode>)
Comprovar si hi ha hagut un increment monòton de valors. Veieu paràmetres comuns.

mode (ha d'ésser entre cometes dobles) - feble (cada valor és més gran o el mateix que l'anterior; per defecte) o estricte (tots els valors han augmentat)
Tipus de valors admesos: int

Retorna 1 si tots els elements del període de temps augmenten contínuament, 0 en cas contrari.

Exemple:< br>=> monoinc(/Host1/system.localtime,#3,"strict")=0 - comproveu si l'hora local del sistema ha pujat de forma constant
nodata (/host/key,sec,<mode>)
Comprovació de no rebuda de dades. Veieu els paràmetres comuns.

El període de seg no hauria d'ésser inferior a 30 segons perquè el procés de sincronització de l'historial calcula aquesta funció només cada 30 segons.

nodata(/host/key,0) no és permesa.

mode: si s'estableix en estricte (entre cometes), aquesta funció serà insensible a Disponibilitat de proxy (veieu els comentaris per obtindre més informació).
S'admeten tots els tipus de valors.

Retorna:
1 - si no s'han rebut dades durant el període de temps definit
0 - en cas contrari
<br >Des de Zabbix 5.0, els triggers de "nodata" monitorats pel proxy són, de manera predeterminada, sensibles a la disponibilitat del proxy; si el proxy no és pas disponible, els triggers de "nodata" no s'activaran immediatament quan es restauri la connexió, sinó que saltaran les dades per als períodes endarrerits. Tingueu en compte que per als proxys passius la supressió s'activa si la connexió es restableix més de 15 segons i no menys de 2 i ProxyUpdateFrequency segons més tard. Per als proxys actius, la supressió s'activa si la connexió es restaura més de 15 segons després.

Per desactivar la sensibilitat a la disponibilitat del proxy, empreu el tercer paràmetre, p. ex.: nodata(/host/key,** 5m,"estricte"**); en aquest cas, la funció anirà igual que abans de la 5.0.0 i s'activarà tan aviat com hagi passat el període d'avaluació (cinc minuts) sense dades.

Tingueu en compte que aquesta funció mostrarà un error si, dins del període del 1r paràmetre:
- no hi ha dades i el servidor Zabbix s'ha reiniciat
- no hi ha dades i s'ha completat el manteniment
- no hi ha dades i l'element s'ha afegit o tornat a habilitar
Es mostren errors a la columna Informació del trigger configuració.

És possible que aquesta funció no funcioni correctament si hi ha diferències horàries entre el servidor Zabbix, el proxy i l'agent. Veieu també: Requisit de sincronització de l'hora.
percentile (/host/key,(sec|#num)<:time shift>,percentage)
P-è percentil d'un període, on P (percentatge) s'especifica com a tercer paràmetre. Veieu paràmetres comuns.

percentatge - un nombre de coma flotant entre 0 i 100 (inclosos) amb fins a 4 dígits després del punt decimal
Tipus de valors admesos: float, int
tax (/host/key,sec<:time shift>)
Taxa mitjana per segon de l'augment d'un comptador que augmenta monòtonament dins del període de temps definit. Veieu paràmetres comuns. Tipus de valors admesos: float, int

Correspon funcionalment a "tarifa" de PromQL.

Exemple:
=> tarifa(/ host/clau,30s) → Si l'augment monòton en 30 segons és 20, aquesta funció retornarà 0,67.