4 Funcions d'historial

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

Les funcions es llisten sense informació addicional. Feu clic a la funció per veure'n tots els detalls.

Funció Descripció
change Quantitat de diferència entre el valor anterior i el darrer.
changecount Nombre de canvis entre valors adjacents dins del període d'avaluació definit.
count Nombre de valors dins del període d'avaluació definit.
countunique Nombre de valors únics dins del període d'avaluació definit.
find Cerca una coincidència de valor dins del període d'avaluació definit.
first El primer valor (el més antic) dins del període d'avaluació definit.
fuzzytime Comproveu quant difereix el temps de l'agent passiu del temps del servidor/proxy Zabbix.
últim Vvalor més recent.
logeventid Comproveu si l'ID d'esdeveniment de la darrera entrada de registre coincideix amb una expressió regular.
logseverity Gravetat del registre de la darrera entrada del registre.
logsource Comproveu si la font de registre de la darrera entrada de registre coincideix amb una expressió regular.
monodec Comprova si hi ha hagut una disminució monòtona dels valors.
monoinc Comprova si hi ha hagut un augment monòton dels valors.
nodata Comprova si no s'ha rebut cap dada.
percentil Percentil P d'un període, on P (percentatge) s'especifica pel tercer paràmetre.
rate Taxa mitjana per segon de l'augment d'un comptador creixent monòtonament dins del període de temps definit.
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.

Detalls de la funció

Algunes notes generals sobre paràmetres de funció:

  • Els paràmetres de funció són separats per una coma
  • Els paràmetres de funció opcionals (o parts de paràmetres) s'indiquen amb < >
  • Els paràmetres específics de la funció es descriuen amb cada funció
  • Els paràmetres /host/key i (sec|#num)<:time shift> no s'han de citar mai entre cometes
change(/host/key)

Import de la diferència entre el valor anterior i el darrer.
Tipus de valors admesos: Flotant, Enter, Cadena, Text, Log.
Per a les cadenes retorna: 0 - els valors són iguals; 1 - els valors són diferents.

Paràmetres: veieu paràmetres comuns.

Comentaris:

  • Es calcularà la diferència numèrica, tal com es veu amb 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 una comparació.

Exemples:

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

Nombre de canvis entre valors adjacents durant el període d'avaluació definit.
Tipus de valors admesos: Flotant, Enter, Cadena, Text, Log.

Paràmetres:

  • Veieu paràmetres comuns;
  • mode (ha d'estar entre cometes dobles) - valors possibles: all - comptar tots els canvis (per defecte); dec - el recompte disminueix; inc - el recompte augmenta

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

Exemples:

 changecount(/host/key,1w) #nombre de canvis de valors durant la darrera setmana
        changecount(/host/key,#10,"inc") #nombre d'augments de valors (en relació amb el valor adjacent) entre els darrers 10 valors
        changecount(/host/key,24h,"dec") #el nombre de disminució de valors (en relació amb el valor adjacent) durant les darreres 24 hores
count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

El nombre de valors dins del període d'avaluació definit.
Tipus de valors admesos: Flotant, Enter, Cadena, Text, Registre.

Paràmetres:

  • Veieu paràmetres comuns;
  • operador (ha d'ésser entre cometes). Operadors admesos:
    eq - igual (per defecte per a enter, flotant)
    ne - no igual
    gt - major
    ge - major o igual
    lt - menys
    le - menys o igual
    like (per defecte per a cadena, text, registre) - coincideix si conté un patró (distingeix entre majúscules i minúscules)
    bitand - bit a bit I< br>regexp - concordança que distingeix entre majúscules i minúscules de l'expressió regular donada a "patró"
    iregexp - concordança sense distinció entre majúscules i minúscules de l'expressió regular donada a "patró"
  • patró- el patró requerit (els arguments de cadena han d'ésser entre cometes dobles).

Comentaris:

  • Els elements flotants coincideixen amb la precisió de 2.22e-16;
  • like no és compatible com a operador per a valors enters;
  • like i bitand no s'admeten com a operadors per a valors flotants;
  • Per als valors de cadena, text i registre només s'admeten els operadors eq, ne, like, regexp i iregexp;
  • Amb bitand com a operador, el quart paràmetre patró es pot especificar com a dos números, separats per '/': number_to_compare_with/mask. count() calcula "AND bit a bit" a partir del valor i la mask i compara el resultat amb number_to_compare_with. Si el resultat de "AND bit a bit" és igual a number_to_compare_with/mask, es compta el valor.
    Si nnumber_to_compare_with i mask són iguals, només cal especificar la mask (sense '/').
  • Amb regexp o iregexp com a operador, el quart paràmetre pattern pot ser una expressió regular ordinària o 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 de les 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 (emmagatzemat a la base de dades) i binària (emprada pel servidor Zabbix) pot afectar el quart dígit decimal.

Exemples:

count(/host/key,10m) #els valors dels darrers 10 minuts fins ara
       count(/host/key,10m,"like","error") #el nombre de valors dels darrers 10 minuts fins ara que contenen "error"
       count(/host/key,10m,,12) #el nombre de valors dels darrers 10 minuts fins ara que és igual a '12'
       count(/host/key,10m,"gt",12) #el nombre de valors dels darrers 10 minuts fins ara que són superiors a '12'
       count(/host/key,#10,"gt",12) #el nombre de valors dels darrers 10 valors fins ara que són superiors a '12'
       count(/host/key,10m:now-1d,"gt",12) #el nombre de valors entre 24 hores i 10 minuts i fa 24 hores a partir d'ara que van ser superiors a '12'
       count(/host/key,10m,"bitand","6/7") #el nombre de valors dels darrers 10 minuts fins ara amb '110' (en binari) als 3 bits menys significatius
       count(/host/key,10m:now-1d) #el nombre de valors entre 24 hores i 10 minuts i fa 24 hores a partir d'ara
countunique(/host/key,(sec|#num)<:time shift>,<operador>,<pattern>)

El nombre de valors únics dins del període d'avaluació definit.
Tipus de valors admesos: Flotant, Enter, Cadena, Text, Registre.

Paràmetres:

  • Vegeu paràmetres comuns;
  • operador (ha d'estar entre cometes). "Operadors" admesos:
    eq - igual (per defecte per a enter, flotant)
    ne - no igual
    gt - major
    ge - major o igual
    lt - menys
    le - menys o igual
    like (per defecte per a cadena, text, registre) - coincideix si conté un patró (distingeix entre majúscules i minúscules)
    bitand - bit a bit I< br>regexp - concordança que distingeix entre majúscules i minúscules de l'expressió regular donada a patró
    iregexp - concordança sense distinció entre majúscules i minúscules de l'expressió regular donada a patró
  • patró - el patró requerit (els arguments de cadena han d'estar entre cometes dobles).

Comentaris:

  • Els elements flotants coincideixen amb la precisió de 2.22e-16;
  • like no és compatible com a operador per a valors enters;
  • like i bitand no s'admeten com a operadors per a valors flotants;
  • Per als valors de cadena, text i registre només s'admeten els operadors eq, ne, like, regexp i iregexp;
  • Amb bitand com a operador, el quart paràmetre patró es pot especificar com a dos números, separats per '/': number_to_compare_with/mask. countunique() calcula "AND bit a bit" a partir del valor i la mask i compara el resultat amb number_to_compare_with. Si el resultat de "AND bit a bit" és igual a number_to_compare_with, es compta el valor.
    Si number_to_compare_with/mask i mask són iguals, només cal especificar la mask (sense '/').
  • Amb regexp o iregexp com a operador, el quart paràmetre pattern pot ser una expressió regular ordinària o 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 de les 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) #el nombre de valors únics durant els darrers 10 minuts fins ara
       countunique(/host/key,10m,"like","error") #el nombre de valors únics dels darrers 10 minuts fins ara que contenen "error"
       countunique(/host/key,10m,,12) #el nombre de valors únics dels darrers 10 minuts fins ara que és igual a '12'
       countunique(/host/key,10m,"gt",12) #el nombre de valors únics dels darrers 10 minuts fins ara que són superiors a '12'
       countunique(/host/key,#10,"gt",12) #el nombre de valors únics dels darrers 10 valors fins ara que són superiors a '12'
       countunique(/host/key,10m:now-1d,"gt",12) #el nombre de valors únics entre 24 hores i 10 minuts i fa 24 hores a partir d'ara que van ser superiors a '12'
       countunique(/host/key,10m,"bitand","6/7") #el nombre de valors únics dels darrers 10 minuts fins ara amb '110' (en binari) als 3 bits menys significatius
       countunique(/host/key,10m:now-1d) #el nombre de valors únics entre 24 hores i 10 minuts i fa 24 hores a partir d'ara
find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

Trobeu una coincidència de valor dins del període d'avaluació definit.
Tipus de valors admesos: Flotant, Enter, Cadena, Text, Registre.
Devolucions: 1 - trobat; 0 - en cas contrari.

Paràmetres:

  • Veieu paràmetres comuns;
  • seg o #num (opcional) - per defecte el valor més recent si no s'especifica
  • operador (ha d'estar entre cometes). "Operadors" admesos:
    eq - igual (per defecte per a enter, flotant)
    ne - no igual
    gt - major
    ge - major o igual
    lt - less
    le - less or equal
    like (per defecte per a cadena, text, registre) - coincideix si conté la cadena donada a "patró" (distingeix entre majúscules i minúscules)
    * bitand* - AND per bits
    regexp - concordança que distingeix entre majúscules i minúscules de l'expressió regular donada a "patró"
    iregexp - concordança sense distinció entre majúscules i minúscules de l'expressió regular donada a "patró"
  • patró - el patró requerit (els arguments de cadena han d'estar entre cometes); Expressió regular compatible amb Perl (PCRE) expressió regular si operador és regexp, iregexp.

Comentaris:

  • Si es processa més d'un valor, es retorna '1' si hi ha almenys un valor coincident;
  • like no és compatible com a operador per a valors enters;
  • like i bitand no s'admeten com a operadors per a valors flotants;
  • Per als valors de cadena, text i registre només s'admeten els operadors eq, ne, like, regexp i iregexp;
  • Amb regexp o iregexp com a operador, el quart paràmetre pattern pot ser una expressió regular ordinària o 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 de les expressions regulars.

Exemple:

find(/host/key,10m,"like","error") #trobar un valor que contingui "error" durant els darrers 10 minuts fins ara
first(/host/key,sec<:time shift>)

El primer valor (el més antic) dins del període d'avaluació definit.
Tipus de valors admesos: Flotant, Enter, Cadena, Text, Log.

Paràmetres:

Veieu també last().

Exemple:

 first(/host/key,1h) #recuperar el valor més antic de la darrera hora
fuzzytime(/host/key,sec)

Comproveu quant difereix el temps de l'agent passiu del temps del servidor/proxy Zabbix.
Tipus de valors admesos: Flotant, Enter.
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 (el rellotge de la recollida de valors) és menor o igual a T segons; 0 - en cas contrari.

Paràmetres:

Comentaris:

  • Normalment s'empra amb l'element 'system.localtime' 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.
  • Es pot emprar també amb la clau vfs.file.time[/path/file,modify] per comprovar que el fitxer no ha rebut actualitzacions durant molt de temps;
  • No es recomana emprar aquesta funció en expressions trigger complexes (amb diversos elements implicats), perquè pot provocar resultats inesperats (la diferència de temps es mesurarà amb la mètrica més recent), com ara fuzzytime(/Host/system.localtime,60s)=0 o last(/Host/trap)<>0.

Exemple:

 fuzzytime(/host/key,60s)=0 #detecta un problema si la diferència horària és superior a 60 segons

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

El valor més recent.
Tipus de valors admesos: Flotant, Enter, Cadena, Text, Log.

Paràmetres:

Comentaris:

  • Tingueu en compte que un període de temps etiquetat amb hash (#N) funciona de manera diferent aquí que amb moltes altres funcions. Per exemple: last(/host/key) sempre és igual a last(/host/key,#1); last(/host/key,#3) - el tercer valor més recent (no els tres valors més recents);
  • Zabbix no garanteix l'ordre exacte dels valors si existeixen més de dos valors en un segon a l'històric;
  • Veieu també first().

Exemple:

 last(/host/key) #recupera el darrer valor
        last(/host/key, #2) #recupera el valor anterior
        last(/host/key,#1) <> last(/host/key,#2) #el darrer valor i l'anterior difereixen
logeventid(/host/key,<#num<:time shift>>,<pattern>)

Comproveu si l'ID d'esdeveniment de la darrera entrada del registre coincideix amb una expressió regular.
Tipus de valors admesos: Log.
Retorna: 0 - no coincideix; 1 - partits.

Paràmetres:

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

Gravetat de la darrera entrada del registre.
Tipus de valors admesos: Log.
Retorna: 0 - gravetat predeterminada; N - gravetat (nombre enter, útil per als registres d'esdeveniments de Windows: 1 - Informació, 2 - Avís, 4 - Error, 7 - Auditoria d'error, 8 - Auditoria d'èxit, 9 - Crític, 10 - Detallat).

Paràmetres:

Zabbix pren la gravetat del registre del camp Informació del registre d'esdeveniments de Windows.

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

Comproveu si la font del registre de la darrera entrada del registre coincideix amb una expressió regular.
Tipus de valors admesos: Log.
Retorna: 0 - no coincideix; 1 - partits.

Paràmetres:

monodec(/host/key,(sec|#num)<:time shift>,<mode>)

Comproveu si hi ha hagut una disminució monòtona dels valors.
Tipus de valors admesos: Enter.
Retorna: 1 - si tots els elements del període de temps disminueixen contínuament; 0 - en cas contrari.

Paràmetres:

  • Veieu paràmetres comuns;
  • mode (ha d'estar entre cometes dobles) - permissiu (cada valor és més petit o igual que l'anterior; per defecte) o estricte (cada valor ha disminuït).

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) #calculeu a quants equips hi ha hagut una disminució de la mida de l'intercanvi lliure
monoinc(/host/key,(sec|#num)<:time shift>,<mode>)

Comproveu si hi ha hagut un augment monòton dels valors.
Tipus de valors admesos: Enter.
Retorna: 1 - si tots els elements del període de temps augmenten contínuament; 0 - en cas contrari.

Paràmetres:

  • Veieu paràmetres comuns;
  • mode (ha de ser entre cometes) - permissiu (cada valor és més gran o igual que l'anterior; per defecte) o estricte (cada valor ha augmentat).

Exemple:

 monoinc(/Host1/system.localtime,#3,"strict")=0 #comproveu si l'hora local del sistema ha anat augmentant constantment
nodata(/host/key,sec,<mode>)

Comprova si no s'ha rebut cap dada.
Tipus de valors admesos: Enter, Flotant, Caràcter, Text, Registre.
Retorna: 1 - si no s'han rebut dades durant el període de temps definit; 0 - cas contrari.

Paràmetres:

  • Veieu paràmetres comuns;
  • seg - el període no ha de ser 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 permès.
  • mode - si s'estableix en estricte (entre cometes), aquesta funció serà insensible a la disponibilitat del proxy (veieu els comentaris per a més detalls).

Comentaris:

  • els triggers 'nodata' monitorats pel proxy són, de manera predeterminada, sensibles a la disponibilitat del proxy; si el proxy no és disponible, els triggers "nodata" no s'activaran immediatament després d'una connexió restaurada, sinó que saltaran les dades durant el període de retard. Tingueu en compte que la supressió dels proxys passius s'activa si la connexió es restableix més de 15 segons i no menys de 2 segons més tard. Per als proxys actius, l'esborrat s'activa si la connexió es restableix més de 15 segons després. Per desactivar la sensibilitat a la disponibilitat del proxy, empreu el tercer paràmetre, per exemple: `nodata(/host/key,5m,"strict"); en aquest cas, la funció s'activarà tan aviat com hagi passat el període d'avaluació (cinc minuts) sense dades.
  • 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
  • Els errors es veuen a la columna Informació al trigger configuració;
  • És possible que aquesta funció no rutlli correctament si hi ha diferències de temps entre el servidor Zabbix, el proxy i l'agent. Veieu també: Requisit de sincronització de l'hora.
  • La funció nodata() no es pot emprar a l'expressió per si mateixa; almenys una funció d'un altre grup, que faci referència a l'element equip, s'ha d'incloure a l'expressió (excepte funcions de data i hora). Per obtindre informació detallada sobre com funciona la funció nodata() dins de les expressions, veieu Temps de càlcul.
percentile(/host/key,(sec|#num)<:time shift>,percentage)

Percentil P d'un període, on P (percentatge) s'especifica pel tercer paràmetre.
Tipus de valors admesos: Flotant, Enter.

Paràmetres:

  • 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.
rate(/host/key,sec<:time shift>)

Taxa mitjana per segon de l'augment d'un comptador que augmenta monòtonament durant el període de temps definit.
Tipus de valors admesos: Flotant, Enter.

Paràmetres:

Funcionalment correspon a 'rate' de PromQL.

Exemple:

 rate(/host/key,30s) #si l'augment monòton en 30 segons és 20, aquesta funció retornarà 0,67.

Veieu totes les funcions admeses.