en-us	 #### Problem tags  Problem tags are used to match problems and services. These tags are specified at the primary service configuration tab.   Only child services of the lowest hierarchy level may have problem tags defined and be directly correlated to problems. If problem tags match,  the service status will change to the same status as the problem has. In case of several problems, a service will have the status of the most severe one. Status of a  parent service is then calculated based on child services statuses according to Status calculation rules.   If several tags are specified, *AND* logic is used: a problem must have all tags  specified in the service configuration to be mapped to the service.   ![](../../../assets/en/manual/config/problem_tags.png){width=600}   :::noteclassic A problem in Zabbix inherits tags from the whole chain of templates, hosts, items, web scenarios, and triggers. Any of these tags can be used for matching problems to services. ::: 
ca	#### Etiquetes de problemes  Les etiquetes de problema s'empren per fer coincidir problemes i serveis. Aquestes etiquetes s'especifiquen a la pestanya de configuració del servei principal.  Només els serveis secundaris del nivell jeràrquic més baix poden tindre etiquetes de problemes definides i correlacionar directament amb els problemes. Si les etiquetes del problema coincideixen, l'estat del servei canviarà al mateix estat que el problema. En cas de diversos problemes, el servei tindrà la condició de més greu. L'estat d'un servei principal es calcula a partir dels estats dels serveis fills d'acord amb les regles de càlcul de l'estat.  Si s'especifiquen diverses etiquetes, s'empra la lògica *I*: un problema ha de tindre totes les etiquetes especificades a la configuració del servei perquè s'assignin al servei.  ![](../../../assets/en/manual/config/problem_tags.png){width=600}  :::noteclassic Un problema a Zabbix és heretar etiquetes de tota la cadena de models, equips, elements, escenaris web i triggers. Cadascuna d'aquestes etiquetes es pot emprar per relacionar problemes amb serveis. :::

en-us	### Problem tag  The problem tag object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |tag|string|Problem tag name.| |value|string|Problem tag value.|
ca	### Etiqueta de problema  L'objecte d'etiqueta de problema té les propietats següents:  |Propietat|[Tipus](/manual/api/reference_commentary#data_types)|Descripció| |--|--|------| |tag|string|Nom de l'etiqueta de problema.| |value|string|Valor de l'etiqueta de problema.|

en-us	### Problem tag  The problem tag object is used to define which problems must be suppressed when the maintenance comes into effect. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |**tag**<br>(required)|string|Problem tag name.| |operator|integer|Condition operator.<br><br>Possible values:<br>0 - Equals;<br>2 - *(default)* Contains.| |value|string|Problem tag value.|  Tags can only be specified for maintenance periods with data collection (`"maintenance_type":0`).
ca	### Etiqueta de problema  L'objecte d'etiqueta de problema s'empra per definir quins problemes s'han d'esborrar quan el manteniment entri en vigor. Té les següents propietats.  |Propietat|[Tipus](/manual/api/reference_commentary#data_types)|Descripció| |--|--|------| |**tag**<br>(obligatori)|string|Nom de l'etiqueta del problema.| |operator|integer|Operador de condició.<br><br>Valors possibles:<br>0 - És igual;<br>2 - *(per defecte)* Conté.| |value|string|Valor de l'etiqueta del problema.|  Les etiquetes només es poden especificar per als períodes de manteniment amb recollida de dades (`"maintenance_type":0`).

en-us	# Problem  This class is designed to work with problems.  Object references:\  -   [Problem](/manual/api/reference/problem/object#problem)  Available methods:\  -   [problem.get](/manual/api/reference/problem/get) - retrieving     problems
ca	# Problema  Aquesta classe és dissenyada per treballar amb problemes.  Referències d'objecte:\  -   [Problema](/manual/api/reference/problem/object#problem)  Mètodes disponibles:\  -   [problem.get](/manual/api/reference/problem/get) - recuperar problemes

en-us	##### Problem update window  If a problem arises for a trigger with the *Manual close* flag, you can open the [problem update](/manual/acknowledges#updating_problems) popup window of that problem and close the problem manually.  To close the problem, check the *Close problem* option in the form and click on *Update*.  ![](../../../../assets/en/manual/config/close_problem1.png)  All mandatory input fields are marked with a red asterisk.  The request is processed by Zabbix server. Normally it will take a few seconds to close the problem. During that process *CLOSING* is displayed in *Monitoring* → *Problems* as the status of the problem.
ca	##### Finestra d'actualització del problema  Si es produeix un problema a un trigger amb la marca *Tancament manual*, podeu obrir la finestra emergent [problema d'actualització](/manual/acknowledges#updating_problems) i tancar-lo manualment.  Per tancar el problema, marqueu l'opció *Tanca el problema* al formulari i feu clic a *Actualitza*.  ![](../../../../assets/en/manual/config/close_problem1.png)  Tots els camps d'entrada obligatoris són marcats amb un asterisc vermell.  La petició la processa el servidor Zabbix. Normalment, es trigarà uns segons a solucionar el problema. Durant aquest procés, *TANCAR* apareix a *Monitoratge* → *Problemes* com a estat del problema.

en-us	##### Problem with dots  So far so good. But what if an attribute name or a hash key contains dot symbol? Here is an example:      jmx[com.example:Type=Hello,all.fruits.apple.weight]  That's a problem. How to tell Zabbix that attribute name is "all.fruits", not just "all"? How to distinguish a dot that is part of the name from the dot that separates an attribute name and hash keys?  Before **2.0.4** Zabbix Java gateway was unable to handle such situations and users were left with UNSUPPORTED items. Since 2.0.4 this is possible, all you need to do is to escape the dots that are part of the name with a backslash:      jmx[com.example:Type=Hello,all\.fruits.apple.weight]  Same way, if your hash key contains a dot you escape it:      jmx[com.example:Type=Hello,all\.fruits.apple.total\.weight]
ca	##### Problema amb els punts  Fins ara, tot bé. Però, què passa si un nom d'atribut o una clau hash conté un punt? Aquí teniu un exemple:       jmx[com.example:Type=Hello,all.fruits.apple.weight]  És complicat. Com li diem al Zabbix que el nom de l'atribut és "all.fruits", no només "all"? Com es distingeix un punt que forma part del nom del punt que separa un nom d'atribut i les claus hash?  Abans de la versió **2.0.4**, Zabbix Java Gateway no era capaç de gestionar aquestes situacions i els usuaris es quedaven amb elements NO ADMESOS. Des de la 2.0.4 això és possible; tot el que heu de fer és escapar dels punts que formen part del nom amb una barra invertida:      jmx[com.example:Type=Hello,all\.fruits.apple.weight]  De la mateixa manera, si la vostra clau hash conté un punt, se n'escaparà:      jmx[com.example:Type=Hello,all\.fruits.apple.total\.weight]

en-us	##### Process data  |Item key|<|<|<| |--|--|------|------| |Description|Return value|Parameters|Comments| |**proc.cpu.util**\[<name>,<user>,<type>,<cmdline>,<mode>,<zone>\]|<|<|<| |Process CPU utilization percentage.|Float|**name** - process name (default is *all processes*)<br>**user** - user name (default is *all users*)<br>**type** - CPU utilization type:<br>*total* (default), *user*, *system*<br>**cmdline** - filter by command line (it is a regular [expression](/manual/regular_expressions#overview))<br>**mode** - data gathering mode: *avg1* (default), *avg5*, *avg15*<br>**zone** - target zone: *current* (default), *all*. This parameter is supported on Solaris only.|Examples:<br>=> proc.cpu.util\[,root\] → CPU utilization of all processes running under the "root" user<br>=> proc.cpu.util\[zabbix\_server,zabbix\] → CPU utilization of all zabbix\_server processes running under the zabbix user<br><br>The returned value is based on single CPU core utilization percentage. For example CPU utilization of a process fully using two cores is 200%.<br><br>The process CPU utilization data is gathered by a collector which supports the maximum of 1024 unique (by name, user and command line) queries. Queries not accessed during the last 24 hours are removed from the collector.<br><br>*Note* that when setting the `zone` parameter to *current* (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, *all* is supported in this case.<br><br>This key is supported since Zabbix 3.0.0 and is available on several platforms (see [Items supported by platform](/manual/appendix/items/supported_by_platform)).| |**proc.mem**\[<name>,<user>,<mode>,<cmdline>,<memtype>\]|<|<|<| |Memory used by process in bytes.|Integer - with `mode` as *max*, *min*, *sum*<br><br>Float - with `mode` as *avg*|**name** - process name (default is *all processes*)<br>**user** - user name (default is *all users*)<br>**mode** - possible values:<br>*avg*, *max*, *min*, *sum* (default)<br>**cmdline** - filter by command line (it is a regular [expression](/manual/regular_expressions#overview))<br>**memtype** - [type of memory](/manual/appendix/items/proc_mem_notes) used by process|Examples:<br>=> proc.mem\[,root\] → memory used by all processes running under the "root" user<br>=> proc.mem\[zabbix\_server,zabbix\] → memory used by all zabbix\_server processes running under the zabbix user<br>=> proc.mem\[,oracle,max,oracleZABBIX\] → memory used by the most memory-hungry process running under oracle having oracleZABBIX in its command line<br><br>*Note*: When several processes use shared memory, the sum of memory used by processes may result in large, unrealistic values.<br><br>See [notes](/manual/appendix/items/proc_mem_num_notes) on selecting processes with `name` and `cmdline` parameters (Linux-specific).<br><br>When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: `zabbix_agentd -t proc.mem[,,,apache2]`), one extra process will be counted, as the agent will count itself.<br><br>The `memtype` parameter is supported on several [platforms](/manual/appendix/items/supported_by_platform) since Zabbix 3.0.0.| |**proc.num**\[<name>,<user>,<state>,<cmdline>,<zone>\]|<|<|<| |The number of processes.|Integer|**name** - process name (default is *all processes*)<br>**user** - user name (default is *all users*)<br>**state** (*disk* and *trace* options since version 3.4.0) - possible values:<br>*all* (default),<br>*disk* - uninterruptible sleep,<br>*run* - running,<br>*sleep* - interruptible sleep,<br>*trace* - stopped,<br>*zomb* - zombie<br>**cmdline** - filter by command line (it is a regular [expression](/manual/regular_expressions#overview))<br>**zone** - target zone: *current* (default), *all*. This parameter is supported on Solaris only.|Examples:<br>=> proc.num\[,mysql\] → number of processes running under the mysql user<br>=> proc.num\[apache2,www-data\] → number of apache2 processes running under the www-data user<br>=> proc.num\[,oracle,sleep,oracleZABBIX\] → number of processes in sleep state running under oracle having oracleZABBIX in its command line<br><br>See [notes](/manual/appendix/items/proc_mem_num_notes) on selecting processes with `name` and `cmdline` parameters (Linux-specific).<br><br>On Windows, only the `name` and `user` parameters are supported.<br><br>When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: `zabbix_agentd -t proc.num[,,,apache2]`), one extra process will be counted, as the agent will count itself.<br><br>*Note* that when setting the `zone` parameter to *current* (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, *all* is supported in this case.|
ca	##### Informació de processos  |Clau d'element|<|<|<| |--|--|------|------| |Descripció|Valor de retorn|Paràmetres|Comentaris| |**proc.cpu.util**\[\<nom\>,\<usuari\>,\<tipus\>,\<cmdline\>,\<mode\>,\<zona\>\]| <<|<| |Percentatge d'ús de la CPU del procés.|Flotant|**nom** - nom del procés (el valor predeterminat és *tots els processos*)<br>**usuari** - nom d'usuari (el valor predeterminat és *tots els usuaris*)<br>** tipus** - tipus d'ús de la CPU:<br>*total* (per defecte), *usuari*, *sistema*<br>**cmdline** - filtra per línia de comandes (aquesta és una [expressió regular](/manual/regular_expressions#overview))<br>**mode** - mode de recollida de dades: *avg1* (predeterminat), *avg5*, *avg15*<br>**zone** - zona objectiu: *actual* (predeterminat), *totes*. Aquesta configuració només s'admet a Solaris.|Exemples:<br>=> proc.cpu.util\[,root\] → Ús de la CPU de tots els processos que s'executen sota l'usuari "root"<br>=> proc.cpu.util\ [zabbix\_server,zabbix\] → Ús de la CPU de tots els processos zabbix\_server que s'executen amb l'usuari zabbix<br><br>El valor retornat es basa en el percentatge d'ús d'un sol nucli de processador. Per exemple, l'ús de la CPU d'un procés que empra completament dos nuclis és del 200%.<br><br>Les dades d'ús de la CPU del procés són recopilades per un col·lector que admet un màxim de 1024 consultes úniques (per nom, usuari i línia de comandes). Les consultes que no s'han vist a les darreres 24 hores s'eliminen del col·lector.<br><br>*Tingueu en compte* que quan s'estableix el paràmetre `zone` com a *actual* (o per defecte) en cas que l'agent s'hagi compilat en un Solaris sense suport, però s'executa en un Solaris més nou on les zones són compatibles, l'agent tornarà NO SUPORTAT (l'agent no pot limitar els resultats només a la zona actual). Tanmateix, *tot* és compatible en aquest cas.<br><br>Aquesta clau és compatible des de Zabbix 3.0.0 i és disponible en diverses plataformes (veieu [Elements compatibles amb la plataforma](/manual/appendix/items/supported_by_platform)).| |**proc.mem**\[\<nom\>,\<usuari\>,\<mode\>,\<cmdline\>,\<memtype\>\]|<|<|<| |Memòria emprada pel procés en octets.|Enter - amb `mode' establert a *max*, *min*, *sum*<br><br>Coma flotant - amb `mode' establert a *avg*|**nom** - nom del procés (per defecte és *tots els processos*)<br>**usuari** - nom d'usuari (per defecte és *tots els usuaris*)<br>**mode** - valors possibles:<br>*mitjana* , *max*, *min*, *sum* (per defecte)<br>**cmdline** -: filtra per línia de comandes (aquesta és una [expressió regular ](/manual/regular_expressions#overview))<br>**memtype** - [tipus de memòria](/manual/appendix/items/proc_mem_notes) emprada pel procés|Exemples:<br>=> proc.mem\ [,root\] → memòria emprada per tots els processos que s'executen amb l'usuari "root" <br>=> proc.mem\[zabbix\_server,zabbix\] → memòria emprada per tots els processos zabbix\_server que s'executen amb l'usuari "user" zabbix<br>=> proc.mem\[,oracle,max,oracleZABBIX\] → memòria emprada per la majoria dels processos intensius de memòria que s'executen sota Oracle amb OracleZABBIX a la seva línia d'ordres<br><br> *Nota*: Quan diversos processos empren memòria compartida, la suma de la memòria emprada pels processos pot donar lloc a valors grans i poc realistes. <br><br>Veieu [notes](/manual/appendix/items/proc_mem_num_notes) quan seleccioneu processos amb paràmetres `name` i `cmdline` (específics de Linux).<br><br>Quan aquest element es crida des del línia d'ordres i conté un paràmetre de línia d'ordres (per exemple, emprant el mode de prova de l'agent: `zabbix_agentd -t proc.mem[,,,apache2]`), es comptarà un procés addicional, ja que l'agent es comptarà ell mateix.<br> <br>El paràmetre `memtype` és compatible amb diverses [plataformes](/manual/appendix/items/supported_by_platform) des de Zabbix 3.0.0.| |**proc.num**\[\<nom\>,\<usuari\>,\<estat\>,\<cmdline\>,\<zona\>\]|<|<|<| |El nombre de processos.|Enter|**nom** - nom del procés (per defecte és *tots els processos*)<br>**usuari** - nom d'usuari (el valor predeterminat és *tots els usuaris*)<br>**estat** (opcions *disk* i *trace* des de la versió 3.4.0) - valors possibles:<br>*all* (per defecte),<br>*disk* - repòs ininterromput,<br>*run* - en execució,< br>*sleep* - son interrompible,<br>*trace* - aturat,<br>*zomb* - zombie<br>**cmdline** - filtra per línia d'ordres (aquesta és una [expressió regular](/manual /regular_expressions#overview))<br>**zona** - zona objectiu: *actual* (per defecte), *totes*. Aquest paràmetre només és compatible amb Solaris.|Exemples:<br>=> proc.num\[,mysql\] → nombre de processos que s'executen amb l'usuari mysql<br>=> proc.num\[apache2,www -data\] → nombre de processos apache2 que s'executen amb l'usuari www-data<br>=> proc.num\[,oracle,sleep,oracleZABBIX\] → nombre de processos en estat de repòs que s'executen sota l'oracle amb oracleZABBIX a la seva línia d'ordres<br><br>Veieu [notes](/manual/appendix/items/proc_mem_num_notes) quan trieu processos amb `name` i `cmdline` paràmetres (específics de Linux).<br><br>A Windows, només s'admeten els paràmetres `name` i `user`.<br><br>Quan aquest element es crida des de la línia d'ordres i conté un paràmetre de línia d'ordres (per a exemple, emprant el mode de prova de l'agent: `zabbix_agentd -t proc.num[,,,apache2]`), es comptarà un procés addicional, perquè l'agent es comptarà ell mateix.<br><br>*Tingueu en compte* que quan s'estableixi el paràmetre `zone` a *actual* (o predeterminat) en cas que l'agent s'hagi compilat en un Solaris sense suport de zones, però que s'executi en un Solaris més nou on s'admeten zones, l'agent retornarà NO SOPORTAT (l'agent no pot limitar els resultats només a la zona actual). Tanmateix, *tot* és compatible en aquest cas.|

en-us	 ## Processes
ca	 ## Processos

en-us	#### Processes modifying their commandline  Some programs use modifying their commandline as a method for displaying their current activity. A user can see the activity by running `ps` and `top` commands. Examples of such programs include *PostgreSQL*, *Sendmail*, *Zabbix*.  Let's see an example from Linux. Let's assume we want to monitor a number of Zabbix agent processes.  `ps` command shows processes of interest as      $ ps -fu zabbix     UID        PID  PPID  C STIME TTY          TIME CMD     ...     zabbix    6318     1  0 12:01 ?        00:00:00 sbin/zabbix_agentd -c /home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf     zabbix    6319  6318  0 12:01 ?        00:00:01 sbin/zabbix_agentd: collector [idle 1 sec]                               zabbix    6320  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #1 [waiting for connection]                 zabbix    6321  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #2 [waiting for connection]                 zabbix    6322  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #3 [waiting for connection]                 zabbix    6323  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: active checks #1 [idle 1 sec]                        ...  Selecting processes by name and user does the job:      $ zabbix_get -s localhost -k 'proc.num[zabbix_agentd,zabbix]'     6  Now let's rename `zabbix_agentd` executable to `zabbix_agentd_30` and restart it.  `ps` now shows      $ ps -fu zabbix     UID        PID  PPID  C STIME TTY          TIME CMD     ...     zabbix    6715     1  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30 -c /home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf     zabbix    6716  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: collector [idle 1 sec]                               zabbix    6717  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #1 [waiting for connection]                 zabbix    6718  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #2 [waiting for connection]                 zabbix    6719  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #3 [waiting for connection]                 zabbix    6720  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: active checks #1 [idle 1 sec]                        ...  Now selecting processes by name and user produces an incorrect result:      $ zabbix_get -s localhost -k 'proc.num[zabbix_agentd_30,zabbix]'     1  Why a simple renaming of executable to a longer name lead to quite different result ?  Zabbix agent starts with checking the process name. `/proc/<pid>/status` file is opened and the line `Name` is checked. In our case the `Name` lines are:      $ grep Name /proc/{6715,6716,6717,6718,6719,6720}/status     /proc/6715/status:Name:   zabbix_agentd_3     /proc/6716/status:Name:   zabbix_agentd_3     /proc/6717/status:Name:   zabbix_agentd_3     /proc/6718/status:Name:   zabbix_agentd_3     /proc/6719/status:Name:   zabbix_agentd_3     /proc/6720/status:Name:   zabbix_agentd_3  The process name in `status` file is truncated to 15 characters.  A similar result can be seen with `ps` command:      $ ps -u zabbix       PID TTY          TIME CMD     ...      6715 ?        00:00:00 zabbix_agentd_3      6716 ?        00:00:01 zabbix_agentd_3      6717 ?        00:00:00 zabbix_agentd_3      6718 ?        00:00:00 zabbix_agentd_3      6719 ?        00:00:00 zabbix_agentd_3      6720 ?        00:00:00 zabbix_agentd_3      ...  Obviously, that is not equal to our `proc.num[]` `name` parameter value `zabbix_agentd_30`. Having failed to match the process name from `status` file the Zabbix agent turns to `/proc/<pid>/cmdline` file.  How the agent sees the "cmdline" file can be illustrated with running a command      $ for i in 6715 6716 6717 6718 6719 6720; do cat /proc/$i/cmdline | awk '{gsub(/\x0/,"<NUL>"); print};'; done     sbin/zabbix_agentd_30<NUL>-c<NUL>/home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf<NUL>     sbin/zabbix_agentd_30: collector [idle 1 sec]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #1 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #2 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #3 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: active checks #1 [idle 1 sec]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...  `/proc/<pid>/cmdline` files in our case contain invisible, non-printable null bytes, used to terminate strings in *C* language. The null bytes are shown as "<NUL>" in this example.  Zabbix agent checks "cmdline" for the main process and takes a `zabbix_agentd_30`, which matches our `name` parameter value `zabbix_agentd_30`. So, the main process is counted by item `proc.num[zabbix_agentd_30,zabbix]`.  When checking the next process, the agent takes `zabbix_agentd_30: collector [idle 1 sec]` from the `cmdline` file and it does not meet our `name` parameter `zabbix_agentd_30`. So, only the main process which does not modify its commandline, gets counted. Other agent processes modify their command line and are ignored.  This example shows that the `name` parameter cannot be used in `proc.mem[]` and `proc.num[]` for selecting processes in this case.  Using `cmdline` parameter with a proper regular expression produces a correct result:      $ zabbix_get -s localhost -k 'proc.num[,zabbix,,zabbix_agentd_30[ :]]'     6  Be careful when using `proc.mem[]` and `proc.num[]` items for monitoring programs which modify their commandlines.  Before putting `name` and `cmdline` parameters into `proc.mem[]` and `proc.num[]` items, you may want to test the parameters using `proc.num[]` item and `ps` command.
ca	#### Processos modificant la línia de comandes  Alguns programes empren la modificació de la seva línia de comandes per mostrar la seva activitat actual. Un usuari pot veure l'activitat executant les comandes `ps` i `top`. *PostgreSQL*, *Sendmail*, *Zabbix* són exemples d'aquests programes.  Veieu un exemple de Linux. Suposeu que ens cal monitorar un cer nombre de processos d'agent Zabbix.  La comanda `ps` mostra els processos que ens calen      $ ps -fu zabbix     UID        PID  PPID  C STIME TTY          TIME CMD     ...     zabbix    6318     1  0 12:01 ?        00:00:00 sbin/zabbix_agentd -c /home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf     zabbix    6319  6318  0 12:01 ?        00:00:01 sbin/zabbix_agentd: collector [idle 1 sec]     zabbix    6320  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #1 [waiting for connection]     zabbix    6321  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #2 [waiting for connection]     zabbix    6322  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #3 [waiting for connection]     zabbix    6323  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: active checks #1 [idle 1 sec]     ...  La selecció dels processos per nom d'usuari fan aquesta feina:      $ zabbix_get -s localhost -k 'proc.num[zabbix_agentd,zabbix]'     6  Mentrestant, reanomenem l'executable `zabbix_agentd` a `zabbix_agentd_30` i el reengeguem.  `ps` ensenya ara:      $ ps -fu zabbix     UID        PID  PPID  C STIME TTY          TIME CMD     ...     zabbix    6715     1  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30 -c /home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf     zabbix    6716  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: collector [idle 1 sec]     zabbix    6717  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #1 [waiting for connection]     zabbix    6718  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #2 [waiting for connection]     zabbix    6719  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #3 [waiting for connection]     zabbix    6720  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: active checks #1 [idle 1 sec]     ...  Mentrestant, la selecció dels processos per nom i usuari produeix un resultat incorrecte:      $ zabbix_get -s localhost -k 'proc.num[zabbix_agentd_30,zabbix]'     1  Per què un simple canvi de nom d'executable cap a un nom més llarg ens porta a un resultat ben diferent?  L'agent Zabbix comença verificant el nom dels processos. L'arxiu `/proc/<pid>/status` és obert i la línia `Name` marcada. En el nostre cas, les línies de `Name` són:      $ grep Name /proc/{6715,6716,6717,6718,6719,6720}/status     /proc/6715/status:Name:   zabbix_agentd_3     /proc/6716/status:Name:   zabbix_agentd_3     /proc/6717/status:Name:   zabbix_agentd_3     /proc/6718/status:Name:   zabbix_agentd_3     /proc/6719/status:Name:   zabbix_agentd_3     /proc/6720/status:Name:   zabbix_agentd_3  El nom dels processos dins l'arxiu `status` es retalla a 15 caràcters.  Un resultat semblant es pot veure amb la comanda `ps` :      $ ps -u zabbix       PID TTY          TIME CMD     ...      6715 ?        00:00:00 zabbix_agentd_3      6716 ?        00:00:01 zabbix_agentd_3      6717 ?        00:00:00 zabbix_agentd_3      6718 ?        00:00:00 zabbix_agentd_3      6719 ?        00:00:00 zabbix_agentd_3      6720 ?        00:00:00 zabbix_agentd_3      ...  Evidentment, `proc.num[]` no és igual al nostre valor del paràmetre `name` : `zabbix_agentd_30`. Com ha fallat la coincidència del nom de processos de l'arxiu `status`, l'agent Zabbix passa al fitxer `/proc/<pid>/cmdline`.  Com l'agent veu l'arxiu "cmdline" es pot il·lustrar amb l'execució d'una comanda      $ for i in 6715 6716 6717 6718 6719 6720; do cat /proc/$i/cmdline | awk '{gsub(/\x0/,"<NUL>"); print};'; done     sbin/zabbix_agentd_30<NUL>-c<NUL>/home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf<NUL>     sbin/zabbix_agentd_30: collector [idle 1 sec]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #1 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #2 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #3 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: active checks #1 [idle 1 sec]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...  Els arxius `/proc/<pid>/cmdline` del nostre cas contenen octets nuls invisibles i no imprimibles, emprats per acabar les cadenes en llenguatge *C*. Els octets nuls es representen amb "<NUL>" en aquest exemple.  L'agent Zabbix verifica a la "cmdline" el procés principal i pren `zabbix_agentd_30`, que correspón al valor del paràmetre `name`: `zabbix_agentd_30`. Així, el procés principal es compta per l'element `'proc.num[zabbix_agentd_30,zabbix]`.  Quan es verifica el següent procés, l'agent pren `zabbix_agentd_30: col·lector [idle 1 sec]` dins l'arxiu `cmdline` i no correspon pas al nostre paràmetre `name` `zabbix_agentd_30`. Així, sobre el procés principal que no modifica pas la línia de comandes, es compta. Altres processos d'agent modifiquen la seva línia de comandes i s'ignoren.  Aquest exemple mostra que el paràmetre `name` no pot pas ésser emprat a `proc.mem[]` i `proc.num[]` per la selecció de processos en aquest cas.  L'ús del paràmetre `cmdline` amb una expressió regular apropiada produeix un resultat correcte:      $ zabbix_get -s localhost -k 'proc.num[,zabbix,,zabbix_agentd_30[ :]]'     6  Sigueu prudent emprant els elements `proc.mem[]` i `proc.num[]` per monitorar els programes que modifiquen le seves línies de comandes.  Abans de posar els paràmetres `name` i `cmdline` dins els elements `proc.mem[]` i `proc.num[]`, podeu provar els paràmetres amb l'ajuda de l'element `proc.num[]` i de la comanda `ps`.

en-us	#### Process user  Zabbix agent on UNIX is designed to run as a non-root user. It will run as whatever non-root user it is started as. So you can run agent as any non-root user without any issues.  If you will try to run it as 'root', it will switch to a hardcoded 'zabbix' user, which must be present on your system. You can only run agent as 'root' if you modify the 'AllowRoot' parameter in the agent configuration file accordingly.
ca	#### Processos d'usuari  L'agent Zabbix sota UNIX s'ha pensat per executar com a usuari i no pas com a root. Funcionarà amb l'usuari no-root hagi iniciat. Podeu doncs executar l'agent com un usuari no-root sense problemes.  Si proveu d'executar-lo com a 'root', aquest passarà a un usuari 'zabbix' codi en brut, que ha d'ésser present al vostre sistema. Podeu executar només l'agent com a 'root' si modifiqueu el paràmetre 'AllowRoot' a l'arxiu de configuració de l'agent associat.

en-us	##### Process user  Zabbix proxy is designed to run as a non-root user. It will run as whatever non-root user it is started as. So you can run proxy as any non-root user without any issues.  If you will try to run it as 'root', it will switch to a hardcoded 'zabbix' user, which must be present on your system. You can only run proxy as 'root' if you modify the 'AllowRoot' parameter in the proxy configuration file accordingly.
ca	#### Processos d'usuari  El proxy Zabbix s'ha pensat per executar com a usuari i no pas com a root. Funcionarà amb l'usuari no-root hagi iniciat. Podeu doncs executar el proxy com un usuari no-root sense problemes.  Si proveu d'executar-lo com a 'root', aquest passarà a un usuari 'zabbix' codi en brut, que ha d'ésser present al vostre sistema. Podeu executar només el proxy com a 'root' si modifiqueu el paràmetre 'AllowRoot' a l'arxiu de configuració del proxy associat.

en-us	##### Process user  Zabbix server is designed to run as a non-root user. It will run as whatever non-root user it is started as. So you can run server as any non-root user without any issues.  If you will try to run it as 'root', it will switch to a hardcoded 'zabbix' user, which must be [present](/manual/installation/install) on your system. You can only run server as 'root' if you modify the 'AllowRoot' parameter in the server configuration file accordingly.  If Zabbix server and [agent](agent) are run on the same machine it is recommended to use a different user for running the server than for running the agent. Otherwise, if both are run as the same user, the agent can access the server configuration file and any Admin level user in Zabbix can quite easily retrieve, for example, the database password.
ca	##### Processos d'usuari  El servidor Zabbix és dissenyat per funcionar com a usuari no root. Funcionarà amb qualsevol usuari no root que iniciï els processos. Així, podeu executar el servidor com a usuari no root sense cap problema.  Si mireu d'executar-lo com a 'root', canviarà a un usuari 'zabbix' codificat en dur, que ha d'ésser [present](/manual/installation/install) al vostre sistema. Només podeu executar el servidor com a 'root' si canvieu la configuració 'AllowRoot' al fitxer de configuració associat del servidor.  Si el servidor i l'[agent](agent) Zabbix s'executen a la mateixa màquina, es recomana emprar un usuari diferent per executar el servidor i l'agent. En cas contrari, si tots dos s'executen amb el mateix usuari, l'agent pot accedir al fitxer de configuració del servidor i qualsevol usuari de nivell administrador de Zabbix pot recuperar fàcilment, per exemple, el mot de pas de la base de dades.

en-us	#### Prometheus query language  Zabbix Prometheus preprocessing [query language](/manual/config/items/itemtypes/prometheus) now supports two additional label matching operators:  -   **!=** -- select labels that are not equal to the provided string; -   **!\~** -- select labels that do not regex-match the provided     string.
ca	### Llenguatge de consultes Prometheus  El llenguatge de consulta de preprocessament de [Prometheus](/manual/config/items/itemtypes/prometheus) ara admet dos operadors de concordança d'etiquetes addicionals:  - **!=** -- tria etiquetes que no siguin iguals a la cadena proporcionada; - **!\~** -- tria etiquetes que no coincideixen amb l'expressió regular de cadena subministrada.

en-us	#### Prometheus to JSON  Data from Prometheus can be used for low-level discovery. In this case data in JSON format are needed and the *Prometheus to JSON* preprocessing option will return exactly that.  For more details, see [Discovery using Prometheus data](/manual/discovery/low_level_discovery/examples/prometheus).
ca	#### Prometheus a JSON  Les dades de Prometheus es poden emprar per la descoberta de baix nivell. En aquest cas, calen dades en format JSON i l'opció de preprocessat *Prometheus to JSON* retornarà exactament això.  Per obtindre més informació, consulteu [descoberta emprant informació Prometheus](/manual/discovery/low_level_discovery/examples/prometheus).

en-us	##### Prometheus to JSON  In the discovery rule, go to the Preprocessing tab and select the *Prometheus to JSON* preprocessing option. Data in JSON format are needed for discovery and the *Prometheus to JSON* preprocessing option will return exactly that, with the following attributes:  -   metric name -   metric value -   help (if present) -   type (if present) -   labels (if present) -   raw line  For example, querying `wmi_logical_disk_free_bytes`:  ![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_prom_json.png)  from these Prometheus lines:      # HELP wmi_logical_disk_free_bytes Free space in bytes (LogicalDisk.PercentFreeSpace)     # TYPE wmi_logical_disk_free_bytes gauge     wmi_logical_disk_free_bytes{volume="C:"} 3.5180249088e+11     wmi_logical_disk_free_bytes{volume="D:"} 2.627731456e+09     wmi_logical_disk_free_bytes{volume="HarddiskVolume4"} 4.59276288e+08  will return:  ``` {.java} [     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "C:"          },         "value": "3.5180249088e+11",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"C:\"} 3.5180249088e+11"     },     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "D:"          },         "value": "2.627731456e+09",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"D:\"} 2.627731456e+09"     },     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "HarddiskVolume4"          },         "value": "4.59276288e+08",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"HarddiskVolume4\"} 4.59276288e+08"     } ] ```
ca	##### Prometheus a JSON  A la regla de descoberta, navegueu a la pestanya Preprocessament i trieu l'opció de preprocessament *Prometheus to JSON*. Les dades en format JSON són necessàries per a la descoberta i l'opció de preprocessament *Prometheus to JSON* retornarà exactament això, amb els atributs següents:  - nom mètric - valor mètric - ajuda (si és present) - tipus (si n'hi ha) - etiquetes (si n'hi han) - línia crua  Per exemple, consultant `wmi_logical_disk_free_bytes`:  ![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_prom_json.png)  d'aquestes línies de Prometeu:      # HELP wmi_logical_disk_free_bytes Free space in bytes (LogicalDisk.PercentFreeSpace)     # TYPE wmi_logical_disk_free_bytes gauge     wmi_logical_disk_free_bytes{volume="C:"} 3.5180249088e+11     wmi_logical_disk_free_bytes{volume="D:"} 2.627731456e+09     wmi_logical_disk_free_bytes{volume="HarddiskVolume4"} 4.59276288e+08  retornarà:  ``` {.java} [     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "C:"          },         "value": "3.5180249088e+11",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"C:\"} 3.5180249088e+11"     },     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "D:"          },         "value": "2.627731456e+09",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"D:\"} 2.627731456e+09"     },     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "HarddiskVolume4"          },         "value": "4.59276288e+08",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"HarddiskVolume4\"} 4.59276288e+08"     } ] ```

en-us	#### Property labels  Some of the objects properties are marked with short labels to describe their behavior. The following labels are used:  -   *readonly* - the value of the property is set automatically and     cannot be defined or changed by the client; -   *constant* - the value of the property can be set when creating an     object, but cannot be changed after.
ca	#### Etiquetes de propietat  Algunes propietats d'objectes són marcats amb etiquetes per descriure el seu comportament. Les etiquetes emprades són les següents:  -   *readonly* - el valor de la propietat s'estableix automàticament i el client no pot pas ni definir-la ni canviar-la; -   *constant* el valor de la propietat es pot establir al crear un objecte, però no es pot pas modificar després.

en-us	| Property                       | [Type](/manual/api/reference_commentary#data_types) | Description                                                                           | |--------------------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------| | **name**<br>(required)         | string                                              | Name of the excluded downtime.                                                        | | **period\_from**<br>(required) | integer                                             | Starting time of the excluded downtime (inclusive).<br><br>Possible values: timestamp. | | **period\_to**<br>(required)   | integer                                             | Ending time of the excluded downtime (exclusive).<br><br>Possible values: timestamp.  |
ca	| Propietat | [Tipus](/manual/api/reference_commentary#data_types) | Descripció | |---------------------------------|----------------- -------------------------------------|------------- - ------------------------------------------------- - -------------------------| | **name**<br>(obligatori) | integer | Nom del temps d'inactivitat exclòs. | | **period\_from**<br>(obligatori) | enter | S'exclou (inclou) l'hora d'inici del temps d'inactivitat.<br><br>Valors possibles: marca de temps. | | **period\_to**<br>(obligatori) | integer | Hora de finalització del temps d'inactivitat exclòs (exclòs).<br><br>Valors possibles: marca de temps. |

en-us	| Property                       | [Type](/manual/api/reference_commentary#data_types) | Description                                                                                                                         | |--------------------------------|-----------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------| | **period\_from**<br>(required) | integer                                             | Starting time of the recurrent weekly period of time (inclusive).<br><br>Possible values: number of seconds (counting from Sunday). | | **period\_to**<br>(required)   | integer                                             | Ending time of the recurrent weekly period of time (exclusive).<br><br>Possible values: number of seconds (counting from Sunday).   |
ca	| Propietat | [Tipus](/manual/api/reference_commentary#data_types) | Descripció | |---------------------------------|----------------- -------------------------------------|------------- - ------------------------------------------------- - ------------------------------------------------- - ----------------------| | **period\_from**<br>(obligatori) | integer | Hora d'inici del període setmanal recurrent (inclòs).<br><br>Valors possibles: nombre de segons (a partir de diumenge). | | **period\_to**<br>(obligatori) | integer | Hora de finalització del període setmanal recurrent (exclòs).<br><br>Valors possibles: nombre de segons (a partir de diumenge). |

en-us	| Property              | [Type](/manual/api/reference_commentary#data_types) | Description                                                                                   | |-----------------------|-----------------------------------------------------|-----------------------------------------------------------------------------------------------| | **tag**<br>(required) | string                                              | SLA service tag name.                                                                         | | operator              | integer                                             | SLA service tag operator.<br><br>Possible values:<br>0 - *(default)* equals;<br>2 - contains. | | value                 | string                                              | SLA service tag value.                                                                        |
ca	| Propietat | [Tipus](/manual/api/reference_commentary#data_types) | Descripció | |---------|---------------------------------------- ----------------|----------------------------------- ------------------------------------ -------------- -----| | **tag**<br>(obligatori) | string | Nom de l'etiqueta de servei SLA. | | operator | integer | Operador d'etiquetes de servei SLA.<br><br>Valors possibles:<br>0 - *(per defecte)* iguals;<br>2 - conté. | | value | string |Valor de l'etiqueta de servei SLA. |

en-us	##### Protection against brute force attacks  In case of five consecutive failed login attempts, Zabbix interface will pause for 30 seconds in order to prevent brute force and dictionary attacks.  The IP address of a failed login attempt will be displayed after a successful login.
ca	##### Protecció contra atacs de força bruta  En cas de cinc intents d'inici de sessió consecutius sense èxit, la interfície de Zabbix es tancarà durant 30 segons per evitar atacs de força bruta i de diccionari.  L'adreça IP d'un intent d'inici de sessió fallit es mostrarà després d'una sessió correcta.

en-us	##### Protection from overloading  If Zabbix server was down for some time, and proxies have collected a lot of data,  and then the server starts, it may get overloaded (history cache usage stays at 95-100% for some time).  This overload could result in a performance hit, where checks are processed slower  than they should. Protection from this scenario was implemented to avoid problems that arise  due to overloading history cache.  When Zabbix server history cache is full the history cache write access is being  throttled, stalling server data gathering processes. The most common history cache  overload case is after server downtime when proxies are uploading gathered data. To avoid  this proxy throttling was added (currently it cannot be disabled).  Zabbix server will stop accepting data from proxies when history cache usage reaches 80%.  Instead those proxies will be put on a throttling list. This will continue until the cache usage  falls down to 60%. Now server will start accepting data from proxies one by one, defined by the  throttling list. This means the first proxy that attempted to upload data during the throttling  period will be served first and until it's done the server will not accept data from other proxies.  This throttling mode will continue until either cache usage hits 80% again or falls down to 20%  or the throttling list is empty. In the first case the server will stop accepting proxy data again.  In the other two cases the server will start working normally, accepting data from all proxies.  The above information can be illustrated in the following table:  |History write <br>cache usage|Zabbix server mode|Zabbix server action| |--|--|------| |Reaches 80% |Wait|Stops accepting proxy data, but maintains a *throttling list* (prioritized list of proxies to be contacted later).| |Drops to 60% |Throttled|Starts processing throttling list, but still not accepting proxy data.| |Drops to 20% |Normal|Drops the throttling list and starts accepting proxy data normally.|  You may use the `zabbix[wcache,history,pused]` internal item to correlate this behavior of Zabbix  server with a metric.
ca	##### Protecció contra sobrecàrregues  Si el servidor Zabbix ha estat inactiu durant un temps i els proxys han recopilat moltes dades, quan s'inicia el servidor pot sobrecarregar-se (ús de la memòria cau de l'historial mantingut al 95-100% durant un temps). Aquesta sobrecàrrega pot provocar una davallada de rendiment, on les comprovacions es processen més lentament del que haurien. La protecció contra aquest escenari s'ha implementat per evitar problemes causats per la sobrecàrrega de la memòria cau de l'historial.  Quan la memòria cau de l'historial del servidor Zabbix és plena, l'accés d'escriptura a la memòria cau de l'historial és restringit, cosa que bloqueja els processos de recollida de dades del servidor. El cas més comú de sobrecàrrega de la memòria cau de l'historial és després del temps d'inactivitat del servidor quan els proxys descarreguen les dades recopilades. Per evitar aquest proxy, s'ha afegit una limitació (actualment no es pot desactivar).  El servidor Zabbix deixarà d'acceptar dades dels proxys quan l'ús de la memòria cau de l'historial arribi al 80%. En lloc d'això, aquests proxies es col·locaran en una llista d'acceleració. Això continuarà fins que l'ús de la memòria cau baixa al 60%. En aquest moment, el servidor començarà a acceptar dades dels proxys un per un, definits per la llista d'acceleració. Això vol dir que el primer proxy que miri de baixar dades durant el període d'acceleració es servirà primer i fins que això no es faci, el servidor no acceptarà dades d'altres proxys.  Aquest mode d'acceleració continuarà fins que l'ús de la memòria cau torni a arribar al 80% o baixi al 20% o la llista d'acceleració sigui buida. En el primer cas, el servidor deixarà d'acceptar dades de proxy de nou. En els altres dos casos, el servidor començarà a funcionar amb normalitat, acceptant dades de tots els proxys.  La informació anterior es pot il·lustrar a la taula següent:  |Ús de la memòria cau <br>historial d'escriptura|Mode del servidor Zabbix|Acció del servidor Zabbix| |--|--|------| |S'ha arribat al 80% |Pendent|Deixa d'acceptar dades de proxy, però manté una *llista d'acceleració* (llista de prioritats de proxys per contactar més tard).| |Baixa al 60% |Limitació|Comença a processar la llista d'acceleració, però encara no accepta dades de proxy.| |Baixa al 20% |Normal|Esborra la llista d'acceleració i comença a acceptar dades de proxy amb normalitat.|  Podeu emprar l'element intern `zabbix[wcache,history,pused]` per correlacionar aquest comportament del servidor Zabbix amb una mètrica.

en-us	##### - Providing history export callbacks  ::: noteimportant History export via module is no longer supported by Zabbix proxy since Zabbix 4.0.0. :::  Module can specify functions to export history data by type: Numeric (float), Numeric (unsigned), Character, Text and Log:  ``` {.c} typedef struct {     void    (*history_float_cb)(const ZBX_HISTORY_FLOAT *history, int history_num);     void    (*history_integer_cb)(const ZBX_HISTORY_INTEGER *history, int history_num);     void    (*history_string_cb)(const ZBX_HISTORY_STRING *history, int history_num);     void    (*history_text_cb)(const ZBX_HISTORY_TEXT *history, int history_num);     void    (*history_log_cb)(const ZBX_HISTORY_LOG *history, int history_num); } ZBX_HISTORY_WRITE_CBS; ```  Each of them should take "history" array of "history\_num" elements as arguments. Depending on history data type to be exported, "history" is an array of the following structures, respectively:  ``` {.c} typedef struct {     zbx_uint64_t    itemid;     int     clock;     int     ns;     double      value; } ZBX_HISTORY_FLOAT;  typedef struct {     zbx_uint64_t    itemid;     int     clock;     int     ns;     zbx_uint64_t    value; } ZBX_HISTORY_INTEGER;  typedef struct {     zbx_uint64_t    itemid;     int     clock;     int     ns;     const char  *value; } ZBX_HISTORY_STRING;  typedef struct {     zbx_uint64_t    itemid;     int     clock;     int     ns;     const char  *value; } ZBX_HISTORY_TEXT;  typedef struct {     zbx_uint64_t    itemid;     int     clock;     int     ns;     const char  *value;     const char  *source;     int     timestamp;     int     logeventid;     int     severity; } ZBX_HISTORY_LOG; ```  Callbacks will be used by Zabbix server history syncer processes in the end of history sync procedure after data is written into Zabbix database and saved in value cache.  :::noteimportant In case of internal error in history export module it is recommended that module is written in such a way that it does not block whole monitoring until it recovers but discards data instead and allows Zabbix server to continue running. :::
ca	##### - Proporcioneu recordatoris d'exportació de l'historial  ::: noteimportant L'exportació de l'historial mitjançant el mòdul ja no és compatible amb el proxy Zabbix des de Zabbix 4.0.0. :::  El mòdul pot especificar funcions per exportar dades de l'historial, de tipus: numèric (flotant), numèric (sense signe), caràcter, text i registre:  ``` {.c} structure typedef {     void (*history_float_cb)(const ZBX_HISTORY_FLOAT *history, int history_num);     void (*history_integer_cb)(const ZBX_HISTORY_INTEGER *history, int history_num);     void (*history_string_cb)(const ZBX_HISTORY_STRING *history, int history_num);     void (*history_text_cb)(const ZBX_HISTORY_TEXT *history, int history_num);     void (*history_log_cb)(const ZBX_HISTORY_LOG *history, int history_num); } ZBX_HISTORY_WRITE_CBS ; ```  Cadascun d'ells ha de prendre com a argument la matriu "history" d'elements "history\_num". Segons el tipus de dades de l'historial que s'exportin, "history" és una matriu de les estructures següents, respectivament:  ``` {.c} typedef struct {  · zbx_uint64_t · itemid;  · int · clock;  · int · ns;  · double · value; } ZBX_HISTORY_FLOAT;  typedef struct {  · zbx_uint64_t · itemid;  · int · clock;  · int · ns;  · zbx_uint64_t · value; } ZBX_HISTORY_INTEGER;  typedef struct {  · zbx_uint64_t · itemid;  · int · clock;  · int · ns;  · const char · *value; } ZBX_HISTORY_STRING;  typedef struct {  · zbx_uint64_t · itemid;  · int · clock;  · int · ns;  · const char · *value; } ZBX_HISTORY_TEXT;  typedef struct {  · zbx_uint64_t · itemid;  · int · clock;  · int · ns;  · const char · *value;  · const char · *source;  · int · timestamp;  · int · logeventid;  · int · severity; } ZBX_HISTORY_LOG; ```  Els processos de sincronització de l'historial del servidor Zabbix empraran les tornades de crida al final del procediment de sincronització de l'historial després que les dades s'escriguin a la base de dades de Zabbix i es desin a la memòria cau de valors.  :::noteimportant En cas d'error intern al mòdul d'exportació de l'historial, es recomana escriure el mòdul de manera que no bloqui tot el monitoratge fins que es recuperi, sinó que esborri les dades i permeti que el servidor Zabbix continuï funcionant. :::

en-us	#### Proxies  A listing of existing proxies with their details is displayed.  ![](../../../../../assets/en/manual/web_interface/proxies1.png){width="600"}  Displayed data:  |Column|Description| |--|--------| |*Name*|Name of the proxy. Clicking on the proxy name opens the proxy [configuration form](/manual/distributed_monitoring/proxies#configuration).| |*Mode*|Proxy mode is displayed - *Active* or *Passive*.| |*Encryption*|Encryption status for connections from the proxy is displayed:<br>**None** - no encryption<br>**PSK** - using pre-shared key<br>**Cert** - using certificate<br>| |*Last seen (age)*|The time when the proxy was last seen by the server is displayed.| |*Host count*|The number of enabled hosts assigned to the proxy is displayed.| |*Item count*|The number of enabled items on enabled hosts assigned to the proxy is displayed.| |*Required performance (vps)*|Required proxy performance is displayed (the number of values that need to be collected per second).| |*Hosts*|All hosts monitored by the proxy are listed. Clicking on the host name opens the host configuration form.|  To configure a new proxy, click on the *Create proxy* button in the top right-hand corner.
ca	#### Proxys  Es mostra una llista dels proxys existents amb els seus detalls.  ![](../../../../../assets/en/manual/web_interface/proxies1.png){width="600"}  Dades mostrades:  |Columna|Descripció| |--|---------| |*Nom*|Nom del proxy. En fer clic al nom del proxy s'obre el [formulari de configuració](/manual/distributed_monitoring/proxies#configuration) del proxy.| |*Mode*|Es mostra el mode proxy - *Actiu* o *Passiu*.| |*Xifrat*|Es mostra l'estat de xifrat de les connexions del proxy:<br>**Cap** - sense xifrat<br>**PSK** - empra una clau prèviament compartida<br> **Cert** - emprar un certificat<br>| |*Darrera visita (edat)*|Es mostra l'hora en què el servidor va veure per darrer cop el proxy.| |*Nombre d'equips*|Es mostra el nombre d'equips habilitats assignats al proxy.| |*Nombre d'elements*|Es mostra el nombre d'elements activats als equips habilitats assignats al proxy.| |*Rendiment requerit (vps)*|Es mostra el rendiment del proxy necessari (el nombre de valors que s'han de recollir per segon).| |*Equips*|S'enumeren tots els equips monitorats pel proxy. Si feu clic al nom de l'equip, s'obre el formulari de configuració de l'equip.|  Per configurar un proxy nou, feu clic al botó *Crear un proxy* a l'extrem superior dret.

en-us	#### Proxies  In a [proxy](/manual/distributed_monitoring/proxies#configuration) configuration, user macros can be used in the following field:  |Location|<|Multiple macros/mix with text^[1](supported_by_location_user#footnotes)^| |-|------------------------------|----------| |Interface port (for passive proxy)|<|no|
ca	#### Proxys  En una configuració [proxy](/manual/distributed_monitoring/proxies#configuration), les macros d'usuari es poden emprar als camps següents:  |Ubicació|<|Múltiples macros/barreja amb text^[1](supported_by_location_user#footnotes)^| |-|------------------------------|----------| |Port d'interfície (per un proxy passiu)|<|no|

en-us	#### Proxies  Manage the proxies used in your distributed monitoring setup.  [Proxy API](/manual/api/reference/proxy)
ca	#### Proxys  Gestionar els proxys emprats a la configuració de monitoratge distribuït.  [API Proxy](/manual/api/reference/proxy)

en-us	#### proxy  Changes:\ [ZBXNEXT-6889](https://support.zabbix.com/browse/ZBXNEXT-6889) `proxy.create`, `proxy.update`: dropped support of `interface.interfaceid` and `interface.hostid` properties.\
ca	#### proxy  Canvis:\ [ZBXNEXT-6889](https://support.zabbix.com/browse/ZBXNEXT-6889) `proxy.create`, `proxy.update`: les propietats `interface.interfaceid` i `interface.hostid` ja no tenen pas suport.\

en-us	##### Proxy config request  The `proxy config` request is sent by proxy to obtain proxy configuration data. This request is sent every `ConfigFrequency` (proxy configuration parameter) seconds.  |name|<|<|<|value type|description| |-|-|-|----------|----------|----------------------------------------| |proxy→server:|<|<|<|<|<| |**request**|<|<|<|*string*|'proxy config'| |**host**|<|<|<|*string*|Proxy name.| |**version**|<|<|<|*string*|Proxy version (<major>.<minor>.<build>).| |server→proxy:|<|<|<|<|<| |**request**|<|<|<|*string*|'proxy config'| |**<table>**|<|<|<|*object*|One or more objects with <table> data.| | |**fields**|<|<|*array*|Array of field names.| |^| |\-|<|*string*|Field name.| |^|**data**|<|<|*array*|Array of rows.| |^| |\-|<|*array*|Array of columns.| |^|^| |\-|*string*,*number*|Column value with type depending on the column type in database schema.| |proxy→server:|<|<|<|<|<| |**response**|<|<|<|*string*|Request success information ('success' or 'failed').|  Example:  proxy→server:  ``` {.javascript} {   "request": "proxy config",   "host": "Proxy #12",   "version":"5.4.0" } ```  server→proxy:  ``` {.javascript} {     "globalmacro":{         "fields":[             "globalmacroid",             "macro",             "value"         ],         "data":[             [                 2,                 "{$SNMP_COMMUNITY}",                 "public"             ]         ]     },     "hosts":{         "fields":[             "hostid",             "host",             "status",             "ipmi_authtype",             "ipmi_privilege",             "ipmi_username",             "ipmi_password",             "name",             "tls_connect",             "tls_accept",             "tls_issuer",             "tls_subject",             "tls_psk_identity",             "tls_psk"         ],         "data":[             [                 10001,                 "Linux",                 3,                 -1,                 2,                 "",                 "",                 "Linux",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10050,                 "Zabbix Agent",                 3,                 -1,                 2,                 "",                 "",                 "Zabbix Agent",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10105,                 "Logger",                 0,                 -1,                 2,                 "",                 "",                 "Logger",                 1,                 1,                 "",                 "",                 "",                 ""             ]         ]     },     "interface":{         "fields":[             "interfaceid",             "hostid",             "main",             "type",             "useip",             "ip",             "dns",             "port",             "bulk"         ],         "data":[             [                 2,                 10105,                 1,                 1,                 1,                 "127.0.0.1",                 "",                 "10050",                 1             ]         ]     },     ... } ```  proxy→server:  ``` {.javascript} {   "response": "success" } ```
ca	##### Petició de configuració proxy  La petició `proxy config` és enviada per el proxy per obtindre les dades de configuració del proxy. Aquesta petició s'envia cada `ConfigFrequency` segons (paràmetre de confuguració del proxy).  |nom|<|<|<|tipus de valor|descripció| |-|-|-|----------|----------|--------------------- -------------------| |proxy→server :|<|<|<|<|<| |**request**|<|<|<|*string*|'proxy config'| |**host**|<|<|<|*string*|Nom del proxy.| |**version**|<|<|<|*string*|Versió del proxy (<major>.<menor>.<build>).| |server→proxy :|<|<|<|<|<| |**request**|<|<|<|*string*|'proxy config'| |**<table>**|<|<|<|*object*|Un o diversos objectes amb les dade <taula>.| | |**fields**|<|<|*array*|Taula de noms dels camps.| |^| |\-|<|*string*|Nom del camp.| |^|**data**|<|<|*array*|Taula de línies.| |^| |\-|<|*array*|Taula de columnes.| |^|^| |\-|*string*,*number*|Valor de columna d'on depèn el tipus del tipus de columna a l'esquema de la base de dades.| |proxy→server :|<|<|<|<|<| |**response**|<|<|<|*string*|Petició d'informació sobre l'èxit ('èxit' o 'fallit').|  Exemple:  proxy→server :  ``` {.javascript} {   "request": "proxy config",   "host": "Proxy #12",   "version":"5.4.0" } ```  server→proxy :  ``` {.javascript} {     "globalmacro":{         "fields":[             "globalmacroid",             "macro",             "value"         ],         "data":[             [                 2,                 "{$SNMP_COMMUNITY}",                 "public"             ]         ]     },     "hosts":{         "fields":[             "hostid",             "host",             "status",             "ipmi_authtype",             "ipmi_privilege",             "ipmi_username",             "ipmi_password",             "name",             "tls_connect",             "tls_accept",             "tls_issuer",             "tls_subject",             "tls_psk_identity",             "tls_psk"         ],         "data":[             [                 10001,                 "Linux",                 3,                 -1,                 2,                 "",                 "",                 "Linux",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10050,                 "Zabbix Agent",                 3,                 -1,                 2,                 "",                 "",                 "Zabbix Agent",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10105,                 "Logger",                 0,                 -1,                 2,                 "",                 "",                 "Logger",                 1,                 1,                 "",                 "",                 "",                 ""             ]         ]     },     "interface":{         "fields":[             "interfaceid",             "hostid",             "main",             "type",             "useip",             "ip",             "dns",             "port",             "bulk"         ],         "data":[             [                 2,                 10105,                 1,                 1,                 1,                 "127.0.0.1",                 "",                 "10050",                 1             ]         ]     },     ... } ```  proxy→server :  ``` {.javascript} {   "response": "success" } ```

en-us	##### Proxy config request  The `proxy config` request is sent by server to provide proxy configuration data. This request is sent every `ProxyConfigFrequency` (server configuration parameter) seconds.  |name|<|<|<|value type|description| |-|-|-|----------|----------|----------------------------------------| |server→proxy:|<|<|<|<|<| |**request**|<|<|<|*string*|'proxy config'| |**<table>**|<|<|<|*object*|One or more objects with <table> data.| | |**fields**|<|<|*array*|Array of field names.| |^| |\-|<|*string*|Field name.| |^|**data**|<|<|*array*|Array of rows.| |^| |\-|<|*array*|Array of columns.| |^|^| |\-|*string*,*number*|Column value with type depending on the column type in database schema.| |proxy→server:|<|<|<|<|<| |**response**|<|<|<|*string*|Request success information ('success' or 'failed').| |**version**|<|<|<|*string*|Proxy version (<major>.<minor>.<build>).|  Example:  server→proxy:  ``` {.javascript} {     "request": "proxy config",     "globalmacro":{         "fields":[             "globalmacroid",             "macro",             "value"         ],         "data":[             [                 2,                 "{$SNMP_COMMUNITY}",                 "public"             ]         ]     },     "hosts":{         "fields":[             "hostid",             "host",             "status",             "ipmi_authtype",             "ipmi_privilege",             "ipmi_username",             "ipmi_password",             "name",             "tls_connect",             "tls_accept",             "tls_issuer",             "tls_subject",             "tls_psk_identity",             "tls_psk"         ],         "data":[             [                 10001,                 "Linux",                 3,                 -1,                 2,                 "",                 "",                 "Linux",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10050,                 "Zabbix Agent",                 3,                 -1,                 2,                 "",                 "",                 "Zabbix Agent",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10105,                 "Logger",                 0,                 -1,                 2,                 "",                 "",                 "Logger",                 1,                 1,                 "",                 "",                 "",                 ""             ]         ]     },     "interface":{         "fields":[             "interfaceid",             "hostid",             "main",             "type",             "useip",             "ip",             "dns",             "port",             "bulk"         ],         "data":[             [                 2,                 10105,                 1,                 1,                 1,                 "127.0.0.1",                 "",                 "10050",                 1             ]         ]     },     ... } ```  proxy→server:  ``` {.javascript} {   "response": "success",   "version": "6.0.0" } ```
ca	##### Petició de configuració del proxy  La petició `proxy config` s'envia per el servidor per proveir les dades de configuració del proxy. Aquesta petició s'envia cada `ProxyConfigFrequency` (paràmetre de configuració del servidor) segons.  |nom|<|<|<|tipus de valor|descripció| |-|-|-|----------|----------|----------------------------------------| |server→proxy:|<|<|<|<|<| |**request**|<|<|<|*string*|'proxy config'| |**<table>**|<|<|<|*object*|Un o més objectes amb dades <taula>.| | |**fields**|<|<|*array*|Matriu de noms de camps.| |^| |\-|<|*string*|Nom del camp.| |^|**data**|<|<|*array*|Matriu de fileres.| |^| |\-|<|*array*|Matriu de columnes.| |^|^| |\-|*string*,*number*|Valor de columna amb tipus en funció del tipus de columna a l'esquema de la base de dades.| |proxy→server:|<|<|<|<|<| |**response**|<|<|<|*string*|Petició d'informació ('èxit' o 'error').| |**version**|<|<|<|*string*|Versió del proxy (<major>.<minor>.<build>).|  Exemple:  server→proxy:  ``` {.javascript} {     "request": "proxy config",     "globalmacro":{         "fields":[             "globalmacroid",             "macro",             "value"         ],         "data":[             [                 2,                 "{$SNMP_COMMUNITY}",                 "public"             ]         ]     },     "hosts":{         "fields":[             "hostid",             "host",             "status",             "ipmi_authtype",             "ipmi_privilege",             "ipmi_username",             "ipmi_password",             "name",             "tls_connect",             "tls_accept",             "tls_issuer",             "tls_subject",             "tls_psk_identity",             "tls_psk"         ],         "data":[             [                 10001,                 "Linux",                 3,                 -1,                 2,                 "",                 "",                 "Linux",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10050,                 "Zabbix Agent",                 3,                 -1,                 2,                 "",                 "",                 "Zabbix Agent",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10105,                 "Logger",                 0,                 -1,                 2,                 "",                 "",                 "Logger",                 1,                 1,                 "",                 "",                 "",                 ""             ]         ]     },     "interface":{         "fields":[             "interfaceid",             "hostid",             "main",             "type",             "useip",             "ip",             "dns",             "port",             "bulk"         ],         "data":[             [                 2,                 10105,                 1,                 1,                 1,                 "127.0.0.1",                 "",                 "10050",                 1             ]         ]     },     ... } ```  proxy→server:  ``` {.javascript} {   "response": "success",   "version": "6.0.0" } ```

en-us	##### Proxy configuration  HA cluster nodes (servers) must be listed in the configuration of either  passive or active Zabbix proxy.  For a passive proxy, the node names must be listed in the Server [parameter](/manual/appendix/config/zabbix_proxy) of the proxy,  separated by a **comma**.  ``` Server=zabbix-node-01,zabbix-node-02 ```  For an active proxy, the node names must be listed in the Server [parameter](/manual/appendix/config/zabbix_proxy) of the proxy,  separated by a **semicolon**. ``` Server=zabbix-node-01;zabbix-node-02 ```
ca	##### Configuració del proxy  Els nodes de clúster HA (servidors) s'han d'enumerar a la configuració passiva o activa de proxy Zabbix.  Per a un proxy passiu, els noms dels nodes s'han d'enumerar al [paràmetre](/manual/appendix/config/zabbix_proxy) del proxy, separats per una **coma**.  ``` Servidor=zabbix-node-01,zabbix-node-02 ```  Per a un proxy actiu, els noms dels nodes haurien d'ésser llistats al [paràmetre](/manual/appendix/config/zabbix_proxy) del proxy, separats per un **punt i coma**.  ``` Servidor=zabbix-node-01;zabbix-node-02 ```

en-us	# proxy.create
ca	# proxy.create

en-us	##### Proxy data request  The `proxy data` request is sent by proxy to provide host interface availability, history, discovery and autoregistration data. This request is sent every `DataSenderFrequency` (proxy configuration parameter) seconds. Note that active proxy will still poll Zabbix server every second for remote command tasks (with an empty `proxy data` request).  |name|<|value type|description| |-|----------|----------|----------------------------------------| |proxy→server:|<|<|<| |**request**|<|*string*|'proxy data'| |**host**|<|*string*|Proxy name.| |**session**|<|*string*|Data session token.| |**interface availability**|<|*array*|*(optional)* Array of interface availability data objects.| | |**interfaceid**|*number*|Interface identifier.| |^|**available**|*number*|Interface availability:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - unknown<br>**1**, *INTERFACE\_AVAILABLE\_TRUE* - available<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - unavailable| |^|**error**|*string*|Interface error message or empty string.| |**history data**|<|*array*|*(optional)* Array of history data objects.| | |**itemid**|*number*|Item identifier.| |^|**clock**|*number*|Item value timestamp (seconds).| |^|**ns**|*number*|Item value timestamp (nanoseconds).| |^|**value**|*string*|*(optional)* Item value.| |^|**id**|*number*|Value identifier (ascending counter, unique within one data session).| |^|**timestamp**|*number*|*(optional)* Timestamp of log type items.| |^|**source**|*string*|*(optional)* Eventlog item source value.| |^|**severity**|*number*|*(optional)* Eventlog item severity value.| |^|**eventid**|*number*|*(optional)* Eventlog item eventid value.| |^|**state**|*string*|*(optional)* Item state:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE\_NOTSUPPORTED*| |^|**lastlogsize**|*number*|*(optional)* Last log size of log type items.| |^|**mtime**|*number*|*(optional)* Modification time of log type items.| |**discovery data**|<|*array*|*(optional)* Array of discovery data objects.| | |**clock**|*number*|Discovery data timestamp.| |^|**druleid**|*number*|Discovery rule identifier.| |^|**dcheckid**|*number*|Discovery check identifier or null for discovery rule data.| |^|**type**|*number*|Discovery check type:<br><br>**-1** discovery rule data<br>**0**, *SVC\_SSH* - SSH service check<br>**1**, *SVC\_LDAP* - LDAP service check<br>**2**, *SVC\_SMTP* - SMTP service check<br>**3**, *SVC\_FTP* - FTP service check<br>**4**, *SVC\_HTTP* - HTTP service check<br>**5**, *SVC\_POP* - POP service check<br>**6**, *SVC\_NNTP* - NNTP service check<br>**7**, *SVC\_IMAP* - IMAP service check<br>**8**, *SVC\_TCP* - TCP port availability check<br>**9**, *SVC\_AGENT* - Zabbix agent<br>**10**, *SVC\_SNMPv1* - SNMPv1 agent<br>**11**, *SVC\_SNMPv2* - SNMPv2 agent<br>**12**, *SVC\_ICMPPING* - ICMP ping<br>**13**, *SVC\_SNMPv3* - SNMPv3 agent<br>**14**, *SVC\_HTTPS* - HTTPS service check<br>**15**, *SVC\_TELNET* - Telnet availability check| |^|**ip**|*string*|Host IP address.| |^|**dns**|*string*|Host DNS name.| |^|**port**|*number*|*(optional)* Service port number.| |^|**key\_**|*string*|*(optional)* Item key for discovery check of type **9** *SVC\_AGENT*| |^|**value**|*string*|*(optional)* Value received from the service, can be empty for most services.| |^|**status**|*number*|*(optional)* Service status:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Service UP<br>**1**, *DOBJECT\_STATUS\_DOWN* - Service DOWN| |**autoregistration**|<|*array*|*(optional)* Array of autoregistration data objects.| | |**clock**|*number*|Autoregistration data timestamp.| |^|**host**|*string*|Host name.| |^|**ip**|*string*|*(optional)* Host IP address.| |^|**dns**|*string*|*(optional)* Resolved DNS name from IP address.| |^|**port**|*string*|*(optional)* Host port.| |^|**host\_metadata**|*string*|*(optional)* Host metadata sent by the agent (based on HostMetadata or HostMetadataItem agent configuration parameter).| |**tasks**|<|*array*|*(optional)* Array of tasks.| | |**type**|*number*|Task type:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - remote command result| |^|**status**|*number*|Remote-command execution status:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - remote command completed successfully<br>**1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - remote command failed| |^|**error**|*string*|*(optional)* Error message.| |^|**parent\_taskid**|*number*|Parent task ID.| |**more**|<|*number*|*(optional)* 1 - there are more history data to send.| |**clock**|<|*number*|*(optional)* Data transfer timestamp (seconds).| |**ns**|<|*number*|*(optional)* Data transfer timestamp (nanoseconds).| |**version**|<|*string*|Proxy version (<major>.<minor>.<build>).| |server→proxy:|<|<|<| |**response**|<|*string*|Request success information ('success' or 'failed').| |**upload**|<|*string*|Upload control for historical data (history, autoregistration, host availability, network discovery).<br><br>Possible values:<br>**enabled** - normal operation<br>**disabled** - server is not accepting data (possibly due to internal cache over limit)| |**tasks**|<|*array*|*(optional)* Array of tasks.| | |**type**|*number*|Task type:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - remote command| |^|**clock**|*number*|Task creation time.| |^|**ttl**|*number*|Time in seconds after which the task expires.| |^|**commandtype**|*number*|Remote-command type:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - use custom script<br>**1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - use IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - use SSH<br>**3**, *ZBX\_SCRIPT\_TYPE\_TELNET* - use Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - use global script (currently functionally equivalent to custom script)| |^|**command**|*string*|Remote command to execute.| |^|**execute\_on**|*number*|Execution target for custom scripts:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - execute script on agent<br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - execute script on server<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - execute script on proxy| |^|**port**|*number*|*(optional)* Port for Telnet and SSH commands.| |^|**authtype**|*number*|*(optional)* Authentication type for SSH commands.| |^|**username**|*string*|*(optional)* User name for Telnet and SSH commands.| |^|**password**|*string*|*(optional)* Password for Telnet and SSH commands.| |^|**publickey**|*string*|*(optional)* Public key for SSH commands.| |^|**privatekey**|*string*|*(optional)* Private key for SSH commands.| |^|**parent\_taskid**|*number*|Parent task ID.| |^|**hostid**|*number*|Target host ID.|  Example:  proxy→server:  ``` {.javascript} {     "request": "proxy data",     "host": "Proxy #12",      "session": "12345678901234567890123456789012",     "interface availability": [         {             "interfaceid": 1,             "available": 1,             "error": ""     },         {             "interfaceid": 2,             "available": 2,             "error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused"     },         {             "interfaceid": 3,             "available": 1,             "error": ""     },         {             "interfaceid": 4,             "available": 1,             "error": ""     }     ],     "history data":[         {             "itemid":"12345",             "clock":1478609647,             "ns":332510044,             "value":"52956612",             "id": 1         },         {             "itemid":"12346",             "clock":1478609647,             "ns":330690279,             "state":1,             "value":"Cannot find information for this network interface in /proc/net/dev.",             "id": 2         }     ],     "discovery data":[         {             "clock":1478608764,             "drule":2,             "dcheck":3,             "type":12,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         },         {             "clock":1478608764,             "drule":2,             "dcheck":null,             "type":-1,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         }     ],     "auto registration":[         {             "clock":1478608371,             "host":"Logger1",             "ip":"10.3.0.1",             "dns":"localhost",             "port":"10050"         },         {             "clock":1478608381,             "host":"Logger2",             "ip":"10.3.0.2",             "dns":"localhost",             "port":"10050"         }     ],     "tasks":[         {             "type": 2,             "clock":1478608371,             "ttl": 600,             "commandtype": 2,             "command": "restart_service1.sh",             "execute_on": 2,             "port": 80,             "authtype": 0,             "username": "userA",             "password": "password1",             "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",             "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",             "parent_taskid": 10,             "hostid": 10070         },         {             "type": 2,             "clock":1478608381,             "ttl": 600,             "commandtype": 1,             "command": "restart_service2.sh",             "execute_on": 0,             "authtype": 0,             "username": "",             "password": "",             "publickey": "",             "privatekey": "",             "parent_taskid": 20,             "hostid": 10084         }     ],     "tasks":[         {             "type": 0,             "status": 0,             "parent_taskid": 10         },         {             "type": 0,             "status": 1,             "error": "No permissions to execute task.",             "parent_taskid": 20         }     ],      "version":"5.4.0" } ```  server→proxy:  ``` {.javascript} {   "response": "success",   "upload": "enabled",   "tasks":[       {          "type": 1,          "clock": 1478608371,          "ttl": 600,          "commandtype": 2,          "command": "restart_service1.sh",          "execute_on": 2,          "port": 80,          "authtype": 0,          "username": "userA",          "password": "password1",          "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",          "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",          "parent_taskid": 10,          "hostid": 10070       },       {          "type": 1,          "clock": 1478608381,          "ttl": 600,          "commandtype": 1,          "command": "restart_service2.sh",          "execute_on": 0,          "authtype": 0,          "username": "",          "password": "",          "publickey": "",          "privatekey": "",          "parent_taskid": 20,          "hostid": 10084       }   ] } ```
ca	##### Petició de dades del proxy  Les peticions `proxy data` s'envien per el proxy per proporcionar dades de disponibilitat, històric, descoberta i autoregistre de la interfície de l'equip. Aquesta patició s'envia cada `DataSenderFrequency` segons (paràmetre de configuració del proxy). Veieu que el proxy actiu anirà informant al servidor Zabbix cada segon de tasques de comandes remotes (amb una petició `proxy data` buida).  |nom|<|tipus de valor|descripció| |-|----------|----------|----------------------------------------| |proxy→server:|<|<|<| |**request**|<|*string*|'proxy data'| |**host**|<|*string*|Nom del proxy.| |*session*|<|*string*|Fitxa de sessió de dades.| |**interface availability**|<|*array*|*(opcional)* Matriu d'objectes de dades de disponibilitat de la interfície.| | |**interfaceid**|*number*|Identificador de la interfície.| |^|**available**|*number*|Disponibilitat de la interfície:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - desconegut<br>**1**, *INTERFACE\_AVAILABLE \_TRUE* - disponible<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - no disponible| |^|**error**|*string*|Missatge d'error de la interfície o cadena buida.| |**history data**|<|*array*|*(opcional)* Matriu d'objectes de dades de l'historial.| | |**itemid**|*number*|Identificador de l'element.| |^|**clock**|*number*|Marca de temps del valor de l'element (segons).| |^|**ns**|*number*|Marca de temps del valor de l'element (nanosegons).| |^|*value*|*string*|*(opcional)* Valor de l'element.| |^|**id**|*number*|Identificador del valor (comptador ascendent, únic en una sessió de dades).| |^|**timestamp**|*number*|*(opcional)* Marca de temps dels elements del tipus de registre.| |^|**source**|*string*|*(opcional)* Valor font de l'element del registre d'esdeveniments.| |^|**severity**|*number*|*(opcional)* Valor de gravetat de l'element del registre d'esdeveniments.| |^|**eventid**|*number*|*(opcional)* Valor d'event de l'element del registre d'esdeveniments.| |^|**status**|*string*|*(opcional)* Estat de l'element:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE \_NO SUPORT*| |^|**lastlogsize**|*number*|*(opcional)* Mida del darrer registre dels elements del tipus de registre.| |^|**mtime**|*number*|*(opcional)* Hora de modificació dels elements del tipus de registre.| |**discovery data**|<|*array*|*(opcional)* Matriu d'objectes de dades de descoberta.| | |**clock**|*number*|Marca de temps de les dades de descoberta.| |^|**druleid**|*number*|Identificador de la regla de descoberta.| |^|**dcheckid**|*number*|Identificador de comprovació de descoberta o nul per a les dades de la regla de descoberta.| |^|**type**|*number*|Tipus de comprovació de descoberta:<br><br>**-1** dades de la regla de descoberta<br>**0**, *SVC\_SSH* - Comprovació del servei SSH <br>**1**, *SVC\_LDAP* - Comprovació del servei LDAP<br>**2**, *SVC\_SMTP* - Comprovació del servei SMTP<br>**3**, *SVC\_FTP* - Comprovació del servei FTP<br>**4**, *SVC\_HTTP* - Comprovació del servei HTTP<br>**5**, *SVC\_POP* - Comprovació del servei POP<br>**6**, * SVC\_NNTP* - Comprovació del servei NNTP<br>**7**, *SVC\_IMAP* - Comprovació del servei IMAP<br>**8**, *SVC\_TCP* - Comprovació de la disponibilitat del port TCP<br>** 9**, *SVC\_AGENT* - agent Zabbix<br>**10**, *SVC\_SNMPv1* - agent SNMPv1<br>**11**, *SVC\_SNMPv2* - agent SNMPv2<br>* *12**, *SVC\_ICMPPING* - Ping ICMP<br>**13**, *SVC\_SNMPv3* - Agent SNMPv3<br>**14**, *SVC\_HTTPS* - Comprovació del servei HTTPS<br >**15**, *SVC\_TELNET* - Comprovació de disponibilitat de Telnet| |^|**ip**|*string*|Adreça IP de l'equip.| |^|**dns**|*string*|Nom DNS de l'equip.| |^|**port**|*number*|*(opcional)* Número de port de servei.| |^|**key\_**|*string*|*(opcional)* Clau d'element per a la comprovació de descoberta de tipus **9** *SVC\_AGENT*| |^|*value*|*string*|*(opcional)* Valor rebut del servei, pot estar buit per a la majoria de serveis.| |^|**status**|*number*|*(opcional)* Estat del servei:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Servei UP<br>**1* *, *DOBJECT\_STATUS\_DOWN* - Servei DOWN| |**autoregistration**|<|*array*|*(opcional)* Matriu d'objectes de dades d'autoregistre.| | |**clock**|*number*|Marca de temps de dades de registre automàtic.| |^|**host**|*string*|Nom de l'equip.| |^|**ip**|*string*|*(opcional)* Adreça IP de l'equip.| |^|**dns**|*string*|*(opcional)* S'ha resolt el nom DNS des de l'adreça IP.| |^|**port**|*string*|*(opcional)* Port equip.| |^|**host\_metadata**|*string*|*(opcional)* Metadades de l'equip enviades per l'agent (segons el paràmetre de configuració de l'agent HostMetadata o HostMetadataItem).| |**tasks**|<|*array*|*(opcional)* Matriu de tasques.| | |**type**|*number*|Tipus de tasca:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - resultat de la comanda remota| |^|**status**|*number*|Estat d'execució de l'ordre remot:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED*: l'ordre remota s'ha completat correctament<br> **1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - l'ordre remota ha fallat| |^|**error**|*string*|*(opcional)* Missatge d'error.| |^|**parent\_taskid**|*number*|ID de la tasca principal.| |**more**|<|*number*|*(opcional)* 1 - hi ha més dades de l'historial per enviar.| |**clock**|<|*number*|*(opcional)* Marca de temps de transferència de dades (segons).| |**ns**|<|*number*|*(opcional)* Marca de temps de transferència de dades (nanosegons).| |**version**|<|*string*|Versió del proxy (<major>.<menor>.<build>).| |servidor→proxy:|<|<|<| |**response**|<|*string*|Demanar informació sobre l'èxit ('èxit' o 'error').| |**upload**|<|*string*|Control de càrrega de dades històriques (historial, registre automàtic, disponibilitat de l'equip, descoberta de xarxa).<br><br>Valors possibles:<br>**activat** - funcionament normal <br>**desactivat**: el servidor no admet dades (possiblement a causa del límit de la memòria cau interna)| |**tasks**|<|*array*|*(opcional)* Matriu de tasques.| | |**type**|*number*|Tipus de tasca:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - comanda remota| |^|**clock**|*number*|Hora de creació de la tasca.| |^|**ttl**|*number*|Temps en segons després del qual caduca la tasca.| |^|**commandtype**|*number*|Tipus de comanda remota:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT*: utilitzeu un script personalitzat<br>** 1**, *ZBX\_SCRIPT\_TIP\_IPMI*: utilitza IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH*: utilitza SSH<br>**3**, *ZBX\_SCRIPT\_TYPE\_TELNET*: utilitza Telnet<br> **4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - utilitza script global (actualment equival a un script personalitzat)| |^|**ordre**|*string*|Ordre remota per executar.| |^|**execute\_on**|*number*|Destí d'execució per a scripts personalitzats:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - executa l'script a l'agent< br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - executa l'script al servidor<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - executa l'script al proxy| |^|**port**|*number*|*(opcional)* Port per a ordres Telnet i SSH.| |^|**authtype**|*number*|*(opcional)* Tipus d'autenticació per a ordres SSH.| |^|**username**|*string*|*(opcional)* Nom d'usuari per a ordres Telnet i SSH.| |^|**password**|*string*|*(opcional)* Mot de pas per a ordres Telnet i SSH.| |^|**publickey**|*string*|*(opcional)* Clau pública per a ordres SSH.| |^|**privatekey**|*string*|*(opcional)* Clau privada per a ordres SSH.| |^|**parent\_taskid**|*number*|ID de la tasca principal.| |^|**hostid**|*number*|ID de l'equip objectiu.|  Exemple:  proxy→server:  ``` {.javascript} {     "request": "proxy data",     "host": "Proxy #12",      "session": "12345678901234567890123456789012",     "interface availability": [         {             "interfaceid": 1,             "available": 1,             "error": ""     },         {             "interfaceid": 2,             "available": 2,             "error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused"     },         {             "interfaceid": 3,             "available": 1,             "error": ""     },         {             "interfaceid": 4,             "available": 1,             "error": ""     }     ],     "history data":[         {             "itemid":"12345",             "clock":1478609647,             "ns":332510044,             "value":"52956612",             "id": 1         },         {             "itemid":"12346",             "clock":1478609647,             "ns":330690279,             "state":1,             "value":"Cannot find information for this network interface in /proc/net/dev.",             "id": 2         }     ],     "discovery data":[         {             "clock":1478608764,             "drule":2,             "dcheck":3,             "type":12,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         },         {             "clock":1478608764,             "drule":2,             "dcheck":null,             "type":-1,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         }     ],     "auto registration":[         {             "clock":1478608371,             "host":"Logger1",             "ip":"10.3.0.1",             "dns":"localhost",             "port":"10050"         },         {             "clock":1478608381,             "host":"Logger2",             "ip":"10.3.0.2",             "dns":"localhost",             "port":"10050"         }     ],     "tasks":[         {             "type": 2,             "clock":1478608371,             "ttl": 600,             "commandtype": 2,             "command": "restart_service1.sh",             "execute_on": 2,             "port": 80,             "authtype": 0,             "username": "userA",             "password": "password1",             "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",             "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",             "parent_taskid": 10,             "hostid": 10070         },         {             "type": 2,             "clock":1478608381,             "ttl": 600,             "commandtype": 1,             "command": "restart_service2.sh",             "execute_on": 0,             "authtype": 0,             "username": "",             "password": "",             "publickey": "",             "privatekey": "",             "parent_taskid": 20,             "hostid": 10084         }     ],     "tasks":[         {             "type": 0,             "status": 0,             "parent_taskid": 10         },         {             "type": 0,             "status": 1,             "error": "No permissions to execute task.",             "parent_taskid": 20         }     ],      "version":"5.4.0" } ```  server→proxy:  ``` {.javascript} {   "response": "success",   "upload": "enabled",   "tasks":[       {          "type": 1,          "clock": 1478608371,          "ttl": 600,          "commandtype": 2,          "command": "restart_service1.sh",          "execute_on": 2,          "port": 80,          "authtype": 0,          "username": "userA",          "password": "password1",          "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",          "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",          "parent_taskid": 10,          "hostid": 10070       },       {          "type": 1,          "clock": 1478608381,          "ttl": 600,          "commandtype": 1,          "command": "restart_service2.sh",          "execute_on": 0,          "authtype": 0,          "username": "",          "password": "",          "publickey": "",          "privatekey": "",          "parent_taskid": 20,          "hostid": 10084       }   ] } ```

en-us	# proxy.delete
ca	# proxy.delete

en-us	##### Proxy features  When making a choice of using/not using a proxy, several considerations must be taken into account.  | |Proxy| |--------|--| |*Lightweight*|**Yes**| |*GUI*|No| |*Works independently*|**Yes**| |*Easy maintenance*|**Yes**| |*Automatic DB creation*|**Yes**^1^| |*Local administration*|No| |*Ready for embedded hardware*|**Yes**| |*One way TCP connections*|**Yes**| |*Centralized configuration*|**Yes**| |*Generates notifications*|No|  ^1^ Automatic DB creation feature works only with SQLite. Other databases require [manual setup](/manual/appendix/install/db_scripts).
ca	##### Funcions del proxy  A l'hora de decidir si s'empra o no un proxy, s'han de tindre en compte diverses consideracions.  | |Proxy| |--------|--| |*Lluminositat*|**Sí**| |*GUI*|No| |*Funcionament independent.*|**Sí**| |*Fàcil manteniment***|**Sí**| |*Creació automàtica de bases de dades*|**Sí**^1^| |*Administració local*|No| |*Preparat per maquinari incrustat*|**Sí**| |*Connexions TCP unidireccionals*|**Sí**| |*Configuració central*|**Sí**| |*Generació de notificacions*|No|  ^1^ La funció de creació automàtica de bases de dades només funciona amb SQLite. Altres bases de dades requereixen una [configuració manual](/manual/installation/install#requirements).

en-us	# proxy.get
ca	# proxy.get

en-us	##### Proxy heartbeat request  The `proxy heartbeat` request is sent by proxy to report that proxy is running. This request is sent every `HeartbeatFrequency` (proxy configuration parameter) seconds.  |name|value type|description| |----------|----------|----------------------------------------| |proxy→server:|<|<| |**request**|*string*|'proxy heartbeat'| |**host**|*string*|Proxy name.| |**version**|*string*|Proxy version (<major>.<minor>.<build>).| |server→proxy:|<|<| |**response**|*string*|Request success information ('success' or 'failed').|  proxy→server:  ``` {.javascript} {    "request": "proxy heartbeat",    "host": "Proxy #12",    "version": "5.4.0" } ```  server→proxy:  ``` {.javascript} {   "response": "success" } ```
ca	##### Petició de heartbeat proxy  La petició `proxy heartbeat` s'envia per proxy per assenyala que el proxy s'executa. Aquesta petició s'envia cada `HeartbeatFrequency` (paràmetre de configuració del proxy) segons.  |nom|vtipus de valor|descripció| |----------|----------|----------------------------------------| |proxy→servidor:|<|<| |**request**|*string*|'proxy heartbeat'| |**host**|*string*|Nom del proxy.| |**version**|*string*|Versió del proxy (<major>.<minor>.<build>).| |servidor→proxy:|<|<| |**response**|*string*|Informació sobre el resultat de la petició ('success' o 'failed').|  proxy→servidor:  ``` {.javascript} {    "request": "proxy heartbeat",    "host": "Proxy #12",    "version": "5.4.0" } ```  servidor→proxy:  ``` {.javascript} {   "response": "success" } ```

en-us	### Proxy history housekeeping  The limitation on the amount of outdated information deleted from the proxy database per proxy history housekeeping cycle has been removed.  Previously the [housekeeper](/manual/web_interface/frontend_sections/administration/general#housekeeper) deleted only no more than 4 times the [`HousekeepingFrequency`](/manual/appendix/config/zabbix_proxy) hours of outdated information. For example, if `HousekeepingFrequency` was set to "1", no more than 4 hours of outdated information (starting from the oldest entry) was deleted. In cases when a proxy would constantly receive data older than set in [`ProxyOfflineBuffer`](/manual/appendix/config/zabbix_proxy), this could result in excessive data accumulation.  Now this limitation has been removed, providing a more effective proxy history housekeeping solution.
ca	### Neteja de l'història del proxy  S'ha tret la limitació de la quantitat d'informació obsoleta esborrada de la base de dades de proxy per cicle de manteniment de l'historial de proxy.  Abans, la [neteja](/manual/web_interface/frontend_sections/administration/general#housekeeper) només esborrava més de 4 cops les hores de [`HousekeepingFrequency`](/manual/appendix/config/zabbix_proxy) d'informació obsoleta. Per exemple, si la `Freqüència de manteniment` es va establir a "1", no s'esborren més de 4 hores d'informació obsoleta (a partir de l'entrada més antiga). En els casos en què un proxy rebria constantment dades més antigues que les establertes a [`ProxyOfflineBuffer`](/manual/appendix/config/zabbix_proxy), això podria provocar una acumulació excessiva de dades.  Ara s'ha tret aquesta limitació, proporcionant una solució de manteniment de l'historial de proxy més eficaç.

en-us	### Proxy history housekeeping  The limitation on the amount of outdated information deleted from the proxy database per proxy history housekeeping cycle has been removed.  Previously the [housekeeper](/manual/web_interface/frontend_sections/administration/general#housekeeper) deleted only no more than 4 times the [`HousekeepingFrequency`](/manual/appendix/config/zabbix_proxy) hours of outdated information. For example, if `HousekeepingFrequency` was set to "1", no more than 4 hours of outdated information (starting from the oldest entry) was deleted. In cases when a proxy would constantly receive data older than set in [`ProxyOfflineBuffer`](/manual/appendix/config/zabbix_proxy), this could result in excessive data accumulation.  Now this limitation has been removed, providing a more effective proxy history housekeeping solution.
ca	### Neteja de l'història del proxy  S'ha tret la limitació de la quantitat d'informació obsoleta esborrada de la base de dades de proxy per cicle de manteniment de l'historial de proxy.  Abans, la [neteja](/manual/web_interface/frontend_sections/administration/general#housekeeper) només esborrava més de 4 cops les hores de [`HousekeepingFrequency`](/manual/appendix/config/zabbix_proxy) d'informació obsoleta. Per exemple, si la `Freqüència de manteniment` es va establir a "1", no s'esborren més de 4 hores d'informació obsoleta (a partir de l'entrada més antiga). En els casos en què un proxy rebria constantment dades més antigues que les establertes a [`ProxyOfflineBuffer`](/manual/appendix/config/zabbix_proxy), això podria provocar una acumulació excessiva de dades.  Ara s'ha tret aquesta limitació, proporcionant una solució de manteniment de l'historial de proxy més eficaç.

en-us	### Proxy installation  Once the required repository is added, you can install Zabbix proxy by running:      apt install zabbix-proxy-mysql zabbix-sql-scripts  Substitute 'mysql' in the command with 'pgsql' to use PostgreSQL, or with 'sqlite3' to use SQLite3.  The package 'zabbix-sql-scripts' contains database schemas for all supported database management systems for both Zabbix server and Zabbix proxy and will be used for data import.
ca	### Instal·lació del proxy  Un cop afegit el repositori necessari, podeu instal·lar el proxy Zabbix executant:       apt install zabbix-proxy-mysql zabbix-sql-scripts  Substituïu "mysql" a l'ordre per "pgsql" per emprar PostgreSQL, o per "sqlite3" per utilitzar SQLite3.  El paquet 'zabbix-sql-scripts' conté esquemes de bases de dades per a tots els sistemes de gestió de bases de dades compatibles amb el servidor Zabbix i el proxy Zabbix i s'emprarà per a la importació de dades.

en-us	### Proxy installation  Once the required repository is added, you can install Zabbix proxy by running:      dnf install zabbix-proxy-mysql zabbix-sql-scripts  Substitute 'mysql' in the commands with 'pgsql' to use PostgreSQL, or with 'sqlite3' to use SQLite3 (proxy only).  The package 'zabbix-sql-scripts' contains database schemas for all supported database management systems for both Zabbix server and Zabbix proxy and will be used for data import.
ca	### Instal·lació del proxy  Un cop afegit el repositori necessari, podeu instal·lar el proxy Zabbix executant:       dnf install zabbix-proxy-mysql zabbix-sql-scripts  Substituïu "mysql" a les comandes amb "pgsql" per emprar PostgreSQL, o per "sqlite3" per emprar SQLite3 (només el proxy).  El paquet 'zabbix-sql-scripts' conté esquemes de bases de dades per a tots els sistemes de gestió de bases de dades compatibles amb el servidor Zabbix i el proxy Zabbix i s'emprarà per a la importació de dades.

en-us	### Proxy interface  The proxy interface object defines the interface used to connect to a passive proxy. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |**dns**<br>(required)|string|DNS name to connect to.<br><br>Can be empty if connections are made via IP address.| |**ip**<br>(required)|string|IP address to connect to.<br><br>Can be empty if connections are made via DNS names.| |**port**<br>(required)|string|Port number to connect to.| |**useip**<br>(required)|integer|Whether the connection should be made via IP address.<br><br>Possible values are:<br>0 - connect using DNS name;<br>1 - connect using IP address.|
ca	### Interfície de proxy  L'objecte d'interfície proxy defineix la interfície emprada per connectar-se a un proxy passiu. Té les següents propietats.  |Propietat|[Tipus](/manual/api/reference_commentary#data_types)|Descripció| |--|--|------| |**dns**<br>(obligatori)|string|Nom DNS al qual connectar-se.<br><br>Pot ésser buit si les connexions es fan emprant una adreça IP.| |**ip**<br>(obligatori)|string|adreça IP per connectar-se.<br><br>Pot ésser buit si les connexions es fan emprant noms DNS.| |**port**<br>(obligatori)|string|Nombre de port per connectar-se.| |**useip**<br>(obligatori)|integer|Si la connexió s'ha d'establir emprant l'adreça IP.<br><br>Els valors possibles són:<br>0 - connectar emprant el nom DNS;<br>1 - connectar emprant l'adreça IP.|

en-us	# > Proxy object  The following objects are directly related to the `proxy` API.
ca	# > Objecte proxy  Els objectes tenen relació amb l'API `proxy`.

en-us	#### Proxy process types  -   `availability manager` - process for host availability updates -   `configuration syncer` - process for managing in-memory cache of     configuration data -   `data sender` - proxy data sender -   `discoverer` - process for discovery of devices -   `heartbeat sender` - proxy heartbeat sender -   `history poller` - process for handling calculated, aggregated and     internal checks requiring a database connection -   `history syncer` - history DB writer -   `housekeeper` - process for removal of old historical data -   `http poller` - web monitoring poller -   `icmp pinger` - poller for icmpping checks -   `ipmi manager` - IPMI poller manager -   `ipmi poller` - poller for IPMI checks -   `java poller` - poller for Java checks -   `odbc poller` - poller for ODBC checks -   `poller` - normal poller for passive checks -   `preprocessing manager` - manager of preprocessing tasks -   `preprocessing worker` - process for data preprocessing -   `self-monitoring` - process for collecting internal server     statistics -   `snmp trapper` - trapper for SNMP traps -   `task manager` - process for remote execution of tasks requested by     other components (e.g. close problem, acknowledge problem, check     item value now, remote command functionality) -   `trapper` - trapper for active checks, traps, proxy communication -   `unreachable poller` - poller for unreachable devices -   `vmware collector` - VMware data collector responsible for data     gathering from VMware services  The proxy log file can be used to observe these process types.  Various types of Zabbix proxy processes can be monitored using the **zabbix\[process,<type>,<mode>,<state>\]** internal [item](/manual/config/items/itemtypes/internal).
ca	#### Tipus de processo de proxy  -   `​availability manager`​ - procés d'actualització de la disponibilitat de l'equip -   `​configuration syncer`​ - procés per gestionar la memòria cau de les dades de configuració - `​data sender`​: permet al proxy enviar les dades -   `​discoverer`​ - procés de descoberta d'equips -   `​heartbeat sender`​ - permet al proxy enviar heartbeat -   `​history syncer`​ - escriptura de base de dades de l'històric -   `​history poller`​ - procés de processament per a comprovacions calculades, afegides i internes que requereixen una connexió a una base de dades -   `​housekeeper`​ - procés per esborrar dades de l'historial antic -   `​http poller`​ - poller per el monitoratge web -   `​icmp pinger`​ - poller per les verificacions icmpping -   `​ipmi manager`​ - gestor de poller IPMI -   `​ipmi poller`​ - poller per el monitoratge IPMI -   `​java poller`​ - poller per el monitoratge Java -   `odbc poller` - poller per el monitoratge ODBC -   `​poller`​ - poller normal per el monitoratge passiu -   `​preprocessing manager`​ - responsable de les tasques de pretractament -   `​preprocessing worker`​ - processos de pretractrament de dades -   `​self-monitoring`​ - processos recollint les estadístiques internes del servidor -   `​snmp trapper`​ - trapper per els traps SNMP -   `​task manager`​ - procés per a l'execució remota de tasques sol·licitades per altres components (per exemple, tancar un problema, reconèixer un problema, comprovar ara un element, funcionalitat d'ordres remots) -   `​trapper`​ - ttrapper per a controls actius, trampes, comunicació amb el proxy -   `​unreachable poller`​ - enquestador per a equips inabastables -   `​vmware collector`​ - col·lector de dades de VMware responsable de recuperar dades dels serveis de VMware  El fitxer de registre del proxy es pot emprar per observar aquests tipus de processos.  Es poden supervisar diversos tipus de processos de proxy Zabbix mitjançant l'[element intern](/manual/config/items/itemtypes/internal) **zabbix\[process,<​type>,<​mode>,<​state> ​\] **.

en-us	##### Proxy request  The `proxy data` request is used to obtain host interface availability, historical, discovery and autoregistration data from proxy. This request is sent every `ProxyDataFrequency` (server configuration parameter) seconds.  |name|<|value type|description| |-|----------|----------|----------------------------------------| |server→proxy:|<|<|<| |**request**|<|*string*|'proxy data'| |proxy→server:|<|<|<| |**session**|<|*string*|Data session token.| |**interface availability**|<|*array*|*(optional)* Array of interface availability data objects.| | |**interfaceid**|*number*|Interface identifier.| |^|**available**|*number*|Interface availability:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - unknown<br>**1**, *INTERFACE\_AVAILABLE\_TRUE* - available<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - unavailable| |^|**error**|*string*|Interface error message or empty string.| |**history data**|<|*array*|*(optional)* Array of history data objects.| | |**itemid**|*number*|Item identifier.| |^|**clock**|*number*|Item value timestamp (seconds).| |^|**ns**|*number*|Item value timestamp (nanoseconds).| |^|**value**|*string*|*(optional)* Item value.| |^|**id**|*number*|Value identifier (ascending counter, unique within one data session).| |^|**timestamp**|*number*|*(optional)* Timestamp of log type items.| |^|**source**|*string*|*(optional)* Eventlog item source value.| |^|**severity**|*number*|*(optional)* Eventlog item severity value.| |^|**eventid**|*number*|*(optional)* Eventlog item eventid value.| |^|**state**|*string*|*(optional)* Item state:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE\_NOTSUPPORTED*| |^|**lastlogsize**|*number*|*(optional)* Last log size of log type items.| |^|**mtime**|*number*|*(optional)* Modification time of log type items.| |**discovery data**|<|*array*|*(optional)* Array of discovery data objects.| | |**clock**|*number*|Discovery data timestamp.| |^|**druleid**|*number*|Discovery rule identifier.| |^|**dcheckid**|*number*|Discovery check identifier or null for discovery rule data.| |^|**type**|*number*|Discovery check type:<br><br>**-1** discovery rule data<br>**0**, *SVC\_SSH* - SSH service check<br>**1**, *SVC\_LDAP* - LDAP service check<br>**2**, *SVC\_SMTP* - SMTP service check<br>**3**, *SVC\_FTP* - FTP service check<br>**4**, *SVC\_HTTP* - HTTP service check<br>**5**, *SVC\_POP* - POP service check<br>**6**, *SVC\_NNTP* - NNTP service check<br>**7**, *SVC\_IMAP* - IMAP service check<br>**8**, *SVC\_TCP* - TCP port availability check<br>**9**, *SVC\_AGENT* - Zabbix agent<br>**10**, *SVC\_SNMPv1* - SNMPv1 agent<br>**11**, *SVC\_SNMPv2* - SNMPv2 agent<br>**12**, *SVC\_ICMPPING* - ICMP ping<br>**13**, *SVC\_SNMPv3* - SNMPv3 agent<br>**14**, *SVC\_HTTPS* - HTTPS service check<br>**15**, *SVC\_TELNET* - Telnet availability check| |^|**ip**|*string*|Host IP address.| |^|**dns**|*string*|Host DNS name.| |^|**port**|*number*|*(optional)* Service port number.| |^|**key\_**|*string*|*(optional)* Item key for discovery check of type **9** *SVC\_AGENT*| |^|**value**|*string*|*(optional)* Value received from the service, can be empty for most services.| |^|**status**|*number*|*(optional)* Service status:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Service UP<br>**1**, *DOBJECT\_STATUS\_DOWN* - Service DOWN| |**auto registration**|<|*array*|*(optional)* Array of autoregistration data objects.| | |**clock**|*number*|Autoregistration data timestamp.| |^|**host**|*string*|Host name.| |^|**ip**|*string*|*(optional)* Host IP address.| |^|**dns**|*string*|*(optional)* Resolved DNS name from IP address.| |^|**port**|*string*|*(optional)* Host port.| |^|**host\_metadata**|*string*|*(optional)* Host metadata sent by the agent (based on HostMetadata or HostMetadataItem agent configuration parameter).| |**tasks**|<|*array*|*(optional)* Array of tasks.| | |**type**|*number*|Task type:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - remote command result| |^|**status**|*number*|Remote-command execution status:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - remote command completed successfully<br>**1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - remote command failed| |^|**error**|*string*|*(optional)* Error message.| |^|**parent\_taskid**|*number*|Parent task ID.| |**more**|<|*number*|*(optional)* 1 - there are more history data to send.| |**clock**|<|*number*|*(optional)* Data transfer timestamp (seconds).| |**ns**|<|*number*|*(optional)* Data transfer timestamp (nanoseconds).| |**version**|<|*string*|Proxy version (<major>.<minor>.<build>).| |server→proxy:|<|<|<| |**response**|<|*string*|Request success information ('success' or 'failed').| |**tasks**|<|*array*|*(optional)* Array of tasks.| | |**type**|*number*|Task type:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - remote command| |^|**clock**|*number*|Task creation time.| |^|**ttl**|*number*|Time in seconds after which the task expires.| |^|**commandtype**|*number*|Remote-command type:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - use custom script<br>**1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - use IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - use SSH<br>**3**, *ZBX\_SCRIPT\_TYPE\_TELNET* - use Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - use global script (currently functionally equivalent to custom script)| |^|**command**|*string*|Remote command to execute.| |^|**execute\_on**|*number*|Execution target for custom scripts:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - execute script on agent<br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - execute script on server<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - execute script on proxy| |^|**port**|*number*|*(optional)* Port for Telnet and SSH commands.| |^|**authtype**|*number*|*(optional)* Authentication type for SSH commands.| |^|**username**|*string*|*(optional)* User name for Telnet and SSH commands.| |^|**password**|*string*|*(optional)* Password for Telnet and SSH commands.| |^|**publickey**|*string*|*(optional)* Public key for SSH commands.| |^|**privatekey**|*string*|*(optional)* Private key for SSH commands.| |^|**parent\_taskid**|*number*|Parent task ID.| |^|**hostid**|*number*|Target host ID.|  Example:  server→proxy:  ``` {.javascript} {   "request": "proxy data" } ```  proxy→server:  ``` {.javascript} {     "session": "12345678901234567890123456789012"     "interface availability": [         {             "interfaceid": 1,             "available": 1,             "error": ""     },         {             "interfaceid": 2,             "available": 2,             "error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused"     },         {             "interfaceid": 3,             "available": 1,             "error": ""     },         {             "interfaceid": 4,             "available": 1,             "error": ""     }     ],     "history data":[         {             "itemid":"12345",             "clock":1478609647,             "ns":332510044,             "value":"52956612",             "id": 1         },         {             "itemid":"12346",             "clock":1478609647,             "ns":330690279,             "state":1,             "value":"Cannot find information for this network interface in /proc/net/dev.",             "id": 2         }     ],     "discovery data":[         {             "clock":1478608764,             "drule":2,             "dcheck":3,             "type":12,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         },         {             "clock":1478608764,             "drule":2,             "dcheck":null,             "type":-1,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         }     ],     "auto registration":[         {             "clock":1478608371,             "host":"Logger1",             "ip":"10.3.0.1",             "dns":"localhost",             "port":"10050"         },         {             "clock":1478608381,             "host":"Logger2",             "ip":"10.3.0.2",             "dns":"localhost",             "port":"10050"         }     ],     "tasks":[         {             "type": 0,             "status": 0,             "parent_taskid": 10         },         {             "type": 0,             "status": 1,             "error": "No permissions to execute task.",             "parent_taskid": 20         }     ],         "version":"5.4.0" } ```  server→proxy:  ``` {.javascript} {   "response": "success",   "tasks":[       {          "type": 1,          "clock": 1478608371,          "ttl": 600,          "commandtype": 2,          "command": "restart_service1.sh",          "execute_on": 2,          "port": 80,          "authtype": 0,          "username": "userA",          "password": "password1",          "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",          "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",          "parent_taskid": 10,          "hostid": 10070       },       {          "type": 1,          "clock": 1478608381,          "ttl": 600,          "commandtype": 1,          "command": "restart_service2.sh",          "execute_on": 0,          "authtype": 0,          "username": "",          "password": "",          "publickey": "",          "privatekey": "",          "parent_taskid": 20,          "hostid": 10084       }   ] } ```
ca	##### Petició del proxy  La petició de `proxy data` s'empra per obtindre dades de disponibilitat de la interfície d'equip, dades històriques, de descobriment i registre automàtic del proxy. Aquesta petició s'envia cada `ProxyDataFrequency` segons (paràmetre de configuració del servidor).  |nom|<|tipus de valor|descripció| |-|-----------|-----------|--------------------------- ----------------| |server→proxy:|<|<|<| |**sol·licitud**|<|*string*|'informació del proxy'| |proxy→server:|<|<|<| |**session**|<|*string*|Fitxa de sessió de dades.| |**interface availability**|<|*array*|*(opcional)* Matriu d'objectes de dades de disponibilitat de la interfície.| | |**interfaceid**|*number*|Identificador de la interfície.| |^|**available**|*number*|Disponibilitat de la interfície:<br><br>**0**, *INTERFACE\_AVAILABLE\UNKNOWN* - desconegut<br>**1**, *INTERFACE\_AVAILABLE \_TRUE* - disponible<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - no disponible| |^|**error**|*string*|Missatge d'error de la interfície o cadena buida.| |**history data**|<|*array*|*(opcional)* Matriu d'objectes de dades de l'historial.| | |**itemid**|*number*|Identificador de l'element.| |^|**clock**|*number*|Marca de temps del valor de l'element (segons).| |^|**ns**|*number*|Marca de temps del valor de l'element (nanosegons).| |^|**value**|*string*|*(opcional)* Valor de l'element.| |^|**id**|*number*|Identificador del valor (comptador ascendent, únic en una sessió de dades).| |^|**timestamp**|*number*|*(opcional)* Marca de temps dels elements del tipus de registre.| |^|**source**|*string*|*(opcional)* Valor font de l'element del registre d'esdeveniments.| |^|**severity**|*number*|*(opcional)* Valor de gravetat de l'element del registre d'esdeveniments.| |^|**eventid**|*number*|*(opcional)* Valor d'event de l'element del registre d'esdeveniments.| |^|**status**|*string*|*(opcional)* Estat de l'element:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE \_NO SUPORT*| |^|**lastlogsize**|*number*|*(opcional)* Mida del darrer registre dels elements del tipus de registre.| |^|**mtime**|*number*|*(opcional)* Hora de modificació dels elements del tipus de registre.| |**discovery data**|<|*array*|*(opcional)* Matriu d'objectes de dades de descoberta.| | |**clock**|*number*|Marca de temps de les dades de descoberta.| |^|**druleid**|*number*|Identificador de la regla de descoberta.| |^|**dcheckid**|*number*|Identificador de comprovació de descoberta o res per a les dades de la regla de descoberta.| |^|**type**|*number*|Tipus de comprovació de descoberta:<br><br>**-1** dades de la regla de descoberta<br>**0**, *SVC\_SSH* - Comprovació del servei SSH <br>**1**, *SVC\_LDAP* - Comprovació del servei LDAP<br>**2**, *SVC\_SMTP* - Comprovació del servei SMTP<br>**3**, *SVC\_FTP* - Comprovació del servei FTP<br>**4**, *SVC\_HTTP* - Comprovació del servei HTTP<br>**5**, *SVC\_POP* - Comprovació del servei POP<br>**6**, * SVC\_NNTP* - Comprovació del servei NNTP<br>**7**, *SVC\_IMAP* - Comprovació del servei IMAP<br>**8**, *SVC\_TCP* - Comprovació de la disponibilitat del port TCP<br>** 9**, *SVC\_AGENT* - agent Zabbix<br>**10**, *SVC\_SNMPv1* - agent SNMPv1<br>**11**, *SVC\_SNMPv2* - agent SNMPv2<br>* *12**, *SVC\_ICMPPING* - Ping ICMP<br>**13**, *SVC\_SNMPv3* - Agent SNMPv3<br>**14**, *SVC\_HTTPS* - Comprovació del servei HTTPS<br >**15**, *SVC\_TELNET* - Comprovació de disponibilitat de Telnet| |^|**ip**|*string*|Adreça IP de l'equip.| |^|**dns**|*string*|Nom DNS de l'equip.| |^|**port**|*number*|*(opcional)* Nombre de port de servei.| |^|**key\_**|*string*|*(opcional)* Clau d'element per a la comprovació de descoberta de tipus **9** *SVC\_AGENT*| |^|**value**|*string*|*(opcional)* Valor rebut del servei, pot estar buit per a la majoria de serveis.| |^|**status**|*number*|*(opcional)* Estat del servei:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Servei UP<br>**1* *, *DOBJECT\_STATUS\_DOWN* - Servei DOWN| |**auto registration**|<|*array*|*(opcional)* Matriu d'objectes de dades de registre automàtic.| | |**clock**|*number*|Marca de temps de dades de registre automàtic.| |^|**host**|*string*|Nom de l'equip.| |^|**ip**|*string*|*(opcional)* Adreça IP de l'equip.| |^|**dns**|*string*|*(opcional)* S'ha resolt el nom DNS des de l'adreça IP.| |^|**port**|*string*|*(opcional)* Port de l'equip.| |^|**host\_metadata**|*string*|*(opcional)* Metadades de l'equip enviades per l'agent (basades en el paràmetre de configuració de l'agent HostMetadata o HostMetadataItem).| |**tasks**|<|*array*|*(opcional)* Matriu de tasques.| | |**type**|*number*|Tipus de tasca:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - resultat de la comanda remota| |^|**status**|*number*|Estat d'execució de l'ordre remota:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED*: l'ordre remota s'ha completat correctament<br> **1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - l'ordre remota ha fallat| |^|**error**|*string*|*(opcional)* Missatge d'error.| |^|**parent\_taskid**|*number*|ID de la tasca principal.| |**more**|<|*number*|*(opcional)* 1 - hi ha més dades de l'historial per enviar.| |**clock**|<|*number*|*(opcional)* Marca de temps de transferència de dades (segons).| |**ns**|<|*number*|*(opcional)* Marca de temps de transferència de dades (nanosegons).| |**version**|<|*string*|Versió del proxy (<major>.<menor>.<build>).| |server→proxy:|<|<|<| |**response**|<|*string*|Demanar informació sobre l'èxit ('èxit' o 'error').| |**task**|<|*array*|*(opcional)* Matriu de tasques.| | |**type**|*number*|Tipus de tasca:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - comanda remota| |^|**clock**|*number*|Hora de creació de la tasca.| |^|**ttl**|*number*|Temps en segons després del qual caduca la tasca.| |^|**commandtype**|*number*|Tipus de comanda remota:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT*: empreu un script personalitzat<br>** 1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - emprar IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - emprar SSH<br>**3**, *ZBX\_SCRIPT \_TYPE\_TELNET*: empra Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT*: empra un script lobal (actualment equivalent funcionalment a script personalitzat)| |^|**command**|*string*|Ordre remota per executar.| |^|**execute\_on**|*number*|Destí d'execució per a scripts personalitzats:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - executa l'script a l'agent< br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - executa l'script al servidor<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - executa l'script al proxy| |^|**port**|*number*|*(opcional)* Port per a ordres Telnet i SSH.| |^|**authtype**|*number*|*(opcional)* Tipus d'autenticació per a ordres SSH.| |^|**username**|*string*|*(opcional)* Nom d'usuari per a ordres Telnet i SSH.| |^|**password**|*string*|*(opcional)* Mot de pas per a ordres Telnet i SSH.| |^|**publickey**|*string*|*(opcional)* Clau pública per a ordres SSH.| |^|**privatekey**|*string*|*(opcional)* Clau privada per a ordres SSH.| |^|**parent\_taskid**|*number*|ID de la tasca principal.| |^|**hostid**|*number*|ID de l'equip objectiu.|  Exemple:  server→proxy:  ``` {.javascript} {   "request": "proxy data" } ```  proxy→server:  ``` {.javascript} {     "session": "12345678901234567890123456789012"     "interface availability": [         {             "interfaceid": 1,             "available": 1,             "error": ""     },         {             "interfaceid": 2,             "available": 2,             "error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused"     },         {             "interfaceid": 3,             "available": 1,             "error": ""     },         {             "interfaceid": 4,             "available": 1,             "error": ""     }     ],     "history data":[         {             "itemid":"12345",             "clock":1478609647,             "ns":332510044,             "value":"52956612",             "id": 1         },         {             "itemid":"12346",             "clock":1478609647,             "ns":330690279,             "state":1,             "value":"Cannot find information for this network interface in /proc/net/dev.",             "id": 2         }     ],     "discovery data":[         {             "clock":1478608764,             "drule":2,             "dcheck":3,             "type":12,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         },         {             "clock":1478608764,             "drule":2,             "dcheck":null,             "type":-1,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         }     ],     "auto registration":[         {             "clock":1478608371,             "host":"Logger1",             "ip":"10.3.0.1",             "dns":"localhost",             "port":"10050"         },         {             "clock":1478608381,             "host":"Logger2",             "ip":"10.3.0.2",             "dns":"localhost",             "port":"10050"         }     ],     "tasks":[         {             "type": 0,             "status": 0,             "parent_taskid": 10         },         {             "type": 0,             "status": 1,             "error": "No permissions to execute task.",             "parent_taskid": 20         }     ],         "version":"5.4.0" } ```  server→proxy:  ``` {.javascript} {   "response": "success",   "tasks":[       {          "type": 1,          "clock": 1478608371,          "ttl": 600,          "commandtype": 2,          "command": "restart_service1.sh",          "execute_on": 2,          "port": 80,          "authtype": 0,          "username": "userA",          "password": "password1",          "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",          "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",          "parent_taskid": 10,          "hostid": 10070       },       {          "type": 1,          "clock": 1478608381,          "ttl": 600,          "commandtype": 1,          "command": "restart_service2.sh",          "execute_on": 0,          "authtype": 0,          "username": "",          "password": "",          "publickey": "",          "privatekey": "",          "parent_taskid": 20,          "hostid": 10084       }   ] } ```

en-us	#### Proxy startup with MySQL 8.0.0-8.0.17  zabbix\_proxy on MySQL versions 8.0.0-8.0.17 fails with the following "access denied" error:      [Z3001] connection to database 'zabbix' failed: [1227] Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation  That is due to MySQL 8.0.0 starting to enforce special permissions for setting session variables. However, in 8.0.18 this behavior was removed: [As of MySQL 8.0.18, setting the session value of this system variable is no longer a restricted operation.](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html)  The workaround is based on granting additional privileges to the `zabbix` user:  For MySQL versions 8.0.14 - 8.0.17:      grant SESSION_VARIABLES_ADMIN on *.* to 'zabbix'@'localhost';  For MySQL versions 8.0.0 - 8.0.13:      grant SYSTEM_VARIABLES_ADMIN on *.* to 'zabbix'@'localhost';
ca	#### Engegada del proxy amb MySQL 8.0.0-8.0.17  El zabbix\_proxy amb les versions 8.0.0-8.0.17 de MySQL falla amb l'error d'"accés rebutjat" següent:      [Z3001] connection to database 'zabbix' failed: [1227] Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation  Això es deu al fet que MySQL 8.0.0 comença a aplicar permisos especials per establir variables de sessió. Tanmateix, a la versió 8.0.18, aquest comportament s'ha esborrat: [A partir de MySQL 8.0.18, establir el valor de sessió d'aquesta variable del sistema ja no és una operació restringida](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html).  La solució passa per concedir privilegis addicionals a l'usuari `zabbix`:  Per les versions 8.0.14 a 8.0.17 de MySQL :       grant SESSION_VARIABLES_ADMIN on *.* to 'zabbix'@'localhost';  Per les versions 8.0.0 a 8.0.13 de MySQL :      grant SYSTEM_VARIABLES_ADMIN on *.* to 'zabbix'@'localhost';

en-us	### Proxy  The proxy object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |proxyid|string|*(readonly)* ID of the proxy.| |**host**<br>(required)|string|Name of the proxy.| |**status**<br>(required)|integer|Type of proxy.<br><br>Possible values:<br>5 - active proxy;<br>6 - passive proxy.| |description|text|Description of the proxy.| |lastaccess|timestamp|*(readonly)* Time when the proxy last connected to the server.| |tls\_connect|integer|Connections to host.<br><br>Possible values are:<br>1 - *(default)* No encryption;<br>2 - PSK;<br>4 - certificate.| |tls\_accept|integer|Connections from host.<br><br>Possible bitmap values are:<br>1 - *(default)* No encryption;<br>2 - PSK;<br>4 - certificate.| |tls\_issuer|string|Certificate issuer.| |tls\_subject|string|Certificate subject.| |tls\_psk\_identity|string|*(write-only)* PSK identity. Required if either `tls_connect` or `tls_accept` has PSK enabled.<br>Do not put sensitive information in the PSK identity, it is transmitted unencrypted over the network to inform a receiver which PSK to use.| |tls\_psk|string|*(write-only)* The preshared key, at least 32 hex digits. Required if either `tls_connect` or `tls_accept` has PSK enabled.| |proxy\_address|string|Comma-delimited IP addresses or DNS names of active Zabbix proxy.| |auto\_compress|integer|*(readonly)* Indicates if communication between Zabbix server and proxy is compressed.<br><br>Possible values are:<br>0 - No compression;<br>1 - Compression enabled;|  Note that for some methods (update, delete) the required/optional parameter combination is different.
ca	### Proxy  L'objecte proxy té les següents propietats.  |Propietat|[Tipus](/manual/api/reference_commentary#data_types)|Descripció| |--|--|------| |proxyid|string|*(només lectura)* Proxy ID.| |**host**<br>(obligatori)|string|Nom del proxy.| |**status**<br>(obligatori)|integer|Tipus de proxy.<br><br>Valors possibles:<br>5 - proxy actiu;<br>6 - proxy passiu.| |description|text|Descripció del proxy.| |lastaccess|timestamp|*(només lectura)* Hora en què el proxy es va connectar per darrer cop al servidor.| |tls\_connect|integer|Connecteu-vos a l'equip.<br><br>Valors possibles:<br>1 - *(per defecte)* Sense xifrat;<br>2 - PSK;<br>4 - certificat.| |tls\_accept|integer|Connexió a l'equip.<br><br>Valors possibles:<br>1 - *(per defecte)* Sense xifrat;<br>2 - PSK;<br>4 - certificat.| |tls\_issuer|string|Emissor del certificat.| |tls\_subject|string|Assumpte del certificat.| |tls\_psk\_identity|string|*(només escriptura)* Identitat PSK. Necessari si `tls_connect` o `tls_accept` tenen PSK habilitat.| |tls\_psk|string|*(només escriptura)*La clau prèviament compartida, com a mínim 32 dígits hexadecimals. Necessari si `tls_connect` o `tls_accept` tenen PSK habilitat.| |auto\_compress|integer|*(només lectura)* Indica si la comunicació entre el servidor Zabbix i el proxy és comprimida.<br><br>Valors possibles:<br>0 - Sense compressió;<br>1 - Compressió activada;|  Tingueu en compte que per a alguns mètodes (actualitzar, esborrar) la combinació de paràmetres obligatoris/opcionals és diferent.

en-us	# Proxy  This class is designed to work with proxies.  Object references:\  -   [Proxy](/manual/api/reference/proxy/object#proxy) -   [Proxy     interface](/manual/api/reference/proxy/object#proxy_interface)  Available methods:\  -   [proxy.create](/manual/api/reference/proxy/create) - create new     proxies -   [proxy.delete](/manual/api/reference/proxy/delete) - delete proxies -   [proxy.get](/manual/api/reference/proxy/get) - retrieve proxies -   [proxy.update](/manual/api/reference/proxy/update) - update proxies
ca	# Proxy  Aquesta classe és dissenyada per treballar amb proxys.  Referències d'objecte:\  -   [Proxy](/manual/api/reference/proxy/object#proxy) -   [Interfície del proxy](/manual/api/reference/proxy/object#proxy_interface)  Mètodes disponibles:\  -   [proxy.create](/manual/api/reference/proxy/create) - crear nou proxys -   [proxy.delete](/manual/api/reference/proxy/delete) - esborrar proxys -   [proxy.get](/manual/api/reference/proxy/get) - recuperar proxys -   [proxy.update](/manual/api/reference/proxy/update) - actualitzar proxys

en-us	# proxy.update
ca	# proxy.update

en-us	#### Proxy upgrade process
ca	#### Procés d'actualització del proxy

en-us	##### Proxy  [Zabbix proxy](/manual/concepts/proxy) can collect performance and availability data on behalf of Zabbix server. A proxy is an optional part of Zabbix deployment; however, it may be very beneficial to distribute the load of a single Zabbix server.
ca	##### Proxy  El [Proxy Zabbix](/manual/concepts/proxy) pot collir dades de rendiment i disponibilitat en nom del servidor Zabbix. Un proxy és un component opcional del desplegament de Zabbix. Tanmateix, pot ser molt beneficiós distribuir la càrrega del servidor Zabbix.

en-us	#### PSK contains an odd number of hex-digits  Proxy or agent does not start, message in the proxy or agent log:      invalid PSK in file "/home/zabbix/zabbix_proxy.psk"
ca	#### PSK conté un nombre senar de dígits hexadecimals  El proxy o l'agent no s'inicia, missatge al proxy o al registre de l'agent:       PSK no vàlid al fitxer "/home/zabbix/zabbix_proxy.psk"

en-us	#### PSK identity string longer than 128 bytes is passed to GnuTLS  In TLS client side log:      gnutls_handshake() failed: -110 The TLS connection was non-properly terminated.  In TLS server side log.      gnutls_handshake() failed: -90 The SRP username supplied is illegal.
ca	#### La cadena d'identitat PSK de més de 128 octets es passa a GnuTLS  Al registre del client de TLS:       gnutls_handshake() ha fallat: -110 La connexió TLS no ha acabat correctament.  Al registre del servidor TLS.       gnutls_handshake() ha fallat: -90 El nom d'usuari SRP subministrat és invàlid.

en-us	#### Public and private maps  All users in Zabbix (including non-admin users) can create network maps. Maps have an owner - the user who created them. Maps can be made public or private.  -   *Public* maps are visible to all users, although to see it the user     must have read access to at least one map element. Public maps can     be edited in case a user/ user group has read-write permissions for     this map and at least read permissions to all elements of the     corresponding map including triggers in the links.  ```{=html} <!-- --> ``` -   *Private* maps are visible only to their owner and the users/user     groups the map is [shared](/manual/config/visualization/maps/map)     with by the owner. Regular (non-Super admin) users can only share     with the groups and users they are members of. Admin level users can     see private maps regardless of being the owner or belonging to the     shared user list. Private maps can be edited by the owner of the map     and in case a user/ user group has read-write permissions for this     map and at least read permissions to all elements of the     corresponding map including triggers in the links.  Map elements that the user does not have read permission to are displayed with a grayed-out icon and all textual information on the element is hidden. However, the trigger label is visible even if the user has no permission to the trigger.  To add an element to the map the user must also have at least read permission to the element.
ca	#### Mapes públics i privats  Tots els usuaris de Zabbix (inclosos els usuaris no administradors) poden crear mapes de xarxa. Els mapes tenen un propietari: l'usuari que els ha creat. Els mapes es poden fer públics o privats.  - Els mapes *públics* són visibles per a tots els usuaris, encara que per visualitzar-los l'usuari ha de tindre accés de lectura a almenys un element del mapa. Els mapes públics es poden editar en cas que un usuari/grup d'usuaris tingui permisos de lectura i escriptura per a aquest mapa i almenys permisos de lectura per a tots els elements del mapa corresponent, inclosos els triggers dels enllaços.  ```{=html} <!-- --> ``` - Els mapes *privats* només són visibles per al seu propietari i per als usuaris/grups d'usuaris amb els quals el propietari els hagi [compartit](/manual/config/visualization/maps/map). Els usuaris habituals (no superadministradors) només poden compartir amb grups i usuaris dels quals són membres. Els usuaris de nivell d'administrador poden veure mapes privats, tant si són propietaris com si pertanyen a la llista d'usuaris compartida. Els mapes privats els pot editar el propietari del mapa i en cas que un usuari/grup d'usuaris tingui permisos de lectura i escriptura per a aquest mapa i almenys permisos de lectura per a tots els elements del mapa corresponent, inclosos els triggers dels enllaços.  Els elements del mapa per als quals l'usuari no té permís de lectura es mostren amb una icona grisa i s'amaga tota la informació textual sobre l'element. No obstant això, l'etiqueta del trigger és visible encara que l'usuari no tingui permís sobre el trigger.  Per afegir un element al mapa, l'usuari també ha de tindre almenys permisos de lectura sobre l'element.

en-us	##### Purpose of persistent files  When Zabbix agent is started it receives a list of active checks from Zabbix server or proxy.  For log\*\[\] metrics it receives the processed log size and the modification time for finding where to start log file monitoring from. Depending on the actual log file size and modification time reported by file system the agent decides either to continue log file monitoring from the processed log size or re\-analyze the log file from the beginning.  A running agent maintains a larger set of attributes for tracking all monitored log files between checks.  This in\-memory state is lost when the agent is stopped.  The new optional parameter **persistent\_dir** specifies a directory for storing this state of log\[\], log.count\[\], logrt\[\] or logrt.count\[\] item in a file. The state of log item is restored from the persistent file after the Zabbix agent is restarted.  The primary use\-case is monitoring of log file located on a mirrored file system. Until some moment in time the log file is written to both mirrors. Then mirrors are split.  On the active copy the log file is still growing, getting new records. Zabbix agent analyzes it and sends processed logs size and modification time to server. On the passive copy the log file stays the same, well behind the active copy. Later the operating system and Zabbix agent are rebooted from the passive copy. The processed log size and modification time the Zabbix agent receives from server may not be valid for situation on the passive copy.  To continue log file monitoring from the place the agent left off at the moment of file system mirror split the agent restores its state from the persistent file.
ca	##### Objectiu dels fitxers persistents  Quan s'inicia l'agent Zabbix, rep una llista de comprovacions actives del servidor o proxy Zabbix. Per a les mètriques de registre\*\[\], rep la mida del registre processat i el temps de modificació per trobar on començar a monitorar el fitxer de registre. En funció de la mida real del fitxer de registre i del temps de modificació informat pel sistema de fitxers, l'agent decideix si continua monitorant el fitxer de registre en funció de la mida del registre processat o torna a escanejar el fitxer de registre des del principi.  Un agent en execució manté un conjunt més gran d'atributs per fer el seguiment de tots els fitxers de registre monitorats entre comprovacions. Aquest estat a la memòria es perd quan s'atura l'agent.  El nou paràmetre opcional **persistent\_dir** especifica un directori on emmagatzemar aquest estat de l'element log\[\], log.count\[\], logrt\[\] o logrt.count\[\] a la carpeta A. L'estat de l'element de registre es restaura des del fitxer persistent després de reiniciar l'agent Zabbix.  El cas d'ús principal és monitorar el fitxer de registre situat en un sistema de fitxers duplicat. Fins a un cert punt, el fitxer de registre s'escriu als dos miralls. Després es divideixen els miralls. A la còpia activa, el fitxer de registre continua creixent, obtinguent nous registres. L'agent Zabbix l'analitza i envia la mida i el temps de modificació dels registres processats al servidor. A la còpia passiva, el fitxer de registre continua sent el mateix, molt per darrere de la còpia activa. Més tard, el sistema operatiu i l'agent Zabbix es reinicien des de la còpia passiva. La mida del registre processat i el temps de modificació que l'agent Zabbix rep del servidor poden no ser vàlids per a la situació de la còpia passiva. Per continuar monitorant el fitxer de registre des d'on el va deixar l'agent quan es va dividir la rèplica del sistema de fitxers, l'agent restaura el seu estat des del fitxer persistent.

en-us	#### Query language comparison  The following table lists differences and similarities between PromQL and Zabbix Prometheus preprocessing query language.  |[PromQL instant vector selector](https://prometheus.io/docs/prometheus/latest/querying/basics/#instant-vector-selectors)|<|Zabbix Prometheus preprocessing| |----|----|----| |**Differences**|<|<| |Query target|Prometheus server|Plain text in Prometheus exposition format| |Returns|Instant vector|Metric or label value (Prometheus pattern)<br>Array of metrics for single value in JSON (Prometheus to JSON)| |Label matching operators|**=**, **!=**, **=\~**, **!\~**|**=**, **!=**, **=\~**, **!\~**| |Regular expression used in label or metric name matching|RE2|PCRE| |Comparison operators|See [list](https://prometheus.io/docs/prometheus/latest/querying/operators/#comparison-binary-operators)|Only **==** (equal) is supported for value filtering| |**Similarities**|<|<| |Selecting by metric name that equals string|<metric name> or {\_\_name\_\_="<metric name>"}|<metric name> or {\_\_name\_\_="<metric name>"}| |Selecting by metric name that matches regular expression|{\_\_name\_\_=\~"<regex>"}|{\_\_name\_\_=\~"<regex>"}| |Selecting by <label name> value that equals string|{<label name>="<label value>",...}|{<label name>="<label value>",...}| |Selecting by <label name> value that matches regular expression|{<label name>=\~"<regex>",...}|{<label name>=\~"<regex>",...}| |Selecting by value that equals string|{\_\_name\_\_=\~".\*"} == <value>|{\_\_name\_\_=\~".\*"} == <value>|
ca	#### Comparativa dels llenguatges de consultes  La taula següent llista les diferències i semblances entre el llenguatge de consulta de preprocessat PromQL i el Zabbix Prometheus.  |[Selector de vectors instantani PromQL](https://prometheus.io/docs/prometheus/latest/querying/basics/#instant-vector-selectors)|<|Preprocessat de Zabbix Prometheus| |----|----|----| |**Diferències**|<|<| |Destí de la petició|Servidor Prometheus|Text sense format en format d'exposició de Prometheus| |Retorns|Vector d'instantània|Valor de mètrica o etiqueta (plantilla Prometheus)<br>Matriu de mètriques per a un valor únic en JSON (Prometheus a JSON)| |Etiqueta operadors de concordança|**=**, **!=**, **=\~**, **!\~**|**=**, **!=**, **= \~**, **!\~**| |Expressió regular emprada a la concordança de noms d'etiquetes o mètriques|RE2|PCRE| |Operadors de comparació|Veieu [llista](https://prometheus.io/docs/prometheus/latest/querying/operators/#comparison-binary-operators)|Només **==** (igual) és compatible amb la càrrega de valor filtrada | |**Semblances**|<|<| |Trieu per nom mètric equival a cadena|<nom mètric> o {\_\_nom\_\_="<nom mètric>"}|<nom mètric> o {\_\_nom\_\_ ="<nom mètric> >>"}| |Trieu pel nom de mètrica que coincideixi amb l'expressió regular|{\_\_name\_\_=\~"\<regex\>"}|{\_\_name\_\_=\~"\< regex\>" }| |Trieu per <nom de l'etiqueta> el valor és igual a la cadena|{\<nom de l'etiqueta\>=\"<valor de l'etiqueta\>",...}|{\<nom de l'etiqueta\>= "\<valor de l'etiqueta\>", ...}| |Trieu el valor <nom de l'etiqueta> que coincideixi amb l'expressió regular |{\<nom de l'etiqueta\>=\~"\<regex\>",...}|{\<etiqueta de nom\>=\~"\<regex \>",...}| |Trieu per valor és igual a cadena|{\_\_nom\_\_=\~".\*"} == \<valor\>|{\_\_nom\_\_=\~".\* " } == \<valor\>|

en-us	### Query separate tablespaces in Oracle databases with Zabbix agent 2  The following [Zabbix agent 2 items](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2), supported for the Oracle plugin, now have additional optional parameters:  -   oracle.diskgroups.stats\[<existingParameters>,**<diskgroup>**\] -   oracle.archive.info\[<existingParameters>,**<destination>**\] -   oracle.cdb.info\[<existingParameters>,**<database>**\] -   oracle.pdb.info\[<existingParameters>,**<database>**\] -   oracle.ts.stats\[<existingParameters>,**<tablespace>**,**<type>**\]  These parameters allow to query separate instances of data instead of all data, thus improving performance.
ca	### Consultar tablespaces separats a bases de dades Oracle amb l'agent Zabbix 2  Els següents [articles de l'agent Zabbix 2](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2) són compatibles amb el connector d'Oracle, i ara tenen paràmetres opcionals addicionals:  - oracle.diskgroups.stats\[<Paràmetres existents>,**<grup de disc>**\] - oracle.archive.info\[<Paràmetres existents>,**<destí>**\] - oracle.cdb.info\[<Paràmetres existents>,**<Base de dades>**\] - oracle.pdb.info\[<Paràmetres existents>,**<Base de dades>**\] - oracle.ts.stats\[<Paràmetres existents>,**<espai de taula>**,**<tipus>**\]  Aquesta configuració permet consultar instàncies diferents de dades en lloc de totes les dades, millorant el rendiment.

en-us	### Query separate tablespaces in Oracle databases with Zabbix agent 2  The following [Zabbix agent 2 items](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2), supported for the Oracle plugin, now have additional optional parameters:  -   oracle.diskgroups.stats\[<existingParameters>,**<diskgroup>**\] -   oracle.archive.info\[<existingParameters>,**<destination>**\] -   oracle.cdb.info\[<existingParameters>,**<database>**\] -   oracle.pdb.info\[<existingParameters>,**<database>**\] -   oracle.ts.stats\[<existingParameters>,**<tablespace>**,**<type>**\]  These parameters allow to query separate instances of data instead of all data, thus improving performance.
ca	### Consultar tablespaces separats a bases de dades Oracle amb l'agent Zabbix 2  Els següents [articles de l'agent Zabbix 2](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2) són compatibles amb el connector d'Oracle, i ara tenen paràmetres opcionals addicionals:  - oracle.diskgroups.stats\[<Paràmetres existents>,**<grup de disc>**\] - oracle.archive.info\[<Paràmetres existents>,**<destí>**\] - oracle.cdb.info\[<Paràmetres existents>,**<Base de dades>**\] - oracle.pdb.info\[<Paràmetres existents>,**<Base de dades>**\] - oracle.ts.stats\[<Paràmetres existents>,**<espai de taula>**,**<tipus>**\]  Aquesta configuració permet consultar instàncies diferents de dades en lloc de totes les dades, millorant el rendiment.

en-us	#### Queue item  A special internal item **zabbix\[queue,<from>,<to>\]** can be used to monitor the health of the queue in Zabbix. It will return the number of items delayed by the set amount of time. For more information see [Internal items](/manual/config/items/itemtypes/internal).
ca	#### Element de la cua  Es pot emprar un element intern específic per a **zabbix\[queue,<from>,<to>\]** per controlar l'estat de la cua a Zabbix. Retornarà el nombre d'elements endarrerits en relació a la durada establerta. Per obtindre més informació, veieu els [elements interns](/manual/config/items/itemtypes/internal).

en-us	##### Readable summary in maps  A hidden "aria-label" property is available allowing map information to be read with a screen reader. Both general map description and individual element description is available, in the following format:  -   for map description:     `<Map name>, <* of * items in problem state>, <* problems in total>.` -   for describing one element with one problem:     `<Element type>, Status <Element status>, <Element name>, <Problem description>.` -   for describing one element with multiple problems:     `<Element type>, Status <Element status>, <Element name>, <* problems>.` -   for describing one element without problems:     `<Element type>, Status <Element status>, <Element name>.`  For example, this description is available:      'Local network, 1 of 6 elements in problem state, 1 problem in total. Host, Status problem, My host, Free disk space is less than 20% on volume \/. Host group, Status ok, Virtual servers. Host, Status ok, Server 1. Host, Status ok, Server 2. Host, Status ok, Server 3. Host, Status ok, Server 4. '  for the following map:  ![](../../../../../assets/en/manual/web_interface/map_aria_label.png){width="600"}
ca	##### Resum llegible en mapes  Hi ha disponible una propietat oculta "aria-label" que permet llegir la informació del mapa amb un lector de pantalla. La descripció general del mapa i la descripció d'un element individual són disponibles, en format següent:  - per a la descripció del mapa:      `<Nom del mapa>, <* de * elements en estat de problema>, <* problemes en total>.` - per descriure un element amb un problema:      `<Tipus d'element>, Estat <Estat de l'element>, <Nom de l'element>, <Descripció del problema>.` - per descriure un element amb diversos problemes:      `<Tipus d'element>, Estat <Estat de l'element>, <Nom de l'element>, <*problemes>.` - per descriure un element sense cap problema:      `<Tipus d'element>, Estat <Estat de l'element>, <Nom de l'element>.`  Per exemple, aquesta descripció està disponible:       'Xarxa local, 1 de 6 elements en estat problemàtic, 1 problema en total. Equip, Problema d'estat, El meu equip, L'espai lliure en disc és inferior al 20% del volum \/. Grup d'equips, Estat correcte, Servidors virtuals. Equip, estat correcte, servidor 1. Equip, estat correcte, servidor 2. Equip, estat correcte, servidor 3. Equip, estat correcte, servidor 4. '  per a la següent tarja:  ![](../../../../../assets/en/manual/web_interface/map_aria_label.png){width="600"}

en-us	#### Reading host availability  Host availability icons reflect the current host interface status on Zabbix server. Therefore, in the frontend:  -   If you disable a host, availability icons will not immediately turn     gray (unknown status), because the server has to synchronize the     configuration changes first; -   If you enable a host, availability icons will not immediately turn     green (available), because the server has to synchronize the     configuration changes and start polling the host first.
ca	#### Lectura de la disponibilitat de l'equip  Les icones de disponibilitat de l'equip reflecteixen l'estat actual de la interfície de l'equip al servidor Zabbix. Per tant, a la interfície web:  - Si desactiveu un equip, les icones de disponibilitat no es tornaran grises immediatament (estat desconegut), perquè primer el servidor ha de sincronitzar els canvis de configuració; - Si activeu un equip, les icones de disponibilitat no es tornaran verdes immediatament (disponibles), perquè el servidor primer ha de sincronitzar els canvis de configuració i començar a monitorar l'equip.

en-us	#### Reading the queue  To read the queue, go to *Administration → Queue*.  ![](../../../../assets/en/manual/config/items/queue.png){width="600"}  The picture here is generally "ok" so we may assume that the server is doing fine.  The queue shows some items waiting up to 30 seconds. It would be great to know what items these are.  To do just that, select *Queue details* in the title dropdown. Now you can see a list of those delayed items.  ![](../../../../assets/en/manual/config/items/queue_details.png){width="600"}  With these details provided it may be possible to find out why these items might be delayed.  With one or two delayed items there perhaps is no cause for alarm. They might get updated in a second. However, if you see a bunch of items getting delayed for too long, there might be a more serious problem.  **See also:** Aligning time zones when using [scheduling intervals](/manual/config/items/item/custom_intervals#aligning-time-zones-for-proxies-and-agent-2)  ![](../../../../assets/en/manual/config/items/queue_b.png){width="600"}
ca	#### Llegir la cua  Per llegir la cua, aneu a *Administració → Cua*.  ![](../../../../assets/en/manual/config/items/queue.png){width="600"}  La imatge aquí és generalment "OK", de manera que podem suposar que el servidor rutlla bé.  La cua mostra alguns elements que esperen fins a 30 segons. Estaria bé sapiguer què són aquests.  Per fer-ho, trieu els *Detalls de la cua* a la llista desplegable del títol. Ara podeu veure una llista d'aquests elements amb retard.  ![](../../../../assets/en/manual/config/items/queue_details.png){width="600"}  Amb aquests detalls proporcionats, és possible que es pugui esbrinar per què aquests elements es poden endarrerir.  Amb un o dos elements endarrerits, pot ser que no hi hagi cap motiu d'alarma. Es podrien actualitzar en un segon. Tanmateix, si veieu que un munt d'articles s'endarrereixen massa, podria haver-hi un problema més gros.  **Veieu també:** Alineació de zones horàries quan empreu [intervals de programació](/manual/config/items/item/custom_intervals#aligning-time-zones-for-proxies-and-agent-2)  ![](../../../../assets/en/manual/config/items/queue_b.png){width="600"}

en-us	#### Ready-to-use templates  The default dataset in Zabbix offers several ready-to-use templates for monitoring VMware vCenter or directly ESX hypervisor. These templates contain pre-configured LLD rules as well as a number of built-in checks for monitoring virtual installations.  Templates for VMware vCenter and ESX hypervisor monitoring:  -   *VMware* - uses UUID data for corresponding macros; -   *VMware FQDN* - uses FQDN data for corresponding macros.  ::: noteclassic In order for the *VMware FQDN* template to work correctly each monitored VM should have a unique OS name compliant with FQDN rules and VMware Tools/Open Virtual Machine Tools must be installed on every machine.  If these conditions are met, it is recommended to use *VMware FQDN* template.  The creation of *VMware FQDN* template became possible after introducing the  ability to create hosts with custom interfaces in Zabbix 5.2.\ \ A classic *VMware* template is still available and can be used if FQDN requirements cannot be met. Please keep in mind, that the *VMware* template has a known issue. Hosts for discovered virtual machines will be created with the names saved in the vCenter (for example, VM1, VM2, etc.). If Zabbix agent active is installed on these hosts later with autoregistration enabled, the autoregistration process will read host names as they have been registered upon launch (for example, vm1.example.com, vm2.example.com, etc.) and create new hosts since no name matches have been found. As a result there will be two duplicate hosts for each machine with different names.  :::  Templates used by discovery (normally, these templates should not be manually linked to a host):  -   *VMware Hypervisor*; -   *VMware Guest*.  ![](../../assets/en/manual/vm_monitoring/templates_vm.png){width="600"}
ca	#### Plantilles predeterminades  El conjunt de dades predeterminat de Zabbix ofereix diverses plantilles llestes per emprar per monitorar VMware vCenter o directament l'hipervisor ESX. Aquestes plantilles contenen regles LLD preconfigurades, així com una sèrie de comprovacions integrades per monitorar les instal·lacions virtuals.  Plantilles per al monitoratge de l'hipervisor VMware vCenter i ESX:  - *VMware* - empra dades UUID per a les macros corresponents; - *VMware FQDN* - empra dades de FQDN per a les macros corresponents.  ::: noteclassic   Perquè la plantilla *VMware FQDN* funcioni correctament, cada màquina virtual monitorada ha de tindre un nom de sistema operatiu únic que compleixi amb les regles de FQDN i VMware Tools s'ha d'instal·lar a cada màquina. Si es compleixen aquestes condicions, es recomana emprar la plantilla *VMware FQDN*. La creació de la plantilla *VMware FQDN* és possible després d'introduir la possibilitat de crear equips amb interfícies personalitzades a Zabbix 5.2.\ \ Una plantilla clàssica *VMware* encara és disponible i es pot emprar si no es poden complir els requisits de FQDN. Tingueu en compte que la plantilla *VMware* té un problema conegut. Els equips per a les màquines virtuals descobertes es crearan amb els noms desats al vCenter (per exemple, VM1, VM2, etc.). Si l'agent Zabbix actiu s'instal·la en aquests equips més tard amb l'autoregistre activat, el procés d'autoregistre llegirà els noms d'equips tal com s'han registrat en iniciar-se (per exemple, vm1.example.com, vm2.example.com, etc.) i crearà nous equips ja que no s'han trobat noms coincidents. Com a resultat, hi haurà dos equips duplicats per a cada màquina amb noms diferents. :::  Plantilles emprades per discovery (normalment, aquestes plantilles no s'han d'enllaçar manualment a un equip):  - *Hipervisor VMware*; - *VMware Guest*.  ![](../../assets/en/manual/vm_monitoring/templates_vm.png){width="600"}

en-us	#### Receiving notification  Now, with delivering notifications configured it would be fun to actually receive one. To help with that, we might on purpose increase the load on our host - so that our [trigger](trigger#adding_trigger) "fires" and we receive a problem notification.  Open the console on your host and run:      cat /dev/urandom | md5sum  You may run one or several of [these processes](http://en.wikipedia.org/wiki/Md5sum).  Now go to *Monitoring → Latest data* and see how the values of 'CPU Load' have increased. Remember, for our trigger to *fire*, the 'CPU Load' value has to go over '2' for 3 minutes running. Once it does:  -   in *Monitoring → Problems* you should see the trigger with a     flashing 'Problem' status -   you should receive a problem notification in your email  ::: noteimportant If notifications do not work:  -   verify once again that both the email settings and the action have     been configured properly -   make sure the user you created has at least read permissions on the     host which generated the event, as noted in the *[Adding     user](login#adding_user)* step. The user, being part of the 'Zabbix     administrators' user group must have at least read access to 'Linux     servers' host group that our host belongs to. -   Additionally, you can check out the action log by going to *Reports     → Action log*.   :::
ca	#### Rebuda de notificacions  Ara, amb el lliurament de notificacions configurat, seria maco obtenir-ne una. Per provar-ho, podem augmentar la càrrega del nostre equip d'una manera específica, de manera que el nostre disparador "s'encén" i rebem una notificació de problema.  Obriu la consola al vostre equip i executeu:       cat /dev/urandom | md5sum  Podeu executar un o més d'[aquests processos](http://en.wikipedia.org/wiki/Md5sum).  Ara aneu a *Monitoratge → Dades més recents* i mireu com han augmentat els valors de 'Càrrega de CPU'. Tingueu en compte que perquè el nostre trigger s'activi, el valor de "Càrrega de CPU" ha de ser per damunt de '2' durant 3 minuts. Quan això passa:  - a *Monitoratge → Problemes* hauríeu de veure el disparador amb un estat de "Problema" intermitent - hauríeu de rebre una notificació de problema als vostres correus electrònics.  ::: noteimportant Si les notificacions no funcionen:  - Comproveu de nou que els paràmetres de correu electrònic i d'acció siguin configurats correctament. - Assegureu-vos que l'usuari que heu creat té almenys permís de lectura a l'equip que ha generat l'esdeveniment, tal com s'indica a la passa *[Afegir usuari](login#adding_user)*. L'usuari que forma part del grup d'usuaris "Administradors Zabbix" ha de tindre almenys accés de lectura al grup d'equips "Servidors Linux" al qual pertany el nostre equip. - A més, podeu veure el registre d'accions anant a *Informes → Registre d'accions*. :::

en-us	##### Recent change markers  Inward pointing red triangles around an element indicate a recent trigger status change - one that's happened within the last 30 minutes. These triangles are shown if the *Mark elements on trigger status change* check-box is marked in map [configuration](/manual/config/visualization/maps/map#creating_a_map).
ca	##### Marcadors de canvis recents  Els triangles vermells cap a dins al voltant d'un element indiquen un canvi d'estat d'activació, que s'ha produït durant els darrers 30 minuts. Aquests triangles es mostren si la casella de selecció *Marca els elements al canvi d'estat d'activació* és marcada a la [configuració](/manual/config/visualization/maps/map#creating_a_map) del mapa.

en-us	#### Recent data vs longer periods  For very recent data a **single** line is drawn connecting each received value. The single line is drawn as long as there is at least one horizontal pixel available for one value.  For data that show a longer period **three lines** are drawn - a dark green one shows the average, while a light pink and a light green line shows the maximum and minimum values at that point in time. The space between the highs and the lows is filled with yellow background.  Working time (working days) is displayed in graphs as a white background, while non-working time is displayed in gray (with the *Original blue* default frontend theme).  ![](../../../../../assets/en/manual/config/graph_working_time.png){width="550"}  Working time is always displayed in simple graphs, whereas displaying it in [custom graphs](custom#configuring_custom_graphs) is a user preference.  Working time is not displayed if the graph shows more than 3 months.
ca	#### Dades recents i períodes llargs  Per a dades molt recents, es dibuixa una línia **única** que connecta cada valor rebut. La línia única es dibuixa sempre que hi hagi almenys un píxel horitzontal disponible per a un valor.  Per a les dades que mostren un període més llarg, es dibuixen **tres línies**: una línia verda fosca indica la mitjana, mentre que una línia rosa clara i una línia verda clara indiquen els valors màxim i mínim en aquest moment. L'espai entre els alts i els baixos s'omple de fons groc.  El temps de treball (dies laborables) es mostra en gràfics amb un fons blanc, mentre que el temps no laborable es mostra en gris (amb el tema frontal predeterminat *Blau original*).  ![](../../../../../assets/en/manual/config/graph_working_time.png){width="550"}  El temps de treball sempre es mostra en gràfics senzills, mentre que mostrar-lo a [gràfics personalitzats](custom#configuring_custom_graphs) és una preferència de l'usuari.  El temps de treball no es mostra si el gràfic mostra més de 3 mesos.

en-us	**Record filter**  A functionality for filtering records by the frontend operation that caused these entries has been added. If several log records have been created as a result of a single operation, for example, linking/unlinking a template, such records will have the same *Recordset ID*.
ca	**Filtre d'enregistrament**  S'ha afegit una funció de filtratge de registres per l'operació de la interfície que ha provocat aquestes entrades. Si s'han creat diverses entrades de registre com a resultat d'una única operació, per exemple, enllaçar/desenllaçar un model, aquests registres tindran el mateix *Recordset ID*.

en-us	**Records**  The audit log now contains records about all configuration changes for all Zabbix objects, including changes that occurred as a result of executing an LLD rule, a network discovery action, an autoregistration action, or a script execution. Previously, configuration changes initiated from Zabbix server, for example, as a result of executing a discovery rule, were not recorded. Now such object modifications will be stored as audit records attributed to the user System.
ca	**Registres**  El registre d'auditoria conté registres sobre tots els canvis de configuració per a tots els objectes Zabbix, inclosos els canvis resultants de l'execució de regles LLD, acció de descoberta de xarxa, acció de gravació automàtica o execució d'scripts. Anteriorment, només es registraven els canvis de configuració iniciats des del servidor Zabbix, per exemple, com a resultat de l'execució d'una regla de descoberta. Ara, aquests canvis d'objecte s'emmagatzemaran com a registres d'auditoria assignats al sistema de l'usuari.

en-us	#### Recovery operation details  ![](../../../../../assets/en/manual/config/recovery_operation_details.png)  Three operation types are available for recovery events:  -   **Send message** - send recovery message to specified user; -   **Notify all involved** - send recovery message to all users who were notified on the problem event; -   **<remote command name>** - execute a remote command. Commands are available for execution if previously defined in [global scripts](/manual/web_interface/frontend_sections/administration/scripts#configuring_a_global_script) with *Action operation* selected as its scope.  Parameters for each operation type are described below. All mandatory input fields are marked with a red asterisk. When done, click on *Add* to add operation to the list of *Recovery operations*.  ::: noteclassic Note that if the same recipient is defined in several operation types without specified *Custom message*, duplicate notifications are not sent. :::
ca	#### Detalls de l'operació de recuperació  ![](../../../../../assets/en/manual/config/recovery_operation_details.png)  Hi ha tres tipus d'operacions disponibles per als esdeveniments de recuperació: - **Enviar missatge** - envia un missatge de recuperació a l'usuari especificat - **Notificar a tots els implicats** - envia un missatge de recuperació a tots els usuaris que van rebre una notificació de l'esdeveniment problemàtic - **\<nom de la comanda remota\>** - executa una comanda remota. Les ordres són disponibles per a l'execució si s'han definit prèviament a [scripts globals](/manual/web_interface/frontend_sections/administration/scripts#configuring_a_global_script) amb *Action Operation* triat com a àmbit.  A continuació es descriuen els paràmetres per a cada tipus d'operació. Tots els camps d'entrada obligatoris són marcats amb un asterisc vermell. Quan hagueu acabat, feu clic a *Afegir* per afegir una operació a la llista d'*Operacions de recuperació*.  :::noteclassic Tingueu en compte que si el mateix destinatari es defineix a diversos tipus de transaccions sense especificar un *missatge personalitzat*, no s'enviaran pas notificacions duplicades. :::

en-us	### Red Hat Enterprise Linux  Open the `/etc/yum.repos.d/zabbix.repo` file and set enabled=1 for the `zabbix-unstable` repo.       [zabbix-unstable]     name=Zabbix Official Repository (unstable) - $basearch     baseurl=https://repo.zabbix.com/zabbix/5.5/rhel/8/$basearch/     enabled=1     gpgcheck=1     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
ca	### Red Hat Enterprise Linux  Obriu l'arxiu `/etc/yum.repos.d/zabbix.repo` i definiu enabled=1 per al repositori `zabbix-unstable`.       [zabbix-unstable]     name=Zabbix Official Repository (unstable) - $basearch     baseurl=https://repo.zabbix.com/zabbix/5.5/rhel/8/$basearch/     enabled=1     gpgcheck=1     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

en-us	 ### Redis  |Key|<|<|<| |--|--|------|------| |**Description**|**Return value**|**Parameters**|**Comments**| |redis.config\[connString,<password>,<pattern>\]|<|<|<| |Gets the configuration parameters of a Redis instance that match the pattern.|JSON - if a glob-style pattern was used<br><br>single value - if a pattern did not contain any wildcard character|**connString** - URI or session name.<br>**password** - Redis password.<br>**pattern** - glob-style pattern (*\** by default).| | |redis.info\[connString,<password>,<section>\]|<|<|<| |Gets the output of the INFO command.|JSON - output is serialized as JSON|**connString** - URI or session name.<br>**password** - Redis password.<br>**section** - [section](https://redis.io/commands/info) of information (*default* by default).| | |redis.ping\[connString,<password>\]|<|<|<| |Test if a connection is alive or not.|1 - connection is alive<br><br>0 - connection is broken (if there is any error presented including AUTH and configuration issues)|**connString** - URI or session name.<br>**password** - Redis password.| | |redis.slowlog.count\[connString,<password>\]|<|<|<| |The number of slow log entries since Redis was started.|Integer|**connString** - URI or session name.<br>**password** - Redis password.| |
ca	### Redis  |Clau|<|<|<| |--|--|------|------| |**Descripció**|**Valor retornat**|**Paràmetres**|**Comentaris**| |redis.config\[connString,\<mot de pas\>,\<patró\>\]|<|<|<| |Obté els paràmetres de configuració d'una instància de Redis que coincideixen amb el patró.|JSON - si s'ha emprat un patró d'estil glob<br><br>valor únic - si un patró no conté cap comodí|**connString** - URI o nom de sessió.<br>**mot de pas** - mot de pas de Redis.<br>**patró** - patró d'estil global (*\** per defecte).| | |redis.info\[connString,\<mot de pas\>,\<secció\>\]|<|<|<| |Obté la sortida de l'ordre INFO.|JSON - la sortida es serialitza a JSON|**connString** - URI o nom de sessió.<br>**mot de pas** - mot de pas de Redis.<br>**secció** - informació de [secció](https://redis.io/commands/info) (per defecte és *per defecte*).| | |redis.ping\[connString,\<mot de pas\>\]|<|<|<| |Prova si una connexió és activa o no.|1 - la connexió és activa<br><br>0 - la connexió es talla (en cas d'errors, inclosos problemes d'AUTH i de configuració)|**connString** - URI o nom de sessió.<br >**mot de pas** - mot de pas de Redis.| | |redis.slowlog.count\[connString,\<mot de pas\>\]|<|<|<| |El nombre d'entrades de registre lentes des que va començar Redis.|Enter|**connString** - URI o nom de sessió.<br>**mot de pas** - mot de pas de Redis.| |

en-us	#### Reference  This section contains basic versions of different module elements introduced in the previous sections.  **manifest.json**  ``` {.java} {     "manifest_version": 1.0,     "id": "example_module",     "name": "Example module",     "version": "1.0",     "namespace": "Example",     "author": "John Smith",     "url": "http://module.example.com",     "description": "Short description of the module.",     "actions": {         "example.something.view": {             "class": "SomethingView",             "view": "module.example.something.view"         },         "example.something.create": {             "class": "SomethingCreate",             "layout": null         },         "example.something.delete": {             "class": "SomethingDelete",             "layout": null         },         "example.something.export.xml": {             "class": "data_export/ExportAsXml",             "layout": null         },         "example.something.export.excel": {             "class": "data_export/ExportAsExcel",             "layout": null         }     },     "config": {         "username": "john_smith"     } } ```  **Module.php**  ``` {.php} <?php declare(strict_types = 1);  namespace Modules\Example;  use APP; use CController as CAction;  /**  * Please see Core\CModule class for additional reference.  */ class Module extends \Core\CModule {      /**      * Initialize module.      */     public function init(): void {         // Initialize main menu (CMenu class instance).         APP::Component()->get('menu.main')             ->findOrAdd(_('Reports'))                 ->getSubmenu()                     ->add((new \CMenuItem(_('Example wide report')))                         ->setAction('example.report.wide.php')                     )                     ->add((new \CMenuItem(_('Example narrow report')))                         ->setAction('example.report.narrow.php')                     );     }      /**      * Event handler, triggered before executing the action.      *      * @param CAction $action  Action instance responsible for current request.      */     public function onBeforeAction(CAction $action): void {     }      /**      * Event handler, triggered on application exit.      *      * @param CAction $action  Action instance responsible for current request.      */     public function onTerminate(CAction $action): void {     } } ```  **Action controller**  ``` {.php} <?php declare(strict_types = 1);  namespace Modules\Example\Actions;  use CControllerResponseData; use CControllerResponseFatal; use CController as CAction;  /**  * Example module action.  */ class SomethingView extends CAction {      /**      * Initialize action. Method called by Zabbix core.      *      * @return void      */     public function init(): void {         /**          * Disable SID (Session ID) validation. Session ID validation should only be used for actions which involve data          * modification, such as update or delete actions. In such case Session ID must be presented in the URL, so that          * the URL would expire as soon as the session expired.          */         $this->disableSIDvalidation();     }      /**      * Check and sanitize user input parameters. Method called by Zabbix core. Execution stops if false is returned.      *      * @return bool true on success, false on error.      */     protected function checkInput(): bool {         $fields = [             'name'  => 'required|string',             'email' => 'required|string',             'phone' => 'string'         ];          // Only validated data will further be available using $this->hasInput() and $this->getInput().         $ret = $this->validateInput($fields);          if (!$ret) {             $this->setResponse(new CControllerResponseFatal());         }          return $ret;     }      /**      * Check if the user has permission to execute this action. Method called by Zabbix core.      * Execution stops if false is returned.      *      * @return bool      */     protected function checkPermissions(): bool {         $permit_user_types = [USER_TYPE_ZABBIX_ADMIN, USER_TYPE_SUPER_ADMIN];          return in_array($this->getUserType(), $permit_user_types);     }      /**      * Prepare the response object for the view. Method called by Zabbix core.      *      * @return void      */     protected function doAction(): void {         $contacts = $this->getInput('email');          if ($this->hasInput('phone')) {             $contacts .= ', '.$this->getInput('phone');         }          $data = [             'name' => $this->getInput('name'),             'contacts' => $contacts         ];          $response = new CControllerResponseData($data);          $this->setResponse($response);     } } ```  **Action view**  ``` {.php} <?php declare(strict_types = 1);  /**  * @var CView $this  */  $this->includeJsFile('example.something.view.js.php');  (new CWidget())     ->setTitle(_('Something view'))     ->addItem(new CDiv($data['name']))     ->addItem(new CPartial('module.example.something.reusable', [         'contacts' => $data['contacts']     ])     ->show(); ```
ca	#### Referència  Aquesta secció conté les versions de base dels diferents elements de mòdul presentats a les seccions anteriors.  **manifest.json**  ``` {.java} { "manifest_version": 1.0, "id": "example_module", "name": "Example module", "version": "1.0", "namespace": "Example", "author": "John Smith", "url": "http://module.example.com", "description": "Short description of the module.", "actions": { "example.something.view": { "class": "SomethingView", "view": "module.example.something.view" }, "example.something.create": { "class": "SomethingCreate", "layout": null }, "example.something.delete": { "class": "SomethingDelete", "layout": null }, "example.something.export.xml": { "class": "data_export/ExportAsXml", "layout": null }, "example.something.export.excel": { "class": "data_export/ExportAsExcel", "layout": null } }, "config": { "username": "john_smith" } } ```  **Module.php**  ``` {.php} <?php declare(strict_types = 1);  namespace Modules\Example;  use APP; use CController as CAction;  /**  * Please see Core\CModule class for additional reference.  */ class Module extends \Core\CModule {  /** * Initialize module. */ public function init(): void { // Initialize main menu (CMenu class instance). APP::Component()->get('menu.main') ->findOrAdd(_('Reports')) ->getSubmenu() ->add((new \CMenuItem(_('Example wide report'))) ->setAction('example.report.wide.php') ) ->add((new \CMenuItem(_('Example narrow report'))) ->setAction('example.report.narrow.php') ); }  /** * Event handler, triggered before executing the action. * * @param CAction $actionAction instance responsible for current request. */ public function onBeforeAction(CAction $action): void { }  /** * Event handler, triggered on application exit. * * @param CAction $actionAction instance responsible for current request. */ public function onTerminate(CAction $action): void { } } ```  **Action controller**  ``` {.php} <?php declare(strict_types = 1);  namespace Modules\Example\Actions;  use CControllerResponseData; use CControllerResponseFatal; use CController as CAction;  /**  * Example module action.  */ class SomethingView extends CAction {  /** * Initialize action. Method called by Zabbix core. * * @return void */ public function init(): void { /** * Disable SID (Session ID) validation. Session ID validation should only be used for actions which involve data * modification, such as update or delete actions. In such case Session ID must be presented in the URL, so that * the URL would expire as soon as the session expired. */ $this->disableSIDvalidation(); }  /** * Check and sanitize user input parameters. Method called by Zabbix core. Execution stops if false is returned. * * @return bool true on success, false on error. */ protected function checkInput(): bool { $fields = [ 'name'=> 'required|string', 'email' => 'required|string', 'phone' => 'string' ];  // Only validated data will further be available using $this->hasInput() and $this->getInput(). $ret = $this->validateInput($fields);  if (!$ret) { $this->setResponse(new CControllerResponseFatal()); }  return $ret; }  /** * Check if the user has permission to execute this action. Method called by Zabbix core. * Execution stops if false is returned. * * @return bool */ protected function checkPermissions(): bool { $permit_user_types = [USER_TYPE_ZABBIX_ADMIN, USER_TYPE_SUPER_ADMIN];  return in_array($this->getUserType(), $permit_user_types); }  /** * Prepare the response object for the view. Method called by Zabbix core. * * @return void */ protected function doAction(): void { $contacts = $this->getInput('email');  if ($this->hasInput('phone')) { $contacts .= ', '.$this->getInput('phone'); }  $data = [ 'name' => $this->getInput('name'), 'contacts' => $contacts ];  $response = new CControllerResponseData($data);  $this->setResponse($response); } } ```  **Vista acció**  ``` {.php} <?php declare(strict_types = 1);  /**  * @var CView $this  */  $this->includeJsFile('example.something.view.js.php');  (new CWidget()) ->setTitle(_('Something view')) ->addItem(new CDiv($data['name'])) ->addItem(new CPartial('module.example.something.reusable', [ 'contacts' => $data['contacts'] ]) ->show(); ```

en-us	##### Referencing a network map  Network maps can be referenced by both `sysmapid` and `mapname` GET parameters. For example,      http://zabbix/zabbix/zabbix.php?action=map.view&mapname=Local%20network  will open the map with that name (Local network).  If both `sysmapid` (map ID) and `mapname` (map name) are specified, `mapname` has higher priority.
ca	##### Referenciar un mapa de xarxa  Els adaptadors de xarxa es poden fer referència als paràmetres GET `sysmapid` i `mapname`. Per exemple,       http://zabbix/zabbix/zabbix.php?action=map.view&mapname=Local%20network  obrirà el mapa amb aquest nom (Xarxa local).  Si s'especifiquen `sysmapid' (ID del mapa) i `mapname' (nom del mapa), `mapname' té una prioritat més alta.

en-us	#### regexp  Changes:\ [ZBXNEXT-6717](https://support.zabbix.com/browse/ZBXNEXT-6717) added `regexp.get`, `regexp.create`, `regexp.update` and `regexp.delete` API.\
ca	#### regexp  Canvis:\ [ZBXNEXT-6717](https://support.zabbix.com/browse/ZBXNEXT-6717) s'han afegit les API `regexp.get`, `regexp.create`, `regexp.update` i `regexp.delete`.\

en-us	# regexp.create
ca	# regexp.create

en-us	# regexp.delete
ca	# regexp.delete

en-us	# regexp.get
ca	# regexp.get

en-us	# regexp.update
ca	# regexp.update

en-us	 ###### Register request  A request sent by the agent during the agent startup phase to obtain provided metrics to register a plugin.  |   |   | |---|---| |direction|agent → plugin| |response|yes|  Parameters specific to register requests:  |Name|Type|Comments| |---------|--------|----------| |version|string|The protocol version <major>.<minor>|  *Example:*      {"id":1,"type":2,"version":"1.0"}
ca	###### Petició d'enregistrament  Petició enviada per l'agent durant la fase d'inici de l'agent per obtindre les mètriques proveïdes per enregistrar un plugin.  |   |   | |---|---| |direction|agent → plugin| |response|yes|  Paràmetres específics de les peticions d'enregistrament:  |Nom|Tipus|Comentaris| |---------|--------|----------| |version|string|La versió del protocol <major>.<minor>|  *Exemple:*      {"id":1,"type":2,"version":"1.0"}

en-us	 ###### Register response  Plugin's response to the register request.  |   |   | |---|---| |direction|plugin → agent| |response|n/a|  Parameters specific to register responses:  |Name|Type|Comments| |---------|--------|----------| |name|string|The plugin name.| |metrics|array of strings (optional)|The metrics with descriptions as used in the plugin. Returns RegisterMetrics(). Absent if error is returned.| |interfaces|uint32 (optional)|The bit mask of plugin's supported interfaces. Absent if error is returned.| |error|string (optional)|An error message returned if a plugin cannot be started. Absent, if metrics are returned.|  *Examples:*      {"id":2,"type":3,"metrics":["external.test", "External exporter Test."], "interfaces": 4}  or      {"id":2,"type":3,"error":"error message"}
ca	###### Resposta d'enregistrament  resposta del plug-in a la petició d'enregistrament.  |   |   | |---|---| |direction|plugin → agent| |réponse|n/a|  Paràmetres específics de les respostes d'enregistraments:  |Nom|Tipus|Comentaris| |---------|--------|----------| |name|string|El nom del plug-in.| |metrics|array of strings (optional)|Les mètriques amb les descripcions com s'empren al plug-in. Retorna RegisterMetrics(). Absent si es retorna un error.| |interfaces|uint32 (optional)|La màscara binària de les interfícies admeses per el plug-in. Absent si es retorna un error.| |error|string (optional)|Retorna un missatge d'error si no es pot engegar un plug-in. Absent si les mètriques són retornades.|  *Exemples:*      {"id":2,"type":3,"metrics":["external.test", "Test de l'exportateur externe."], "interfaces": 4}  ou      {"id":2,"type":3,"error":"message d'erreur"}

en-us	#### Regular expression limitations in Zabbix agent 2  Zabbix agent 2 does not support lookaheads and lookbehinds in regular expressions due to the standard Go regexp library limitations.
ca	#### Limitacions d'expressió regular a l'agent Zabbix 2  L'agent Zabbix 2 no admet els lookaheads i lookbacks a les expressions regulars degut a les limitacions estàndard de la biblioteca d'expressions regulars de Go.

en-us	# > Regular expression object  The following objects are directly related to the `regexp` API.
ca	# > Objecte d'expressió regular  Els següents objectes són relacionats amb l'API `regexp`.

en-us	#### Regular expressions  Manage global regular expressions.  [Regular expression API](/manual/api/reference/regexp)
ca	#### Expressions regulars  Gestionar les expressions regulars globals.  [API Expressions regulars](/manual/api/reference/regexp)

en-us	#### - Regular expressions  This section allows creating custom regular expressions that can be used in several places in the frontend. See [Regular expressions](/manual/regular_expressions) section for details.
ca	#### - Expressions regulars  Aquesta secció us permet crear expressions regulars personalitzades que es poden emprar a diversos llocs de la interfície. Veieu [Expressions regulars](/manual/regular_expressions) per a més detalls.

en-us	#### Regular expression support by location  |Location|<|Regular expression|Global regular expression|Multiline matching|Comments| |-|----------|---------|---------|---------|--------------------| |**[Agent items](/manual/config/items/itemtypes/zabbix_agent)**|<|<|<|<|<| |<|eventlog\[\]|Yes|Yes|Yes|`regexp`, `severity`, `source`, `eventid` parameters| |^|log\[\]|^|^|^|`regexp` parameter| |^|log.count\[\]|^|^|^|^| |^|logrt\[\]|^|Yes/No|^|`regexp` parameter supports both, `file_regexp` parameter supports non-global expressions only| |^|logrt.count\[\]|^|^|^|^ |^|proc.cpu.util\[\]|^|No|No|`cmdline` parameter| |^|proc.mem\[\]|^|^|^|^| |^|proc.num\[\]|^|^|^|^| |^|sensor\[\]|^|^|^|`device` and `sensor` parameters on Linux 2.4| |^|system.hw.macaddr\[\]|^|^|^|`interface` parameter| |^|system.sw.packages\[\]|^|^|^|`package` parameter| |^|vfs.dir.count\[\]|^|^|^|`regex_incl`, `regex_excl`, `regex_excl_dir` parameters| |^|vfs.dir.get\[\]|^|^|^|`regex_incl`, `regex_excl`, `regex_excl_dir` parameters| |^|vfs.dir.size\[\]|^|^|^|`regex_incl`, `regex_excl`, `regex_excl_dir` parameters| |^|vfs.file.regexp\[\]|^|^|Yes|`regexp` parameter| |^|vfs.file.regmatch\[\]|^|^|^|^| |^|web.page.regexp\[\]|^|^|^|^| |**[SNMP traps](/manual/config/items/itemtypes/snmptrap)**|<|<|<|<|<| |<|snmptrap\[\]|Yes|Yes|No|`regexp` parameter| |**[Item value preprocessing](/manual/config/items/item#item_value_preprocessing)**|<|Yes|No|No|`pattern` parameter| |**[Functions for triggers/calculated items](/manual/appendix/functions)**|<|<|<|<|<| |<|count()|Yes|Yes|Yes|`pattern` parameter if `operator` parameter is *regexp* or *iregexp*| |<|countunique()|Yes|Yes|^|^| |<|find()|Yes|Yes|^|^| |^|logeventid()|Yes|Yes|No|`pattern` parameter| |^|logsource()|^|^|^|^| |**[Low-level discovery](/manual/discovery/low_level_discovery#discovery_rule_filter)**|<|<|<|<|<| |<|Filters|Yes|Yes|No|*Regular expression* field| |^|Overrides|Yes|No|^|In *matches*, *does not match* options for *Operation* conditions| |**[Action conditions](/manual/config/notifications/action/conditions)**|<|Yes|No|No|In *matches*, *does not match* options for *Host name* and *Host metadata* autoregistration conditions| |**[Web monitoring](/manual/web_monitoring#configuring_a_web_scenario)**|<|Yes|No|Yes|*Variables* with a **regex:** prefix<br>*Required string* field| |**[User macro context](/manual/config/macros/user_macros#user_macro_context)**|<|Yes|No|No|In macro context with a **regex:** prefix| |**[Macro functions](/manual/config/macros/macro_functions)**|<|<|<|<|<| |<|regsub()|Yes|No|No|`pattern` parameter| |^|iregsub()|^|^|^|^| |**[Icon mapping](/manual/web_interface/frontend_sections/administration/general#icon_mapping)**|<|Yes|Yes|No|*Expression* field| |**[Value mapping](/manual/config/items/mapping#configuration)**|<|Yes|No|No|*Value* field if mapping type is `regexp`|
ca	#### Suport de les expressions regulars per ubicació  |Ubicació|<|Expressió regular|Expressió regular global|Concordança multilínia|Comentaris| |-|----------|----------|----------|----------|------- ---------------| |**[Elements de l'agent](/manual/config/items/itemtypes/zabbix_agent)**|<|<|<|<|<| |<|eventlog\[\]|Sí|Sí|Sí|Paràmetres `regexp`, `severity`, `source`, `eventid`| |^|log\[\]|^|^|^|paràmetre `regexp`| |^|log.count\[\]|^|^|^|^| |^|logrt\[\]|^|Sí/No|^|El paràmetre `regexp` admet totes dues, el paràmetre `file_regexp` només admet expressions no globals| |^|logrt.count\[\]|^|^|^|^ |^|proc.cpu.util\[\]|^|No|No|paràmetre `cmdline`| |^|proc.mem\[\]|^|^|^|^| |^|proc.num\[\]|^|^|^|^| |^|sensor\[\]|^|^|^|paràmetres `dispositiu` i `sensor` a Linux 2.4| |^|system.hw.macaddr\[\]|^|^|^|paràmetre `interface`| |^|system.sw.packages\[\]|^|^|^|paràmetre `package`| |^|vfs.dir.count\[\]|^|^|^|Paràmetres `regex_incl`, `regex_excl`, `regex_excl_dir`| |^|vfs.dir.get\[\]|^|^|^|Paràmetres `regex_incl`, `regex_excl`, `regex_excl_dir`| |^|vfs.dir.size\[\]|^|^|^|Paràmetres `regex_incl`, `regex_excl`, `regex_excl_dir`| |^|vfs.file.regexp\[\]|^|^|Sí|paràmetre `regexp`| |^|vfs.file.regmatch\[\]|^|^|^|^| |^|web.page.regexp\[\]|^|^|^|^| |**[Traps SNMP](/manual/config/items/itemtypes/snmptrap)**|<|<|<|<|<| |<|snmptrap\[\]|Sí|Sí|No|paràmetre `regexp`| |**[Preprocessament del valor de l'element](/manual/config/items/item#item_value_preprocessing)**|<|Sí|No|No|paràmetre `pattern`| |**[Funcions per a triggers/elements calculats](/manual/apèndix/funcions)**|<|<|<|<|<| |<|count()|Yes|Yes|Yes|paràmetre `pattern` si el paràmetre `operator` és *regexp* o *iregexp*| |<|countunique()|sí|sí|^|^| |<|find()|Sí|Sí|^|^| |^|logeventid()|Sí|Sí|No|paràmetre `patró`| |^|logsource()|^|^|^|^| |**[Descoberta de baix nivell](/manual/discovery/low_level_discovery#discovery_rule_filter)**|<|<|<|<|<| |<|Filters|Sí|Sí|No|Camp *Expressió regular*| |^|Overrides|Sí|No|^|A les opcions *coincideix*, *no coincideix* per a les condicions de *operació*| |**[Condicions d'acció](/manual/config/notifications/action/conditions)**|<|Sí|No|No|A les opcions *coincideix*, *no coincideix* per a *Nom d'equip * i *Metadades de l'equip* de condicions d'autoinscripció| |**[Monitoratge web](/manual/web_monitoring#configuring_a_web_scenario)**|<|Sí|No|Sí|*Variables* amb un prefix **regex:**<br>Camp *String required*| |**[Context de macro d'usuari](/manual/config/macros/user_macros#user_macro_context)**|<|Sí|No|No|En un context de macro amb un prefix **regex:**| |**[Funcions de macro](/manual/config/macros/macro_functions)**|<|<|<|<|<| |<|regsub()|Sí|No|No|paràmetre `pattern`| |^|iregsub()|^|^|^|^| |**[Mapatge d'icones](/manual/web_interface/frontend_sections/administration/general#icon_mapping)**|<|Sí|Sí|No|Camp *Expressió*| |**[Mapatge de valors](/manual/config/items/mapping#configuration)**|<|Sí|No|No|Camp *Valor* si el tipus de mapatge és `regexp`|

en-us	#### Regular expressions  You may manually enter a regular expression in supported places. Note that the expression may not start with @ because that symbol is used in Zabbix for referencing global regular expressions.  ::: notewarning It's possible to run out of stack when using regular expressions. See the [pcrestack man page](http://pcre.org/original/doc/html/pcrestack.html) for more information. :::  Note that in multiline matching, the `^` and `$` anchors match at the beginning/end of each line respectively, instead of the beginning/end of the entire string.  See also examples for [correct escaping](/manual/appendix/escaping) in various contexts.
ca	#### Expressions regulars  Podeu introduir manualment una expressió regular a les ubicacions admeses. Tingueu en compte que l'expressió no pot començar amb @ perquè aquest símbol s'empra a Zabbix per fer referència a expressions regulars globals.  ::: notewarning És possible sortir de la pila quan s'empren expressions regulars. Consulteu la [pàgina man de pcrestack](http://pcre.org/original/doc/html/pcrestack.html) per obtindre més informació. :::  Tingueu en compte que a la concordança multilínia, les àncores `^` i `$` coincideixen amb l'inici/final de cada línia, respectivament, en lloc de l'inici/final de tota la cadena.  Veieu exemples d'[escapada correcta](/manual/appendix/escaping) a diferents contexts.

en-us	### Regular expression  The global regular expression object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |regexpid|string|*(readonly)* ID of the regular expression.| |**name**<br>(required)|string|Name of the regular expression.| |test\_string|string|Test string.|  Note that for some methods (update, delete) the required/optional parameter combination is different.
ca	### Expressió regultar  L'objecte d'expressió regular global té les propietats següents.  |Propietat|[Tipus](/manual/api/reference_commentary#data_types)|Descripció| |--|--|------| |regexpid|string|*(només lectura)* ID de l'expressió regular.| |**name**<br>(obligatori)|string|Nom de l'expressió regular.| |test\_string|string|cadena de caràcters de prova.|  Tingueu en compte que per a alguns mètodes (actualitzar, esborrar) la combinació de paràmetres obligatoris/opcionals és diferent.

en-us	# Regular expression  This class is designed to work with global regular expressions.  Object references:\  -   [Regular expression](/manual/api/reference/regexp/object)  Available methods:\  -   [regexp.create](/manual/api/reference/regexp/create) - creating new     regular expressions -   [regexp.delete](/manual/api/reference/regexp/delete) - deleting     regular expressions -   [regexp.get](/manual/api/reference/regexp/get) - retrieving regular     expressions -   [regexp.update](/manual/api/reference/regexp/update) - updating     regular expressions
ca	# Expressió regular  Aquesta classe és dissenyada per treballar amb expressions regulars globals.  Referències d'objectes:\  -   [Expressió regular](/manual/api/reference/regexp/object)  Mètodes disponibles:\  -   [regexp.create](/manual/api/reference/regexp/create) - crear noves expressions regulars -   [regexp.delete](/manual/api/reference/regexp/delete) - esborrar expressions regulars -   [regexp.get](/manual/api/reference/regexp/get) - recuperar expressions regulars -   [regexp.update](/manual/api/reference/regexp/update) - actualitzar expressions regulars

en-us	##### Remote command limit  Remote command limit after resolving all macros depends on the type of database and character set (non-ASCII characters require more than one byte to be stored):  |Database|Limit in characters|Limit in bytes| |---|---|---| |MySQL|65535|65535| |Oracle Database|2048|4000| |PostgreSQL|65535|not limited| |SQLite (only Zabbix proxy)|65535|not limited|  Remote command execution output (return value) is limited to 16MB (including trailing whitespace that is truncated). [IPMI remote command](#ipmi-remote-commands) limit is based on the installed IPMI library. Note that [database limits](/manual/config/items/item#text_data_limits) apply to all remote commands.
ca	##### Límit de les comandes remotes  El límit de comandes remotes després de resoldre totes les macros depèn del tipus de base de dades i del conjunt de caràcters (els caràcters no ASCII requereixen més d'un octet per emmagatzemar-los):  |Base de dades|Límit de caràcters|Límit en octets| |---|---|---| |MySQL|65535|65535| |Base de dades Oracle|2048|4000| |PostgreSQL|65535|il·limitat| |SQLite (només proxy Zabbix)|65535|il·limitat|  La sortida de l'execució d'ordres remots (valor de retorn) és limitada a 16 Mo (incloent els espais en blanc al final truncats). El límit de les [comandes remotes IPMI](#ipmi-remote-commands) es basa en la biblioteca IPMI instal·lada. També s'hi apliquen els [límits de la base de dades](/manual/config/items/item#text_data_limits).

en-us	#### Remote commands with multiple interfaces  If the target system has multiple interfaces of the selected type (Zabbix agent or IPMI), remote commands will be executed on the default interface.  It is possible to execute remote commands via SSH and Telnet using another interface than the Zabbix agent one. The available interface to use is selected in the following order:   * Zabbix agent default interface  * SNMP default interface  * JMX default interface  * IPMI default interface
ca	#### Comandes remotes amb diverses interfícies  Si el sistema de destinació té diverses interfícies del tipus seleccionat (agent Zabbix o IPMI), les ordres remotes s'executaran a la interfície predeterminada.  És possible executar ordres de forma remota mitjançant SSH i Telnet mitjançant una altra interfície que l'agent Zabbix. La interfície disponible per emprar es tria en l'ordre següent:  - Interfície predeterminada de l'agent Zabbix - Interfície predeterminada SNMP - Interfície predeterminada JMX - Interfície per defecte IPMI

en-us	#### Remove token expiry  Remove expiry date from token.  Request:  ```json {     "jsonrpc": "2.0",     "method": "token.update",     "params": {         "tokenid": "2",         "expires_at": "0"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "tokenids": [             "2"         ]     },     "id": 1 } ```
ca	#### Esborrar la data de caducitat d'un token  Esborrar la data de caducitat d'un token.  Petició:  ```json {     "jsonrpc": "2.0",     "method": "token.update",     "params": {         "tokenid": "2",         "expires_at": "0"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "tokenids": [             "2"         ]     },     "id": 1 } ```

en-us	#### Removing hosts from host groups  Remove two hosts from the given host groups.  Request:  ```json {     "jsonrpc": "2.0",     "method": "hostgroup.massremove",     "params": {         "groupids": [             "5",             "6"         ],         "hostids": [             "30050",             "30001"         ]     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "groupids": [             "5",             "6"         ]     },     "id": 1 } ```
ca	#### Treure equips dels grups  Treu dos equips dels seus grups d'equips.  Petició:  ```json {     "jsonrpc": "2.0",     "method": "hostgroup.massremove",     "params": {         "groupids": [             "5",             "6"         ],         "hostids": [             "30050",             "30001"         ]     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "groupids": [             "5",             "6"         ]     },     "id": 1 } ```

en-us	#### Removing interfaces  Remove the "127.0.0.1" SNMP interface from two hosts.  Request:  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.massremove",     "params": {         "hostids": [             "30050",             "30052"         ],         "interfaces": {             "dns": "",             "ip": "127.0.0.1",             "port": "161"         }     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "interfaceids": [             "30069",             "30070"         ]     },     "id": 1 } ```
ca	#### Esborrar interfícies  Esborrar la interfície SNMP "127.0.0.1" de dos equips.  Petició:  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.massremove",     "params": {         "hostids": [             "30050",             "30052"         ],         "interfaces": {             "dns": "",             "ip": "127.0.0.1",             "port": "161"         }     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "interfaceids": [             "30069",             "30070"         ]     },     "id": 1 } ```

en-us	#### Removing templates from a group  Remove two templates from group "2".  Request:  ```json {     "jsonrpc": "2.0",     "method": "template.massremove",     "params": {         "templateids": [             "10085",             "10086"         ],         "groupids": "2"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "templateids": [             "10085",             "10086"         ]     },     "id": 1 } ```
ca	#### Esborrar plantilles d'un grup  Esborrar dues plantilles del grup "2".  Petició:  ```json {     "jsonrpc": "2.0",     "method": "template.massremove",     "params": {         "templateids": [             "10085",             "10086"         ],         "groupids": "2"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "templateids": [             "10085",             "10086"         ]     },     "id": 1 } ```

en-us	#### Removing web server test page  It is recommended to remove the web server test page to avoid information exposure. By default, web server webroot contains a test page called index.html (Apache2 on Ubuntu is used as an example):  ![](../../../../assets/en/manual/installation/requirements/test_page.png)  The test page should be removed or should be made unavailable as part of the web server hardening process.
ca	#### Esborrar la pàgina de prova del servidor web  Es recomana esborrar la pàgina de prova del servidor web per evitar l'exposició de la informació. Per defecte, l'arrel del servidor web conté una pàgina de prova anomenada index.html (Apache2 a Ubuntu s'empra com a exemple):  ![](../../../../assets/en/manual/installation/requirements/test_page.png)  La pàgina de prova s'hauria d'esborrar o deixar que no sigui disponible com a part del procés de securització del servidor web.

en-us	#### Rename icon map  Rename an icon map to "OS icons".  Request:  ```json {     "jsonrpc": "2.0",     "method": "iconmap.update",     "params": {         "iconmapid": "1",         "name": "OS icons"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "iconmapids": [             "1"         ]     },     "id": 1 } ```
ca	#### Reanomenar el mapa d'icones  Reanomenar un mapa d'icones com a "Icones OS".  Petició:  ```json {     "jsonrpc": "2.0",     "method": "iconmap.update",     "params": {         "iconmapid": "1",         "name": "Icones OS"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "iconmapids": [             "1"         ]     },     "id": 1 } ```

en-us	#### Rename image  Rename image to "Cloud icon".  Request:  ```json {     "jsonrpc": "2.0",     "method": "image.update",     "params": {         "imageid": "2",         "name": "Cloud icon"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "imageids": [             "2"         ]     },     "id": 1 } ```
ca	#### Reanomenar imatge  Reanomena la imatge a "Icona de núvol".  Petició:  ```json {     "jsonrpc": "2.0",     "method": "image.update",     "params": {         "imageid": "2",         "name": "Icona de núvol"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "imageids": [             "2"         ]     },     "id": 1 } ```

en-us	#### Renaming a dashboard  Rename a dashboard to "SQL server status".  Request:  ```json {     "jsonrpc": "2.0",     "method": "dashboard.update",     "params": {         "dashboardid": "2",         "name": "SQL server status"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "dashboardids": [             "2"         ]     },     "id": 1 } ```
ca	#### Reanomenant un tauler  Reanomenar el tauler com a "Estat del servidor SQL".  Petició:  ```json {     "jsonrpc": "2.0",     "method": "dashboard.update",     "params": {         "dashboardid": "2",         "name": "SQL server status"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "dashboardids": [             "2"         ]     },     "id": 1 } ```

en-us	#### Renaming a host group  Rename a host group to "Linux hosts."  Request:  ```json {     "jsonrpc": "2.0",     "method": "hostgroup.update",     "params": {         "groupid": "7",         "name": "Linux hosts"     },     "auth": "700ca65537074ec963db7efabda78259",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "groupids": [             "7"         ]     },     "id": 1 } ```
ca	#### reanomenar un grup d'equips  Reanomena un grup d'equips cap a "Equips Linux".  Petició:  ```json {     "jsonrpc": "2.0",     "method": "hostgroup.update",     "params": {         "groupid": "7",         "name": "Linux hosts"     },     "auth": "700ca65537074ec963db7efabda78259",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "groupids": [             "7"         ]     },     "id": 1 } ```

en-us	#### Renaming a template dashboard  Rename a template dashboard to "Performance graphs".  Request:  ```json {     "jsonrpc": "2.0",     "method": "templatedashboard.update",     "params": {         "dashboardid": "23",         "name": "Performance graphs"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "dashboardids": [             "23"         ]     },     "id": 1 } ```
ca	#### Reanomenar una plantilla de tauler  Reanomenar una plantilla de tauler a "Performance graphs".  Petició:  ```json {     "jsonrpc": "2.0",     "method": "templatedashboard.update",     "params": {         "dashboardid": "23",         "name": "Performance graphs"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "dashboardids": [             "23"         ]     },     "id": 1 } ```

en-us	#### Renaming a template  Rename the template to "Template OS Linux".  Request:  ```json {     "jsonrpc": "2.0",     "method": "template.update",     "params": {         "templateid": "10086",         "name": "Template OS Linux"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "templateids": [             "10086"         ]     },     "id": 1 } ```
ca	#### Reanomenar una plantilla  Reanomenar la plantilla a "Plantilla OS Linux".  Request:  ```json {     "jsonrpc": "2.0",     "method": "template.update",     "params": {         "templateid": "10086",         "name": "Plantilla OS Linux"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "templateids": [             "10086"         ]     },     "id": 1 } ```

en-us	#### Renaming a user  Rename a user to John Doe.  Request:  ```json {     "jsonrpc": "2.0",     "method": "user.update",     "params": {         "userid": "1",         "name": "John",         "surname": "Doe"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "userids": [             "1"         ]     },     "id": 1 } ```
ca	#### Reanomenar un usuari  Reanomena un usuari a "Josep Perarnau".  Petició:  ```json {     "jsonrpc": "2.0",     "method": "user.update",     "params": {         "userid": "1",         "name": "Josep",         "surname": "Perarnau"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "userids": [             "1"         ]     },     "id": 1 } ```

en-us	#### Replace conditions, but keep the evaluation method  Request:  ```json {     "jsonrpc": "2.0",     "method": "correlation.update",     "params": {         "correlationid": "1",         "filter": {             "conditions": [                 {                     "type": 3,                     "oldtag": "error",                     "newtag": "ok"                 }             ]         }     },     "auth": "343baad4f88b4106b9b5961e77437688",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "correlationids": [             "1"         ]     },     "id": 1 } ```
ca	#### Reemplaçar condicions, mantinguent el mètode d'avaluació  Petició:  ```json {     "jsonrpc": "2.0",     "method": "correlation.update",     "params": {         "correlationid": "1",         "filter": {             "conditions": [                 {                     "type": 3,                     "oldtag": "error",                     "newtag": "ok"                 }             ]         }     },     "auth": "343baad4f88b4106b9b5961e77437688",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "correlationids": [             "1"         ]     },     "id": 1 } ```

en-us	#### Replacing host groups  Unlink and clear template "10091" from the given templates.  Request:  ```json {     "jsonrpc": "2.0",     "method": "template.massupdate",     "params": {         "templates": [             {                 "templateid": "10085"             },             {                 "templateid": "10086"             }         ],         "templates_clear": [             {                 "templateid": "10091"             }         ]     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "templateids": [             "10085",             "10086"         ]     },     "id": 1 } ```
ca	#### Reemplaçar grups d'equips  Desenllaçar i netejar la plantilla "10091" de les plantilles donades.  Petició:  ```json {     "jsonrpc": "2.0",     "method": "template.massupdate",     "params": {         "templates": [             {                 "templateid": "10085"             },             {                 "templateid": "10086"             }         ],         "templates_clear": [             {                 "templateid": "10091"             }         ]     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "templateids": [             "10085",             "10086"         ]     },     "id": 1 } ```

en-us	#### Replacing host interfaces  Replace all host interfaces with a single agent interface.  Request:  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.replacehostinterfaces",     "params": {         "hostid": "30052",         "interfaces": {             "dns": "",             "ip": "127.0.0.1",             "main": 1,             "port": "10050",             "type": 1,             "useip": 1         }     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "interfaceids": [             "30081"         ]     },     "id": 1 } ```
ca	#### Reemplaçar interfícies d'equips  Reemplaçar totes les interfícies d'un equip per una sola interfície d'agent.  Petició:  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.replacehostinterfaces",     "params": {         "hostid": "30052",         "interfaces": {             "dns": "",             "ip": "127.0.0.1",             "main": 1,             "port": "10050",             "type": 1,             "useip": 1         }     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "interfaceids": [             "30081"         ]     },     "id": 1 } ```

en-us	#### Replacing hosts and templates in a host group  Replace all hosts in a host group to ones mentioned host and unlink all templates from host group.  Request:  ```json {     "jsonrpc": "2.0",     "method": "hostgroup.massupdate",     "params": {         "groups": [             {                 "groupid": "6"             }         ],         "hosts": [             {                 "hostid": "30050"             }         ],         "templates": []     },     "auth": "f223adf833b2bf2ff38574a67bba6372",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "groupids": [             "6",         ]     },     "id": 1 } ```
ca	#### Reemplaár equips i plantilles dins un grup d'equips  Reemplaça tots els equips d'un grup per els triats i desenllaça totes les plantilles d'un grup d'equips.  Petició:  ```json {     "jsonrpc": "2.0",     "method": "hostgroup.massupdate",     "params": {         "groups": [             {                 "groupid": "6"             }         ],         "hosts": [             {                 "hostid": "30050"             }         ],         "templates": []     },     "auth": "f223adf833b2bf2ff38574a67bba6372",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "groupids": [             "6",         ]     },     "id": 1 } ```

en-us	#### Replacing trigger prototype tags  Replace tags for one trigger prototype.  Request:  ```json {     "jsonrpc": "2.0",     "method": "triggerprototype.update",     "params": {         "triggerid": "17373",         "tags": [             {                 "tag": "volume",                 "value": "{#FSNAME}"             },             {                 "tag": "type",                 "value": "{#FSTYPE}"             }         ]     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "17373"         ]     },     "id": 1 } ```
ca	#### Reemplaçar les etiquetes de prototip de trigger  Reemplaçar les etiquetes d'un prototip de trigger.  Petició:  ```json {     "jsonrpc": "2.0",     "method": "triggerprototype.update",     "params": {         "triggerid": "17373",         "tags": [             {                 "tag": "volume",                 "value": "{#FSNAME}"             },             {                 "tag": "type",                 "value": "{#FSTYPE}"             }         ]     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "17373"         ]     },     "id": 1 } ```

en-us	#### Replacing triggers tags  Replace tags for trigger.  Request:  ```json {     "jsonrpc": "2.0",     "method": "trigger.update",     "params": {         "triggerid": "13938",         "tags": [             {                 "tag": "service",                 "value": "{{ITEM.VALUE}.regsub(\"Service (.*) has stopped\", \"\\1\")}"             },             {                 "tag": "error",                 "value": ""             }         ]     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "13938"         ]     },     "id": 1 } ```
ca	#### Reemplaçar etiquetes de triggers  Reemplaçar les etiquetes d'un trigger.  Petició:  ```json {     "jsonrpc": "2.0",     "method": "trigger.update",     "params": {         "triggerid": "13938",         "tags": [             {                 "tag": "service",                 "value": "{{ITEM.VALUE}.regsub(\"Service (.*) has stopped\", \"\\1\")}"             },             {                 "tag": "error",                 "value": ""             }         ]     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "13938"         ]     },     "id": 1 } ```

en-us	# report.create
ca	# report.create

en-us	# report.delete
ca	# report.delete

en-us	 ### Report details  If you click on the service name in the report, you can access another report  that displays a more detailed view.  ![](../../../../../assets/en/manual/web_interface/sla_report_details.png){width="600"}  Note that [negative problem duration](/manual/web_interface/frontend_sections/monitoring/problems#negative-problem-duration) does not affect SLA calculation or reporting.
ca	### Detalls de l'informe  Si feu clic al nom del servei de l'informe, podreu accedir a un altre informe amb una vista més detallada.  ![](../../../../../assets/en/manual/web_interface/sla_report_details.png){width="600"}  Tingueu en compte que la [durada del problema negatiu](/manual/web_interface/frontend_sections/monitoring/problems#negative-problem-duration) no afecta al càlcul ni als informes d'SLA.

en-us	# report.get
ca	# report.get

en-us	 ### Reporting file systems with zero inodes  `vfs.fs.get` agent items are now capable of reporting file systems with the inode count equal to zero, which can be the case for file systems with dynamic inodes (e.g. btrfs).  Additionally `vfs.fs.inode` items now will not become unsupported in such cases with mode set to 'pfree' or 'pused'. Instead the pfree/pused values for such file systems will be reported as "100" and "0" respectively.
ca	### Informeu de sistemes de fitxers sense inode    Els elements de l'agent `vfs.fs.get` ara poden informar sistemes de fitxers amb un recompte d'inodes de zero, que pot ser el cas dels sistemes de fitxers amb inodes dinàmics (per exemple, btrfs).  A més, els elements `vfs.fs.inode` ja no seran compatibles en aquests casos amb el mode establert a 'pfree' o 'pused'. En canvi, els valors pfree/pused per a aquests sistemes de fitxers es passaran com a "100" i "0" respectivament.

en-us	# > Report object  The following objects are directly related to the `report` API.
ca	# > Objecte informe  Els següents objectes són relacionats amb l'API `report`.

en-us	 ### Report  The filter allows to select the report based on the SLA name as well as the  service name. It is also possible to limit the displayed period.  ![](../../../../../assets/en/manual/web_interface/sla_report.png){width="600"}  Each column (period) displays the SLI for that period. SLIs that are in breach of the set  SLO are highlighted in red.  20 periods are displayed in the report. A maximum of 100 periods can be displayed, if  both the *From* date and *To* date are specified. 
ca	### Informe  El filtre us permet triar l'informe en funció del nom del SLA així com del nom del servei. També és possible limitar el període mostrat.  ![](../../../../../assets/en/manual/web_interface/sla_report.png){width="600"}  Cada columna (període) mostra l'SLI d'aquest període. Els SLI que no compleixen l'SLO definit es destaquen en vermell.  A l'informe es veuen 20 períodes. Es poden veure un màxim de 100 períodes, si s'especifica la data *Des de* i la data *Fins a*.

en-us	### Report  The report object has the following properties:  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |reportid|string|*(readonly)* ID of the report.| |**userid**<br>(required)|string|ID of the user who created the report.| |**name**<br>(required)|string|Unique name of the report.| |**dashboardid**<br>(required)|string|ID of the dashboard that the report is based on.| |period|integer|Period for which the report will be prepared.<br><br>Possible values:<br>0 - *(default)* previous day;<br>1 - previous week;<br>2 - previous month;<br>3 - previous year.| |cycle|integer|Period repeating schedule.<br><br>Possible values:<br>0 - *(default)* daily;<br>1 - weekly;<br>2 - monthly;<br>3 - yearly.| |start\_time|integer|Time of the day, in seconds, when the report will be prepared for sending.<br><br>Default: 0.| |weekdays|integer|Days of the week for sending the report.<br><br>Required for weekly reports only.<br><br>Days of the week are stored in binary form with each bit representing the corresponding week day. For example, 12 equals 1100 in binary and means that reports will be sent every Wednesday and Thursday.<br><br>Default: 0.| |active\_since|string|On which date to start.<br><br>Possible values:<br>empty string - *(default)* not specified (stored as 0);<br>specific date in YYYY-MM-DD format (stored as a timestamp of the beginning of a day (00:00:00)).| |active\_till|string|On which date to end.<br><br>Possible values:<br>empty string - *(default)* not specified (stored as 0);<br>specific date in YYYY-MM-DD format (stored as a timestamp of the end of a day (23:59:59)).| |subject|string|Report message subject.| |message|string|Report message text.| |status|integer|Whether the report is enabled or disabled.<br><br>Possible values:<br>0 - Disabled;<br>1 - *(default)* Enabled.| |description|text|Description of the report.| |state|integer|*(readonly)* State of the report.<br><br>Possible values:<br>0 - *(default)* report was not yet processed;<br>1 - report was generated and successfully sent to all recipients;<br>2 - report generating failed; "info" contains error information;<br>3 - report was generated, but sending to some (or all) recipients failed; "info" contains error information.| |lastsent|timestamp|*(readonly)* Unix timestamp of the last successfully sent report.| |info|string|*(readonly)* Error description or additional information.|  Note that for some methods (update, delete) the required/optional parameter combination is different.
ca	### Informe  L'objecte té les propietats següents:  |Propietat|[Tipus](/manual/api/reference_commentary#data_types)|Descripció| |--|--|------| |reportid|string|*(només lectura)* ID de l'informe.| |**userid**<br>(obligatori)|string|ID de l'usuari que ha creat l'informe.| |**name**<br>(obligatori)|string|Nom únic de l'informe.| |**dashboardid**<br>(obligatori)|string|ID del tauler de control en què es basa l'informe.| |period|integer|Període per al qual s'elaborarà l'informe.<br><br>Valors possibles:<br>0 - *(per defecte)* dia anterior;<br>1 - setmana anterior;<br>2 - anterior mes;<br>3 - any anterior.| |cycle|enter|Programació de repetició del període.<br><br>Valors possibles:<br>0 - *(per defecte)* diari;<br>1 - setmanal;<br>2 - mensual;<br >3 - anual.| |start\_time|integer|Hora del dia, en segons, en què es prepararà l'informe per enviar-lo.<br><br>Per defecte: 0.| |weekdays|integer|Dies de la setmana per enviar l'informe.<br><br>Només es requereix per als informes setmanals.<br><br>Els dies de la setmana s'emmagatzemen en forma binària, amb cada bit que representa el dia corresponent de la setmana. Per exemple, 12 és igual a 1100 en binari i vol dir que s'enviaran informes cada dimecres i dijous.<br><br>Per defecte: 0.| |active\_since|string|A quina data començar.<br><br>Valors possibles:<br>cadena buida - *(per defecte)* sense especificar (emmagatzemat com a 0);<br>data específica del format AAAA-MM -DD ​​(emmagatzemat com a marca de temps d'inici del dia (00:00:00)).| |active\_till|string|A quina data s'ha d'acabar.<br><br>Valors possibles:<br>cadena buida - *(per defecte)* sense especificar (emmagatzemat com a 0);<br>data específica per a YYYY-MM- Format DD (emmagatzemat com a marca de temps del final del dia (23:59:59)).| |subject|string|Assumpte del missatge de l'informe.| |message|string|Informa del text del missatge.| |status|ingeter|Indica si l'informe és actiu o desactivat.<br><br>Valors possibles:<br>0 - Desactivat;<br>1 - *(per defecte)* Activat.| |description|text|Descripció de l'informe.| |state|integer|*(només lectura)* Estat de l'informe.<br><br>Valors possibles:<br>0 - *(per defecte)* l'informe encara no s'ha processat;<br>1 - informe generat enviat correctament a tots els destinataris;<br>2 - no s'ha pogut generar l'informe; "info" conté informació d'error;<br>3: s'ha generat l'informe, però no s'ha pogut enviar a alguns (o a tots) els destinataris; "info" conté informació d'error.| |lastsent|timestamp|*(només lectura)* Marca de temps de Unix del darrer informe enviat correctament.| |info|string|*(només lectura)* Descripció de l'error o informació addicional.|  Tingueu en compte que per a alguns mètodes (actualitzar, esborrar) la combinació de paràmetres obligatoris/opcionals és diferent.

en-us	# Report  This class is designed to work with scheduled reports.  Object references:\  -   [Report](/manual/api/reference/report/object#report) -   [Users](/manual/api/reference/report/object#users) -   [User groups](/manual/api/reference/report/object#user_groups)  Available methods:\  -   [report.create](/manual/api/reference/report/create) - create new     scheduled reports -   [report.delete](/manual/api/reference/report/delete) - delete     scheduled reports -   [report.get](/manual/api/reference/report/get) - retrieve scheduled     reports -   [report.update](/manual/api/reference/report/update) - update     scheduled reports
ca	# Informe  Aquesta classe és dissenyada per treballar amb informes programats.  Referències d'objectes:\  -   [Informe](/manual/api/reference/report/object#report) -   [Usuaris](/manual/api/reference/report/object#users) -   [Grups d'usuaris](/manual/api/reference/report/object#user_groups)  Mètodes disponibles:\  -   [report.create](/manual/api/reference/report/create) - crear nous informes programats -   [report.delete](/manual/api/reference/report/delete) - esborrar informes programats -   [report.get](/manual/api/reference/report/get) - recuperar informes programats -   [report.update](/manual/api/reference/report/update) - actualitzar informes programats

en-us	# report.update
ca	# report.update

en-us	##### - Repositories  Official Zabbix [repository](/manual/installation/install_from_packages/rhel) has been added to */etc/yum.repos.d*:      [zabbix]     name=Zabbix Official Repository - $basearch     baseurl=http://repo.zabbix.com/zabbix/6.0/rhel/8/$basearch/     enabled=1     gpgcheck=1     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
ca	##### - Repositoris  El [repositori](/manual/installation/install_from_packages/rhel) oficial de Zabbix s'ha afegit a */etc/yum.repos.d* :      [zabbix]     name=Zabbix Official Repository - $basearch     baseurl=http://repo.zabbix.com/zabbix/6.0/rhel/8/$basearch/     enabled=1     gpgcheck=1     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

en-us	#### Requesting authenticated user's information  Authenticate and return additional information about the user.  Request:  ```json {     "jsonrpc": "2.0",     "method": "user.login",     "params": {         "username": "Admin",         "password": "zabbix",         "userData": true     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "userid": "1",         "username": "Admin",         "name": "Zabbix",         "surname": "Administrator",         "url": "",         "autologin": "1",         "autologout": "0",         "lang": "ru_RU",         "refresh": "0",         "theme": "default",         "attempt_failed": "0",         "attempt_ip": "127.0.0.1",         "attempt_clock": "1355919038",         "rows_per_page": "50",         "timezone": "Europe/Riga",         "roleid": "3",         "type": 3,         "userip": "127.0.0.1",         "debug_mode": 0,         "gui_access": 0,         "sessionid": "5b56eee8be445e98f0bd42b435736e42"     },     "id": 1 } ```
ca	#### Demanar informació de l'usuari autenticat  Autenticar i reenviar la informació suplementària de l'usuari.  Petició:  ```json {     "jsonrpc": "2.0",     "method": "user.login",     "params": {         "username": "Admin",         "password": "zabbix",         "userData": true     },     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "userid": "1",         "username": "Admin",         "name": "Zabbix",         "surname": "Administrator",         "url": "",         "autologin": "1",         "autologout": "0",         "lang": "ru_RU",         "refresh": "0",         "theme": "default",         "attempt_failed": "0",         "attempt_ip": "127.0.0.1",         "attempt_clock": "1355919038",         "rows_per_page": "50",         "timezone": "Europe/Riga",         "roleid": "3",         "type": 3,         "debug_mode": 0,         "userip": "127.0.0.1",         "gui_access": "0",         "sessionid": "5b56eee8be445e98f0bd42b435736e42"     },     "id": 1 } ```

en-us	Request:  ```json {     "jsonrpc": "2.0",     "method": "sla.create",     "params": [         {             "name": "Database Uptime",             "slo": "99.9995",             "period": "1",             "timezone": "America/Toronto",             "description": "Provide excellent uptime for main database engines.",             "effective_date": 1672444800,             "status": 1,             "schedule": [                 {                     "period_from": 0,                     "period_to": 601200                 }             ],             "service_tags": [                 {                     "tag": "Database",                     "operator": "0",                     "value": "MySQL"                 },                 {                     "tag": "Database",                     "operator": "0",                     "value": "PostgreSQL"                 }             ],             "excluded_downtimes": [                 {                     "name": "Software version upgrade rollout",                     "period_from": "1648760400",                     "period_to": "1648764900"                 }             ]         }     ],     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "slaids": [             "5"         ]     },     "id": 1 } ```
ca	Petició:  ```json {     "jsonrpc": "2.0",     "method": "sla.create",     "params": [         {             "name": "Database Uptime",             "slo": "99.9995",             "period": "1",             "timezone": "America/Toronto",             "description": "Provide excellent uptime for main database engines.",             "effective_date": 1672444800,             "status": 1,             "schedule": [                 {                     "period_from": 0,                     "period_to": 601200                 }             ],             "service_tags": [                 {                     "tag": "Database",                     "operator": "0",                     "value": "MySQL"                 },                 {                     "tag": "Database",                     "operator": "0",                     "value": "PostgreSQL"                 }             ],             "excluded_downtimes": [                 {                     "name": "Software version upgrade rollout",                     "period_from": "1648760400",                     "period_to": "1648764900"                 }             ]         }     ],     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "slaids": [             "5"         ]     },     "id": 1 } ```

en-us	### Required mode
ca	### Mode obligatori

en-us	### Required mode
ca	### Mode obligatori

en-us	#### Required software  Zabbix is built around modern web servers, leading database engines, and PHP scripting language.
ca	#### Programari requerit  Zabbix és construït al voltant de servidors web moderns, motors de bases de dades de darrera generació i llenguatge de script PHP.

en-us	##### Requirements  The following is required to set up encryption:  -   Developer-supported operating system with OpenSSL >=1.1.X or     alternative.  ::: noteclassic  It is recommended to avoid OS in the end-of-life status, especially in the case of new installations  :::  -   Database engine (RDBMS) installed and maintained from the official     repository provided by developer. Operating systems often shipped     with outdated  database software versions for which encryption     support is not implemented, for example RHEL 7 based systems and     PostgreSQL 9.2, MariaDB 5.5 without encryption support. 
ca	##### Especificacions  Els elements següents són requerits per configurar el xifrat:  - El sistema d'explotació admès per els desenvolupadors amb OpenSSL >=1.1.X o alternatiu.  ::: noteclassic  Es recomana evitar els sistemes d'explotació prop de fi de vida, especialment a les noves instal·lacions :::  - El motor de base de dades (RDBMS) instal·lat i mantingut a partir del repositori oficial del desenvolupador. Els sistemes d'explotació sovint són lliurats amb vesrions de programari de base de dades obsoletes per aquelles on el suport de xifrat no és pas implementat, per exemple els sistemes basats en RHEL 7 i PostgreSQL 9.2, MariaDB 5.5 sense suport de xifrat.

en-us	### Reserved ID value "0"  Reserved ID value "0" can be used to filter elements and to remove referenced objects. For example, to remove a referenced proxy from a host, proxy\_hostid should be set to 0 ("proxy\_hostid": "0") or to filter hosts monitored by server option proxyids should be set to 0 ("proxyids": "0").
ca	### Valor d'ID reservat "0"  El valor "0" d'ID reservat es pot emprar per filtrar elements i esborrar objectes referenciats. Per exemple, per esborrar un proxy referenciat d'un equip, s'ha d'establir proxy\_hostid should a 0 ("proxy\_hostid": "0"), o per filtrar equips monitorats per l'opció del servidor, s'ha d'establir proxyids a 0 ("proxyids": "0").

en-us	#### Resize a map  Change the size of the map to 1200x1200 pixels.  Request:  ```json {     "jsonrpc": "2.0",     "method": "map.update",     "params": {         "sysmapid": "8",         "width": 1200,         "height": 1200     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "sysmapids": [             "8"         ]     },     "id": 1 } ```
ca	#### Redimensionar un mapa  Canviar la mida del mapa a 1200x1200 píxels.  Petició:  ```json {     "jsonrpc": "2.0",     "method": "map.update",     "params": {         "sysmapid": "8",         "width": 1200,         "height": 1200     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": {         "sysmapids": [             "8"         ]     },     "id": 1 } ```

en-us	#### Restricting allowed certificate Issuer and Subject  When two Zabbix components (e.g. server and agent) establish a TLS connection they both check each others certificates. If a peer certificate is signed by a trusted CA (with pre-configured top-level certificate in `TLSCAFile`), is valid, has not expired and passes some other checks then communication can proceed. Certificate issuer and subject are not checked in this simplest case.  Here is a risk - anybody with a valid certificate can impersonate anybody else (e.g. a host certificate can be used to impersonate server). This may be acceptable in small environments where certificates are signed by a dedicated in-house CA and risk of impersonating is low.  If your top-level CA is used for issuing other certificates which should not be accepted by Zabbix or you want to reduce risk of impersonating you can restrict allowed certificates by specifying their Issuer and Subject strings.  For example, you can write in Zabbix proxy configuration file:      TLSServerCertIssuer=CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com     TLSServerCertSubject=CN=Zabbix server,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com  With these settings, an active proxy will not talk to Zabbix server with different Issuer or Subject string in certificate, a passive proxy will not accept requests from such server.  A few notes about Issuer or Subject string matching:  1.  Issuer and Subject strings are checked independently. Both are     optional. 2.  UTF-8 characters are allowed. 3.  Unspecified string means any string is accepted. 4.  Strings are compared "as-is", they must be exactly the same to     match. 5.  Wildcards and regexp's are not supported in matching. 6.  Only some requirements from [RFC 4514 Lightweight Directory Access     Protocol (LDAP): String Representation of Distinguished     Names](http://tools.ietf.org/html/rfc4514) are implemented:     1.  escape characters '"' (U+0022), '+' U+002B, ',' U+002C, ';'         U+003B, '<' U+003C, '>' U+003E, '\\' U+005C anywhere in         string.     2.  escape characters space (' ' U+0020) or number sign ('\#'         U+0023) at the beginning of string.     3.  escape character space (' ' U+0020) at the end of string. 7.  Match fails if a null character (U+0000) is encountered ([RFC     4514](http://tools.ietf.org/html/rfc4514) allows it). 8.  Requirements of [RFC 4517 Lightweight Directory Access Protocol     (LDAP): Syntaxes and Matching     Rules](http://tools.ietf.org/html/rfc4517) and [RFC 4518 Lightweight     Directory Access Protocol (LDAP): Internationalized String     Preparation](http://tools.ietf.org/html/rfc4518) are not supported     due to amount of work required.  Order of fields in Issuer and Subject strings and formatting are important! Zabbix follows [RFC 4514](http://tools.ietf.org/html/rfc4514) recommendation and uses "reverse" order of fields.  The reverse order can be illustrated by example:      TLSServerCertIssuer=CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com     TLSServerCertSubject=CN=Zabbix proxy,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com  Note that it starts with low level (CN), proceeds to mid-level (OU, O) and ends with top-level (DC) fields.  *OpenSSL* by default shows certificate Issuer and Subject fields in "normal" order, depending on additional options used:      $ openssl x509 -noout -in /home/zabbix/zabbix_proxy.crt -issuer -subject     issuer= /DC=com/DC=zabbix/O=Zabbix SIA/OU=Development group/CN=Signing CA     subject= /DC=com/DC=zabbix/O=Zabbix SIA/OU=Development group/CN=Zabbix proxy      $ openssl x509 -noout -text -in /home/zabbix/zabbix_proxy.crt     Certificate:             ...             Issuer: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Signing CA         ...             Subject: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Zabbix proxy  Here Issuer and Subject strings start with top-level (DC) and end with low-level (CN) field, spaces and field separators depend on options used. None of these values will match in Zabbix Issuer and Subject fields!  ::: noteimportant  To get proper Issuer and Subject strings usable in Zabbix invoke OpenSSL with special options\ (`-nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname`):  :::      $ openssl x509 -noout -issuer -subject \             -nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname \             -in /home/zabbix/zabbix_proxy.crt     issuer= CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com     subject= CN=Zabbix proxy,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com  Now string fields are in reverse order, fields are comma-separated, can be used in Zabbix configuration files and frontend.
ca	#### Restricció de l'emissor i receptor autoritzats  Quan dos components (per exemple, el servidor Zabbix i l'agent) estableixen una connexió TLS, cadascun comprova els certificats de l'altre. Si un certificat igual signat per una CA de confiança (amb un certificat de nivell superior preconfigurat a "TLSCAFile") és vàlid, no ha caducat i passa més comprovacions, la comunicació pot continuar. L'emissor i el subjecte del certificat no es comprova en aquest cas més senzill.  Hi ha el risc que qualsevol persona amb un certificat vàlid pugui suplantar la identitat d'una altra persona (per exemple, es pot emprar un certificat d'equip per suplantar la identitat d'un servidor). Això pot ser acceptable en entorns petits on els certificats són signats per una CA interna dedicada i el risc de suplantació d'identitat és baix.  Si la vostra CA de nivell superior s'empra per emetre altres certificats que Zabbix no hauria d'acceptar o si voleu reduir el risc de falsificació, podeu restringir els certificats permesos especificant-ne el remitent i l'assumpte.  Per exemple, podeu escriure al fitxer de configuració del proxy Zabbix:       TLSServerCertIssuer=CN=Signing CA,OU=Grup de desenvolupament,O=Zabbix SIA,DC=zabbix,DC=com      TLSServerCertSubject=CN=Servidor Zabbix,OU=Grup de desenvolupament,O=Zabbix SIA,DC=zabbix,DC=com  Amb aquesta configuració, el proxy actiu no es comunicarà amb el servidor Zabbix amb una cadena d'emissor o una cadena de subjecte diferent al certificat, i el proxy passiu no acceptarà peticions d'aquest servidor.  Algunes notes sobre la concordança de la cadena del remitent o de l'assumpte:  1. Les cadenes del remitent i del subjecte es comproven de manera independent. Tots dos són opcionals. 2. Es permeten caràcters UTF-8. 3. La cadena no especificada significa que s'accepta qualsevol cadena. 4. Les cadenes es comparen "tal com són", han de ser exactament iguals perquè coincideixin. 5. Els comodins i les expressions regulars no s'admeten a la concordança. 6. Només s'implementen certs requisits d'[RFC 4514 Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names](http://tools.ietf.org/html/rfc4514):      1. caràcters d'escapada '"' (U+0022), '+' U+002B, ',' U+002C, ';' U+003B, '<' U+003C, '>' U+003E, '\' U+005C en qualsevol lloc de la cadena.      2. Caràcters d'escapada (' ' U+0020) o el signe de lletra ('#' U+0023) al principi de la cadena.      3. caràcters d'escapada (' ' U+0020) al final de la cadena. 7. La coincidència falla si es troba un caràcter nul (U+0000) ([[http://tools.ietf.org/html/rfc4514|RFC 4514]] ho permet). 8. Els requisits de [[http://tools.ietf.org/html/rfc4517|RFC 4517 Lightweight Directory Access Protocol (LDAP): sintaxis i regles de concordança]] i [[http://tools.ietf.org/ html/rfc4518|RFC 4518 Lightweight Directory Access Protocol (LDAP): preparació de cadenes internacionalitzades]] no s'admeten a causa de la quantitat de treball necessària.  L'ordre dels camps a les cadenes Entrega per i Assumpte i el format són importants! Zabbix segueix les recomanacions de [RFC 4514](http://tools.ietf.org/html/rfc4514) i empra l'ordre "inversa" dels camps.  L'ordre inversa es pot il·lustrar amb l'exemple següent:       TLSServerCertIssuer=CN=Signing CA,OU=Grup de desenvolupament,O=Zabbix SIA,DC=zabbix,DC=com      TLSServerCertSubject=CN=Proxy Zabbix,OU=Grup de desenvolupament,O=Zabbix SIA,DC=zabbix,DC=com  Tingueu en compte que comença amb el nivell baix (CN), va al nivell mitjà (OU, O) i acaba amb els camps de nivell superior (DC).  *OpenSSL* mostra per defecte els camps Emissor i Assumpte del certificat en ordre "normal", depenent de les opcions addicionals emprades:       $ openssl x509 -noout -in /home/zabbix/zabbix_proxy.crt -issuer -subject      emissor= /DC=com/DC=zabbix/O=Zabbix SIA/OU=Grup de desenvolupament/CN=Signing CA      subject= /DC=com/DC=zabbix/O=Zabbix SIA/OU=Grup de desenvolupament/CN=Proxy Zabbix       $ openssl x509 -noout -text -in /home/zabbix/zabbix_proxy.crt      Certificació:              ...              Emissor: DC=com, DC=zabbix, O=Zabbix SIA, OU=Grup de desenvolupament, CN=Signing CA          ...              Assumpte: DC=com, DC=zabbix, O=Zabbix SIA, OU=Grup de desenvolupament, CN=proxy Zabbix  Aquí les cadenes Emissor i Subject comencen amb el nivell superior (DC) i acaben amb un camp de nivell baix (CN), els espais i els separadors de camps depenen de les opcions emprades. Cap d'aquests valors coincidirà als camps Remitent i Assumpte de Zabbix!  ::: noteimportant   Per obtindre les cadenes correctes d'emissor i subjecte que es puguin emprar a Zabbix, executeu OpenSSL amb opcions especials\ (`-nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname`):      $ openssl x509 -noout -issuer -subject \             -nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname \             -in /home/zabbix/zabbix_proxy.crt     issuer= CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com     subject= CN=Zabbix proxy,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com :::  Ara els camps de cadena són en ordre invers, els camps són separats per comes, es poden emprar en fitxers de configuració i a la interfície Zabbix.

en-us	 #### Result processing for Prometheus pattern  A Prometheus pattern step in the preprocessing can produce a result where multiple  lines are matched. To handle this situation, a new result processing [parameter](/manual/config/items/itemtypes/prometheus) has been added to the Prometheus pattern preprocessing step that allows to aggregate the data of potentially multiple matching lines by introducing functions such as sum, min, max, avg, and count.
ca	##### Processament dels resultats del patró de Prometheus  Una passa del patró de Prometheus en el preprocessament pot produir un resultat on coincideixen diverses línies. Per gestionar aquesta situació, s'ha afegit un nou processament de resultats de [paràmetre](/manual/config/items/itemtypes/prometheus) a la passa de preprocessament del patró de Prometheus que permet que les dades s'afegeixin a partir de múltiples files potencialment coincidents per introduir funcions com la suma, mín, màxim, mitjana i recompte.

en-us	#### Retrieve alerts by action ID  Retrieve all alerts generated by action "3".  Request:  ```json {     "jsonrpc": "2.0",     "method": "alert.get",     "params": {         "output": "extend",         "actionids": "3"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "alertid": "1",             "actionid": "3",             "eventid": "21243",             "userid": "1",             "clock": "1362128008",             "mediatypeid": "1",             "sendto": "support@company.com",             "subject": "PROBLEM: Zabbix agent on Linux server is unreachable for 5 minutes: ",             "message": "Trigger: Zabbix agent on Linux server is unreachable for 5 minutes: \nTrigger status: PROBLEM\nTrigger severity: Not classified",             "status": "0",             "retries": "3",             "error": "",             "esc_step": "1",             "alerttype": "0",             "p_eventid": "0",             "acknowledgeid": "0"         }     ],     "id": 1 } ```
ca	#### Recuperar les alertes per l'ID d'acció  Recuperar totes les alertes generades per l'acció "3".  Petició:  ```json {     "jsonrpc": "2.0",     "method": "alert.get",     "params": {         "output": "extend",         "actionids": "3"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Resposta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "alertid": "1",             "actionid": "3",             "eventid": "21243",             "userid": "1",             "clock": "1362128008",             "mediatypeid": "1",             "sendto": "support@company.com",             "subject": "PROBLEM: Zabbix agent on Linux server is unreachable for 5 minutes: ",             "message": "Trigger: Zabbix agent on Linux server is unreachable for 5 minutes: \nTrigger status: PROBLEM\nTrigger severity: Not classified",             "status": "0",             "retries": "3",             "error": "",             "esc_step": "1",             "alerttype": "0",             "p_eventid": "0",             "acknowledgeid": "0"         }     ],     "id": 1 } ```