[comment]: # attributes: notoc

[comment]: # (terms:  baselinedev, baselinewma, change, changecount, count, countunique, find, first, fuzzytime, last, logeventid, logseverity, logsource, monodec, monoinc, nodata, percentile, rate, trendavg, trendcount, trendmax, trendmin, trendstl, trendsum )

[comment]: # ({ea5e90a7-7da5ea1c})
# 4 Funcions d'historial

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

- Les [expressions de trigger](/manual/config/triggers/expression)
- Els [elements calculats](/manual/config/items/itemtypes/calculated)
- Les [macros d'expressió](/manual/config/macros/expression_macros)

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

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

[comment]: # ({/ea5e90a7-7da5ea1c})

[comment]: # ({2310631d-4d343eb8})
##### 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ó](/manual/config/triggers#evaluation-period) màxim en segons (es poden emprar els [sufixes](/manual/appendix/suffixes)), o
    - **\#num** - [període d'avaluació](/manual/config/triggers#evaluation-period) 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](/manual/config/triggers/expression#time-shift) sobre la especificació del canvi horari.

[comment]: # ({/2310631d-4d343eb8})

[comment]: # ({aa4e1bf6-8f3a0028})
### 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

[comment]: # ({/aa4e1bf6-8f3a0028})

[comment]: # ({1f93c729-4afc9a02})

##### change(/host/key) {#change}

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

Paràmetres: veieu [paràmetres comuns](#common-parameters).

Comentaris:

- Es calcularà la diferència numèrica, tal com es veu amb aquests valors d'exemple entrants (valor 'anterior' i 'darrer' = diferència):<br>'1' i '5' = '+4'<br>'3' i ' 1' = `-2`<br>'0' i '-2,5' = `-2,5`<br>
- Veieu també: [abs](/manual/appendix/functions/math#abs) per a una comparació.

Exemples:

```default
change(/host/system.uptime)<0 #system uptime change ha estat negatiu des del darrer valor (indicant un reinici)
change(/host/system.cpu.load[all,avg1])>2 #CPU load (per un minut) ha saltat més de 2 des del darrer valor
change(/host/vfs.fs.size[/,free])<-1G #free disk space ha caigut en més d'1 Go entre comprovacions
```

[comment]: # ({/1f93c729-4afc9a02})

[comment]: # ({56cecc56-57458a90})

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

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

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters);<br>
- **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:

```default
changecount(/host/icmping,10m)>5 #ing ha canviat més de 5 vegades en 10 minuts
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 #estat operatiu d'eth0 ha canviat més de 5 vegades en una hora
changecount(/host/proc.num[httpd],15m)>10 #el nombre de processos httpd ha canviat més de 10 vegades en 15 minuts
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
```

[comment]: # ({/56cecc56-57458a90})

[comment]: # ({1f9dc9af-f9ce5dd9})

##### count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) {#count}

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

Paràmetres: 

- Veieu [paràmetres comuns](#common-parameters);<br>
- **operador** (ha d'ésser entre cometes). `Operadors` admesos:<br>*eq* - igual (per defecte per a enter, flotant)<br>*ne* - no igual<br>*gt* - major<br>*ge* - major o igual<br> *lt* - menys<br>*le* - menys o igual<br>*like* (per defecte per a cadena, text, registre) - coincideix si conté un patró (distingeix entre majúscules i minúscules)<br>*bitand* - bit a bit I< br>*regexp* - concordança que distingeix entre majúscules i minúscules de l'expressió regular donada a "patró"<br>*iregexp* - concordança sense distinció entre majúscules i minúscules de l'expressió regular donada a "patró"<br>
- **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.<br>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](/manual/regular_expressions#global_regular_expressions) (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:

```default
    count(/host/icmpping,30m,,"0")>5 #el ping ha fallat més de 5 cops els darrers 30 minuts
    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
```

[comment]: # ({/1f9dc9af-f9ce5dd9})

[comment]: # ({ab6b4d74-bf8dc20c})

##### countunique(/host/key,(sec|#num)<:time shift>,<operador>,<pattern>) {#countunique}

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

Paràmetres: 

- Vegeu [paràmetres comuns](#common-parameters);<br>
- **operador** (ha d'estar entre cometes). "Operadors" admesos:<br>*eq* - igual (per defecte per a enter, flotant)<br>*ne* - no igual<br>*gt* - major<br>*ge* - major o igual<br> *lt* - menys<br>*le* - menys o igual<br>*like* (per defecte per a cadena, text, registre) - coincideix si conté un patró (distingeix entre majúscules i minúscules)<br>*bitand* - bit a bit I< br>*regexp* - concordança que distingeix entre majúscules i minúscules de l'expressió regular donada a `patró`<br>*iregexp* - concordança sense distinció entre majúscules i minúscules de l'expressió regular donada a `patró`<br>
- **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.<br>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](/manual/regular_expressions#global_regular_expressions) (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:

```default
    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
```

[comment]: # ({/ab6b4d74-bf8dc20c})

[comment]: # ({9bb9907e-148d7d16})

##### find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) {#find}

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

Paràmetres: 

- Veieu [paràmetres comuns](#common-parameters);<br>
- **seg** o **#num** (opcional) - per defecte el valor més recent si no s'especifica
- **operador** (ha d'estar entre cometes). "Operadors" admesos:<br>*eq* - igual (per defecte per a enter, flotant)<br>*ne* - no igual<br>*gt* - major<br>*ge* - major o igual<br> *lt* - less<br>*le* - less or equal<br>*like* (per defecte per a cadena, text, registre) - coincideix si conté la cadena donada a "patró" (distingeix entre majúscules i minúscules)<br>* bitand* - AND per bits<br>*regexp* - concordança que distingeix entre majúscules i minúscules de l'expressió regular donada a "patró"<br>*iregexp* - concordança sense distinció entre majúscules i minúscules de l'expressió regular donada a "patró"<br>
- **patró** - el patró requerit (els arguments de cadena han d'estar entre cometes); [Expressió regular compatible amb Perl](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (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](/manual/regular_expressions#global_regular_expressions) (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:

```default
find(/host/key,10m,"like","error") #trobar un valor que contingui 'error' durant els darrers 10 minuts fins ara
find(/host/agent.version,"like","beta")=1 #Zabbix té versió beta, s'ha d'actualitzar
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #s'ha trobat l'error del servidor web intern
```

[comment]: # ({/9bb9907e-148d7d16})

[comment]: # ({86057069-0ae5f587})

##### first(/host/key,sec<:time shift>) {#first}

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

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters).

Veieu també [last()](#last).

Exemple:

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

[comment]: # ({/86057069-0ae5f587})

[comment]: # ({96c1f032-1c3609f8})

##### fuzzytime(/host/key,sec) {#fuzzytime}

Comproveu quant difereix el temps de l'agent passiu del temps del servidor/proxy Zabbix.<br>
Tipus de valors admesos: *Flotant*, *Enter*.<br>
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 *sec* segons; 0 - en cas contrari.

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters).

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](/manual/appendix/items/activepassive#passive_checks).
- 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`.

Exemples:

```default
fuzzytime(/host/system.localtime,5m)=0 #l'hora local del client difereix del servidor/proxy Zabbixen més de 5 minuts
fuzzytime(/host/system.localtime,5m)=0 i nodata(/host/system.localtime,10m)=0 #l'hora local del client difereix del servidor/proxy Zabbixen més de 5 minuts (mentre s'assegura que l'element no ha deixat d'informar de dades)
```

[comment]: # ({/96c1f032-1c3609f8})

[comment]: # ({fc04e088-8059d345})

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

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

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters);<br>
- **#num** (opcional) - el valor enèssim més recent.

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()](#first).

Exemples:

```default
     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
```

[comment]: # ({/fc04e088-8059d345})

[comment]: # ({5cecd78d-ff5dcd5e})

##### logeventid(/host/key,<#num<:time shift>>,<pattern>) {#logeventid}

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

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters);<br>
- **#num** (opcional) - el valor enèssim més recent;<br>
- **patró** (opcional) - l'expressió regular que descriu el patró requerit, estil [Expressió regular compatible amb Perl](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE) (els arguments de cadena han de ser amb cometes dobles).

Exemples:

``default
logeventid(/host/eventlog[Security],"4625")=1 #entrada de registre amb ID que coincideix amb "4625" (autenticació fallida) trobat
logeventid(/host/eventlog[Sistema],"6008|41")=1 #entrada de registre amb ID que coincideix amb "6008" o "41" trobat
```

[comment]: # ({/5cecd78d-ff5dcd5e})

[comment]: # ({d3497d35-5053b990})
##### logseverity(/host/key,<#num<:time shift>>) {#logseverity}

Gravetat de la darrera entrada del registre.<br>
Tipus de valors admesos: *Log*.<br>
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:

- Veieu [paràmetres comuns](#common-parameters);<br>
- **#num** (opcional) - el valor enèssim més recent.

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

Exemples:

```default
logseverity(/host/log[/var/log/syslog],10m)>3 #una entrada de registre amb la gravetat per sobre de "3"
logseverity(/host/eventlog[System],10m)=4 #una entrada de registre amb la gravetat igual a "Error"
```

[comment]: # ({/d3497d35-5053b990})

[comment]: # ({b33d7f55-a9148f5c})

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

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

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters)<br>
- **#num** (opcional) - el valor enèssim més recent<br>
- **patró** (opcional) - l'expressió regular que descriu el patró requerit, estil [Expressió regular compatible amb Perl](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE) (els arguments de cadena han de ser amb cometes dobles).

Normalment s'utilitza per als registres d'esdeveniments de Windows.

Exemples:

``default
logsource(/host/eventlog[Aplicació],,"MSSQLSERVER")=1 #a entrada de registre amb la coincidència de la font "MSSQLSERVER"
logsource(/host/eventlog[System],,"Service Control Manager")=1 #a entrada de registre amb la coincidència d'origen "Gestor de control de servei"
logsource(/host/eventlog[System],,"Service Control Manager")=1 i logeventid(/host/eventlog[System],,"7031")=1 #a entrada de registre amb la coincidència d'origen "Gestor de control de servei" i l'identificador d'esdeveniment que coincideix amb "7031"
```

[comment]: # ({/b33d7f55-a9148f5c})

[comment]: # ({2b7441d8-6a63b5c8})

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

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

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters);<br>
- **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:

```default
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
monodec(/host/proc.num[nginx],10m,"strict")=1 #el nombre de processos nginx ha disminuït monòtonament durant 10 minuts
```

[comment]: # ({/2b7441d8-6a63b5c8})

[comment]: # ({09e06757-755c1821})

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

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

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters);<br>
- **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).

Exemples:

```default
monoinc(/Host1/system.localtime,#3,"strict")=0 #comproveu si l'hora local del sistema ha anat augmentant constantment
monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #activar si el recompte d'arxius s'ha estancat més de 24 hores (s'espera que creixi)
```

[comment]: # ({/09e06757-755c1821})

[comment]: # ({ce0040c4-178e3950})
##### nodata(/host/key,sec,<mode>) {#nodata}

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

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters);<br>
- **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.<br>
- Aquesta funció mostrarà un error si, dins del període del 1r paràmetre:<br>- no hi ha dades i el servidor Zabbix s'ha reiniciat<br>- no hi ha dades i s'ha completat el manteniment<br>- no hi ha dades i l'element s'ha afegit o tornat a habilitar<br>
- Els errors es veuen a la columna *Informació* al trigger [configuració](/manual/web_interface/frontend_sections/data_collection/hosts/triggers);<br>
- É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](/manual/installation/requirements#time_synchronization).

Exemples:

```default
nodata(/host/agent.ping,5m)=1 #trigger si no s'ha rebut cap dada de l'agent de Zabbix durant 5 minuts
```

[comment]: # ({/ce0040c4-178e3950})

[comment]: # ({8fe0ae58-e8041c00})

##### percentile(/host/key,(sec|#num)<:time shift>,percentage) {#percentile}

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

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters);<br>
- **percentatge** - un nombre de coma flotant entre 0 i 100 (inclosos) amb fins a 4 dígits després del punt decimal.

Exemples:

```default
percentil(/host/net.if.in[eth0,bytes],1h,95)>1000000 #95th percentile network input (bytes/sec) més d'1 hora ha anat més enllà d'un llindar (per exemple, 1 MB/s)
percentil(/host/system.cpu.util,5m,95)>80 #95th percentil d'utilització de la CPU percentatge de temps d'usuari ha passat per sobre de 80
percentil(/host/icmpingsec[192.168.0.2],15m,95)>0.15 #la majoria de les mesures de latència estan per sota de 150 ms però la cua de gamma alta (part superior 5%) implica retard regular
percentil(/host/net.if.in[eth0,bytes],1h,50) #calcular el percentil 50 (el valor mitjà) del trànsit de xarxa entrant durant una hora; això produeix un resultat diferent d'avg() (la mitjana), ja que el percentil no considera valors atípics
(percentile(/host/net.if.in[eth0,bytes],1h,50)+percentil(/host/net.if.in[eth0,bytes],1h,51))/2 #calcula el valor mitjà precís amb un nombre parell de valors durant una hora
```

[comment]: # ({/8fe0ae58-e8041c00})

[comment]: # ({0e6c5369-3b1de601})

##### rate(/host/key,sec<:time shift>) {#rate}

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

Paràmetres:

- Veieu [paràmetres comuns](#common-parameters).

Funcionalment correspon a '[rate](https://prometheus.io/docs/prometheus/latest/querying/functions/#rate)' de PromQL.

Exemples:

```default
rate(/host/key,30s) #si l'augment monotònic de més de 30 segons és de 20, aquesta funció retorna 0,67.
rate(/host/net.if.in[eth0,bytes],5m)>500000 #la taxa de trànsit d'interfície entrant a eth0 ha superat els 500 KB/s en els darrers 5 minuts
rate(/host/app.requests.count,1m)>100 #el comptador de recompte de sol·licituds ha augmentat a >100 peticions per segon en el darrer minut
```

[comment]: # ({/0e6c5369-3b1de601})

[comment]: # ({ba59dd3a-ce01d749})

Veieu [totes les funcions admeses](/manual/appendix/functions).

[comment]: # ({/ba59dd3a-ce01d749})
