You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

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>)

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 for integer, float)
    ne - not equal
    gt - greater
    ge - greater or equal
    lt - less
    le - less or equal
    like (default for string, text, log) - 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;
  • like is not supported as operator for integer values;
  • like and bitand are not supported as operators for float values;
  • For string, text, and log values only eq, ne, like, regexp and iregexp operators are supported;
  • With bitand as operator, 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 operator, 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 for integer, float)
    ne - not equal
    gt - greater
    ge - greater or equal
    lt - less
    le - less or equal
    like (default for string, text, log) - 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;
  • like is not supported as operator for integer values;
  • like and bitand are not supported as operators for float values;
  • For string, text, and log values only eq, ne, like, regexp and iregexp operators are supported;
  • With bitand as operator, 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 operator, 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 for integer, float)
    ne - not equal
    gt - greater
    ge - greater or equal
    lt - less
    le - less or equal
    like (default for string, text, log) - 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;
  • like is not supported as operator for integer values;
  • like and bitand are not supported as operators for float values;
  • For string, text, and log values only eq, ne, like, regexp and iregexp operators are supported;
  • With regexp or iregexp as operator, 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<: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() sempre és igual a last(#1); last(#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 i ProxyUpdateFrequency. 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.
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.