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.
es	##### Ventana de actualización del problema  Si surge un problema para un activador con el indicador *Cierre manual*, puede abra la ventana emergente [actualización del problema](/manual/acknowledges#updating_problems) ventana de ese problema y cierre el problema manualmente.  Para cerrar el problema, marque la opción *Cerrar problema* en el formulario y haga clic en *Actualizar*.  ![](../../../../assets/en/manual/config/close_problem1.png)  Todos los campos de entrada obligatorios están marcados con un asterisco rojo.  La solicitud es procesada por el servidor Zabbix. Normalmente tomará algunos segundos para cerrar el problema. Durante ese proceso se muestra *CIERRE* en *Monitoreo* → *Problemas* como estado 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]
es	##### Problema con los puntos  Hasta aquí todo bien. Pero, ¿Qué pasa si un nombre de atributo o una clave hash contiene un punto? ¿símbolo? Aquí hay un ejemplo:      jmx[com.ejemplo:Tipo=Hola,todas.frutas.manzana.peso]  Eso es un problema. Cómo decirle a Zabbix que el nombre del atributo es "todas las frutas", no solo "todas"? Cómo distinguir un punto que es parte de el nombre del punto que separa un nombre de atributo y claves hash?  Antes de ** 2.0.4 **, la puerta de enlace Zabbix Java no podía manejar tales situaciones y los usuarios se quedaron con elementos NO COMPATIBLES. Desde 2.0.4 esto es posible, todo lo que necesita hacer es escapar de los puntos que son parte de el nombre con una barra invertida:      jmx[com.ejemplo:Tipo=Hola,todos\.frutas.manzana.peso]  De la misma manera, si su clave hash contiene un punto, escápelo:      jmx[com.ejemplo:Tipo=Hola,todas\.frutas.manzana.total\.peso]

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.|
es	##### Procesar datos  |Clave de elemento|<|<|<| |--|--|------|------| |Descripción|Valor devuelto|Parámetros|Comentarios| |**proc.cpu.util**\[<nombre>,<usuario>,<tipo>,<líneacmd>,<modo>,<zona>\]|<|<|<| |Porcentaje de utilización de la CPU del proceso.|Flotante|**nombre**: nombre del proceso (el valor predeterminado es *todos los procesos*)<br>**usuario**: nombre de usuario (el valor predeterminado es *todos los usuarios*)<br>**tipo ** - Tipo de utilización de CPU:<br>*total* (predeterminado), *usuario*, *sistema*<br>**cmdline** - Filtrar por línea de comando (es una [expresión] normal(/manual/regular_expressions #overview))<br>**mode** - modo de recopilación de datos: *avg1* (predeterminado), *avg5*, *avg15*<br>**zone** - zona objetivo: *actual* (predeterminado), *todos*. Este parámetro solo se admite en Solaris.|Ejemplos:<br>=> proc.cpu.util\[,root\] → Uso de CPU de todos los procesos que se ejecutan bajo el usuario "raíz"<br>=> proc.cpu.util \[zabbix\_server,zabbix\] → Utilización de CPU de todos los procesos de zabbix\_server que se ejecutan bajo el usuario zabbix<br><br>El valor devuelto se basa en el porcentaje de utilización de un solo núcleo de CPU. Por ejemplo, la utilización de la CPU de un proceso que usa completamente dos núcleos es del 200 %.<br><br>Los datos de utilización de la CPU del proceso los recopila un recopilador que admite un máximo de 1024 consultas únicas (por nombre, usuario y línea de comandos). Las consultas a las que no se accedió durante las últimas 24 horas se eliminan del recopilador.<br><br>*Tenga en cuenta* que al establecer el parámetro `zone` en *actual* (o predeterminado) en caso de que el agente se haya compilado en un Solaris sin soporte de zona, pero se ejecuta en un Solaris más nuevo donde se admiten zonas, entonces el agente devolverá NOTSUPPORTED (el agente no puede limitar los resultados solo a la zona actual). Sin embargo, *todo* es compatible en este caso.<br><br>Esta clave es compatible desde Zabbix 3.0.0 y está disponible en varias plataformas (consulte [Elementos admitidos por plataforma](/manual/appendix/items/supported_by_platform) ).| |**proc.mem**\[<nombre>,<usuario>,<modo>,<líneacmd>,<tipomem>\]|<|<|<| |Memoria utilizada por el proceso en bytes.|Entero - con `modo` como *max*, *min*, *sum*<br><br>Flotante - con `modo` como *avg*|**name** - nombre del proceso (el valor predeterminado es *todos los procesos*)<br>**usuario** - nombre de usuario (el valor predeterminado es *todos los usuarios*)<br>**modo** - valores posibles:<br>*avg*, *max *, *min*, *sum* (predeterminado)<br>**cmdline** - filtrar por línea de comando (es una [expresión] regular(/manual/regular_expressions#overview))<br>**memtype** - [tipo de memoria](/manual/appendix/items/proc_mem_notes) utilizada por el proceso|Ejemplos:<br>=> proc.mem\[,root\] → memoria utilizada por todos los procesos que se ejecutan bajo el usuario "raíz"< br>=> proc.mem\[zabbix\_server,zabbix\] → memoria utilizada por todos los procesos de zabbix\_server que se ejecutan bajo el usuario zabbix<br>=> proc.mem\[,oracle,max,oracleZABBIX\] → memoria utilizado por el proceso que más memoria consume y que se ejecuta bajo Oracle que tiene oracleZABBIX en su línea de comando<br><br>*Nota*: cuando varios procesos usan memoria compartida, la suma de la memoria utilizada por los procesos puede dar como resultado valores grandes e irreales.< br><br>Ver [notas ](/manual/appendix/items/proc_mem_num_notes) sobre la selección de procesos con los parámetros `name` y `cmdline` (específico de Linux).<br><br>Cuando este elemento se invoca desde la línea de comando y contiene un parámetro de línea de comando (p.ej. usando el modo de prueba del agente: `zabbix_agentd -t proc.mem[,,,apache2]`), se contará un proceso adicional, ya que el agente se contará a sí mismo.<br><br>El parámetro `memtype` es compatible con varias [plataformas](/manual/appendix/items/supported_by_platform) desde Zabbix 3.0.0.| |**proc.num**\[<nombre>,<usuario>,<estado>,<líneacmd>,<zona>\]|<|<|<| |El número de procesos.|Entero|**nombre** - nombre del proceso (el valor predeterminado es *todos los procesos*)<br>**usuario** - nombre de usuario (el valor predeterminado es *todos los usuarios*)<br>**estado ** (opciones *disk* y *trace* desde la versión 3.4.0) - valores posibles:<br>*all* (predeterminado),<br>*disk* - suspensión ininterrumpida,<br>*run* - running, <br>*sleep* - sueño interrumpible,<br>*trace* - detenido,<br>*zomb* - zombie<br>**cmdline** - filtrar por línea de comando (es una [expresión] normal(/ manual/regular_expressions#overview))<br>**zona** - zona objetivo: *actual* (predeterminado), *todas*. Este parámetro solo se admite en Solaris.|Ejemplos:<br>=> proc.num\[,mysql\] → número de procesos que se ejecutan bajo el usuario mysql<br>=> proc.num\[apache2,www-data\ ] → número de procesos apache2 que se ejecutan bajo el usuario www-data<br>=> proc.num\[,oracle,sleep,oracleZABBIX\] → número de procesos en estado de suspensión que se ejecutan bajo oracle que tienen oracleZABBIX en su línea de comando<br> <br>Consulte [notas](/manual/appendix/items/proc_mem_num_notes) sobre la selección de procesos con los parámetros `name` y `cmdline` (específicos de Linux).<br><br>En Windows, solo `name` y Se admiten los parámetros de `usuario`.<br><br>Cuando este elemento se invoca desde la línea de comandos y contiene un parámetro de línea de comandos (por ejemplo, usando el modo de prueba del agente: `zabbix_agentd -t proc.num[,,,apache2]` ), se contará un proceso adicional, ya que el agente se contará a sí mismo.<br><br>*Tenga en cuenta* que al establecer el parámetro `zone` en *actual* (o predeterminado) en caso de que el agente se haya compilado en un Solaris sin soporte de zona, pero ejecutándose en un Solaris más nuevo w aquí las zonas son compatibles, entonces el agente devolverá NOTSUPPORTED (el agente no puede limitar los resultados solo a la zona actual). Sin embargo, *todo* es compatible en este caso.|

en-us	 ## Processes
es	 ## Procesos

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.
es	#### Procesos modificando su línea de comando  Algunos programas utilizan la modificación de su línea de comandos como método para mostrar su actividad actual. Un usuario puede ver la actividad ejecutando los comandos `ps` y  `top`. Ejemplos de dichos programas son *PostgreSQL*, *Sendmail*, *Zabbix*.  Veamos un ejemplo de Linux. Supongamos que queremos monitorear un número de procesos del agente Zabbix.  El comando `ps` muestra procesos de interés como      $ ps -fu zabbix     UID PID PPID C TIEMPO TTY TIEMPO 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]     ...  Seleccionar los procesos por nombre y usuario hace el trabajo:      $ zabbix_get -s localhost -k 'proc.num[zabbix_agentd,zabbix]'     6  Ahora cambiemos el nombre del ejecutable `zabbix_agentd` a `zabbix_agentd_30` y reiniciémoslo.  `ps` ahora muestra      $ ps -fu zabbix     UID PID PPID C TIEMPO TTY TIEMPO 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]     ...  Ahora, seleccionar los procesos por nombre y usuario produce un resultado incorrecto:      $ zabbix_get -s localhost -k 'proc.num[zabbix_agentd_30,zabbix]'     1  ¿Por qué un simple cambio de nombre del ejecutable a un nombre más largo conduce a un resultado bastante diferente?  El agente Zabbix comienza verificando el nombre del proceso. `/proc/<pid>/estado` Se abre el archivo y se comprueba la línea "Name". En nuestro caso las  líneas de `Name` son:      $ 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 nombre del proceso en el archivo "status" se trunca a 15 caracteres.  Se puede ver un resultado similar con el comando `ps`:      $ ps -u zabbix       PID TTY TIEMPO 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      ...  Obviamente, eso no es igual al valor de nuestro   parámetro `name` `zabbix_agentd_30` de `proc.num[]`. Al no haber podido coincidir con el nombre del proceso del archivo `status` que el agente Zabbix convierte en el archivo `/proc/<pid>/cmdline`.  La forma en que el agente ve el archivo "cmdline" se puede ilustrar ejecutando el comando      $ 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>...  Los archivos `/proc/<pid>/cmdline` en nuestro caso contienen  bytes nulos invisibles y no imprimibles, utilizados para terminar cadenas en lenguaje *C*. Los bytes nulos se muestran como "<NUL>" en este ejemplo.  El agente de Zabbix comprueba "cmdline" para el proceso principal y toma `zabbix_agentd_30`, que coincide con el valor de nuestro parámetro `name` `zabbix_agentd_30`. Entonces, el proceso principal se cuenta para la métrica `proc.num[zabbix_agentd_30,zabbix]`.  Al comprobar el siguiente proceso, el agente toma `zabbix_agentd_30: collector [idle 1 sec]` del archivo `cmdline` y no cumple con nuestro parámetro `name` `zabbix_agentd_30`. Entonces, sólo el proceso principal que no modifica su línea de comando se cuenta. Los otros procesos del agente modifican su línea de comando y son ignorados.  Este ejemplo muestra que el parámetro `name` no se puede utilizar en `proc.mem[]` y `proc.num[]` para seleccionar procesos en este caso.  El uso del parámetro `cmdline` con una expresión regular adecuada produce un resultado correcto:      $ zabbix_get -s localhost -k 'proc.num[,zabbix,,zabbix_agentd_30[:]]'     6  Tenga cuidado al utilizar las métricas `proc.mem[]` y `proc.num[]` para monitorear programas que modifican sus líneas de comando.  Antes de poner los parámetros `name` y `cmdline` en las métricas `proc.mem[]` y `proc.num[]`, es posible que desee verificar los parámetros utilizando la métrica `proc.num[]` y el comando `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.
es	#### Procesos de usuario  El agente Zabbix en UNIX está diseñado para ejecutarse como usuario no root. se ejecutará como cualquier usuario no root con el que se inicie. Para que pueda ejecutar el agente como cualquier usuario no root sin ningún problema.  Si intenta ejecutarlo como 'root', cambiará a un codificado usuario 'zabbix', que debe estar presente en su sistema. solo puedes correr agente como 'root' si modifica el parámetro 'AllowRoot' en el archivo de configuración del agente .

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.
es	#### Procesos de usuario  El agente Zabbix está diseñado para ejecutarse como usuario no root. Se ejecutará como cualquier usuario no root con el que se inicie. Por lo tanto, puede ejecutar el agente como cualquier usuario no root sin ningún problema.  Si intenta ejecutarlo como 'root', cambiará a un  usuario 'zabbix' codificado, que debe estar presente en su sistema. Solo puede ejecutar el agente como 'root' si modifica el parámetro 'AllowRoot' en el archivo de configuración del agente .

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.
es	##### Procesar usuario  El servidor Zabbix está diseñado para ejecutarse como un usuario no root. se ejecutará como sea cual sea el usuario no root con el que se inicie. Para que pueda ejecutar el servidor como cualquier usuario no root sin ningún problema.  Si intenta ejecutarlo como 'root', cambiará a un codificado usuario 'zabbix', que debe estar [presente](/manual/installation/install) en tu sistema. Solo puede ejecutar el servidor como 'raíz' si modifica el parámetro 'AllowRoot' en el archivo de configuración del servidor en consecuencia.  Si el servidor Zabbix y [agente](agente) se ejecutan en la misma máquina, es recomienda utilizar un usuario diferente para ejecutar el servidor que para ejecutar el agente. De lo contrario, si ambos se ejecutan como el mismo usuario, el el agente puede acceder al archivo de configuración del servidor y a cualquier usuario de nivel de administrador en Zabbix puede recuperar fácilmente, por ejemplo, la contraseña de la base de datos.

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).
es	#### Prometheus a JSON  Los datos de Prometheus se pueden utilizar para el descubrimiento de bajo nivel. En este caso se necesitan datos en formato JSON y *Prometheus to JSON* La opción de preprocesamiento devolverá exactamente eso.  Para obtener más detalles, consulte [Descubrimiento con Prometheus data](/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"     } ] ```
es	##### Prometeo a JSON  En la regla de descubrimiento, vaya a la pestaña Preprocesamiento y seleccione la opción Opción de preprocesamiento *Prometheus a JSON*. Los datos en formato JSON son necesario para el descubrimiento y la opción de preprocesamiento *Prometheus a JSON* devolverá exactamente eso, con los siguientes atributos:  - nombre de la métrica - valor métrico - ayuda (si está presente) - tipo (si está presente) - etiquetas (si están presentes) - línea cruda  Por ejemplo, consultando `wmi_logic_disk_free_bytes`:  ![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_prom_json.png)  de estas líneas de Prometeo:      # AYUDA wmi_logic_disk_free_bytes Espacio libre en bytes (LogicalDisk.PercentFreeSpace)     # TIPO calibre wmi_logic_disk_free_bytes     wmi_logic_disk_free_bytes{volume="C:"} 3.5180249088e+11     wmi_logic_disk_free_bytes{volume="D:"} 2.627731456e+09     wmi_logic_disk_free_bytes{volume="HarddiskVolume4"} 4.59276288e+08  volverá:  ``` {.java} [     {         "nombre": "wmi_logic_disk_free_bytes",         "help": "Espacio libre en bytes (LogicalDisk.PercentFreeSpace)",         "tipo": "calibre",         "etiquetas": {             "volumen": "C:"          },         "valor": "3.5180249088e+11",         "line_raw": "wmi_logic_disk_free_bytes{volumen=\"C:\"} 3.5180249088e+11"     },     {         "nombre": "wmi_logic_disk_free_bytes",         "help": "Espacio libre en bytes (LogicalDisk.PercentFreeSpace)",         "tipo": "calibre",         "etiquetas": {             "volumen": "D:"          },         "valor": "2.627731456e+09",         "line_raw": "wmi_logic_disk_free_bytes{volumen=\"D:\"} 2.627731456e+09"     },     {         "nombre": "wmi_logic_disk_free_bytes",         "help": "Espacio libre en bytes (LogicalDisk.PercentFreeSpace)",         "tipo": "calibre",         "etiquetas": {             "volumen": "VolumenDiscoHard4"          },         "valor": "4.59276288e+08",         "line_raw": "wmi_logic_disk_free_bytes{volumen=\"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.
es	#### Etiquetas de propiedad  Algunas de las propiedades de los objetos están marcadas con etiquetas cortas para describir su comportamiento. Se utilizan las siguientes etiquetas:  - *solo lectura* - el valor de la propiedad se establece automáticamente y     el cliente no puede definirlo ni modificarlo; - *constante* - el valor de la propiedad se puede establecer al crear un     objeto, pero no se puede cambiar despué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.  |
es	| Propiedad | [Tipo](/manual/api/reference_commentary#tipos_de_datos) | Descripción | |--------------------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------| | **name**<br>(obligatorio) | cadena | Nombre del tiempo de inactividad excluido. | | **period\_from**<br>(obligatorio) | número entero | Hora de inicio del tiempo de inactividad excluido (inclusive).<br><br>Valores posibles: marca de tiempo. | | **period\_to**<br>(obligatorio) | número entero | Hora de finalización del tiempo de inactividad excluido (exclusivo).<br><br>Valores posibles: marca de tiempo. |

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).   |
es	| Propiedad | [Tipo](/manual/api/reference_commentary#tipos_de_datos) | Descripción | |--------------------------------|-----------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------| | **period\_from**<br>(obligatorio) | número entero | Hora de inicio del período de tiempo semanal recurrente (inclusive).<br><br>Valores posibles: número de segundos (contando a partir del domingo). | | **period\_to**<br>(obligatorio) | número entero | Hora de finalización del período de tiempo semanal recurrente (exclusivo).<br><br>Valores posibles: número de segundos (contando a partir del domingo). |

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.                                                                        |
es	| Propiedad | [Tipo](/manual/api/reference_commentary#tipos_de_datos) | Descripción | |-----------------------|-----------------------------------------------------|-----------------------------------------------------------------------------------------| | **tag**<br>(obligatorio) | cadena | Nombre de la etiqueta de servicio SLA. | | operador | número entero | Operador de etiqueta de servicio SLA.<br><br>Valores posibles:<br>0 - *(predeterminado)* es igual;<br>2 - contiene.| | value | cadena | Valor de etiqueta de servicio 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.
es	##### Protección contra ataques de fuerza bruta  En caso de cinco intentos fallidos consecutivos de inicio de sesión, la interfaz de Zabbix hará una pausa de 30 segundos para evitar los ataques de fuerza bruta y de diccionario.  La dirección IP de un intento fallido de inicio de sesión se mostrará después de un acceso exitoso.

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.
es	##### Protección contra sobrecargas  Si el servidor Zabbix estuvo inactivo por algún tiempo y los servidores proxy han recopilado una gran cantidad de datos,  y luego se inicia el servidor, es posible que se sobrecargue (el uso del historial de caché permanece entre 95 y 100 % durante algún tiempo).  Esta sobrecarga podría resultar en un impacto en el rendimiento, donde las comprobaciones se procesan más lentamente.  de lo que deberían. Se implementó protección contra este escenario para evitar problemas que surjan.  debido a la sobrecarga del caché del historial.  Cuando el caché del historial del servidor Zabbix está lleno, el acceso de escritura al caché del historial está siendo  estranguló y detuvo los procesos de recopilación de datos del servidor. El caché de historial más común.  El caso de sobrecarga ocurre después de un tiempo de inactividad del servidor cuando los servidores proxy están cargando datos recopilados. Para evitar  Se agregó esta limitación de proxy (actualmente no se puede deshabilitar).  El servidor Zabbix dejará de aceptar datos de servidores proxy cuando el uso del historial de caché alcance el 80%.  En lugar de eso, esos representantes se incluirán en una lista de limitación. Esto continuará hasta que el uso de caché  cae al 60%. Ahora el servidor comenzará a aceptar datos de los servidores proxy uno por uno, definidos por el  lista de limitación. Esto significa que el primer proxy que intentó cargar datos durante la limitación  El período se cumplirá primero y hasta que finalice el servidor no aceptará datos de otros proxy.  Este modo de limitación continuará hasta que el uso de la caché vuelva a alcanzar el 80 % o baje al 20 %.  o la lista de limitación está vacía. En el primer caso, el servidor dejará de aceptar datos de proxy nuevamente.  En los otros dos casos el servidor empezará a funcionar con normalidad, aceptando datos de todos los proxy.  La información anterior se puede ilustrar en la siguiente tabla:  |Historial de escritura y uso de caché|Modo de servidor Zabbix|Acción del servidor Zabbix| |--|--|------| |Alcanza el 80% |Espera|Deja de aceptar datos de proxy, pero mantiene una *lista de limitación* (lista priorizada de servidores proxy con los que se contactará más adelante).| |Cae al 60% |Restringido|Comienza a procesar la lista de límite, pero aún no acepta datos de proxy.| |Cae al 20% |Normal|Elimina la lista de limitación y comienza a aceptar datos de proxy normalmente.|  Puede utilizar el elemento interno `zabbix[wcache,history,pused]` para correlacionar este comportamiento de Zabbix  servidor con 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. :::
es	##### - Proporcionar devoluciones de llamada de exportación de historial  ::: notaimportante Ya no se admite la exportación de historial a través del módulo por proxy Zabbix desde Zabbix 4.0.0. :::  El módulo puede especificar funciones para exportar datos históricos por tipo: Numérico (flotante), numérico (sin signo), carácter, texto y registro:  ``` {.c} estructura 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_HISTORIA_ESCRIBIR_CBS; ```  Cada uno de ellos debe tomar la matriz "historial" de elementos "historia\_num" como argumentos Según el tipo de datos de historial que se exportará, "historial" es una matriz de las siguientes estructuras, respectivamente:  ``` {.c} estructura typedef {     zbx_uint64_t id del artículo;     reloj interno;     int ns;     doble valor; } ZBX_HISTORIA_FLOTANTE;  estructura typedef {     zbx_uint64_t id del elemento;     reloj interno;     int ns;     valor zbx_uint64_t; } ZBX_HISTORIA_INTEGER;  estructura typedef {     zbx_uint64_t id del elemento;     reloj interno;     int ns;     const char *valor; } ZBX_HISTORIA_STRING;  estructura typedef {     zbx_uint64_t id del elemento;     reloj interno;     int ns;     const char *valor; } ZBX_HISTORIA_TEXTO;  estructura typedef {     zbx_uint64_t id del artículo;     reloj interno;     int ns;     const char *valor;     const char *fuente;     marca de tiempo int;     int logeventid;     severidad int; } ZBX_HISTORIAL_REGISTRO; ```  Las devoluciones de llamada serán utilizadas por los procesos sincronizadores del historial del servidor Zabbix en el fin del procedimiento de sincronización del historial después de escribir los datos en la base de datos de Zabbix y guardado en caché de valor.  :::notaimportante En caso de error interno en el módulo de exportación de historial, se recomienda que el módulo esté escrito de tal manera que no bloquee el monitoreo completo hasta que se recupere, sino que descarte los datos y permita que el servidor Zabbix continúe ejecutándose. :::

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|
es	#### Proxies  En un [proxy](/manual/distributed_monitoring/proxies#configuration) configuración, las macros de usuario se pueden utilizar en el siguiente campo:  |Ubicación|<|Múltiples macros/mezcla con texto^[1](supported_by_location_user#footnotes)^| |-|------------------------------|----------| |Puerto de interfaz (para proxy pasivo)|<|no|

en-us	#### Proxies  Manage the proxies used in your distributed monitoring setup.  [Proxy API](/manual/api/reference/proxy)
es	#### Proxies  Administre los proxies de su solución de monitorización distribuida.  [API de 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.\
es	#### proxy  Cambios:\ [ZBXNEXT-6889](https://support.zabbix.com/browse/ZBXNEXT-6889) `proxy.create`,`proxy.update`: abandonado el soporte de las propiedades `interface.infarceid`e `interface.hostid`.\

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" } ```
es	##### Solicitud de configuración de proxy  La solicitud `proxy config` se envía al proxy para obtener los datos de configuración del proxy. Esta solicitud se envía cada `ConfigFrequency` ( parámetro de configuración del proxy) segundos.  |nombre|<|<|<|tipo de valor|descripción| |-|-|-|----------|----------|--------------------- -------------------| |proxy→servidor:|<|<|<|<|<| |**request**|<|<|<|*cadena*|'proxy config'| |**host**|<|<|<|*cadena*|Nombre de proxy.| |**version**|<|<|<|*cadena*|Versión de proxy (<principal>.<menor>.<compilación>).| |servidor→proxy:|<|<|<|<|<| |**request**|<|<|<|*cadena*|'proxy config'| |**<tabla>**|<|<|<|*objeto*|Uno o más objetos con datos <tabla>.| | |**fields**|<|<|*matriz*|Matriz de nombres de campos.| |^| |\-|<|*cadena*|Nombre de campo.| |^|**data**|<|<|*matriz*|Matriz de filas.| |^| |\-|<|*array*|Matriz de columnas.| |^|^| |\-|*cadena*,*número*|Valor de columna con tipo que depende del tipo de columna en el esquema de la base de datos.| |proxy→servidor:|<|<|<|<|<| |**response**|<|<|<|*cadena*|Solicitar información de éxito ('success' o 'failed').|  Ejemplo:  proxy→servidor:  ``` {.javascript} {   "request": "proxy config",   "host": "Proxy #12",   "version":"5.4.0" } ```  servidor→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→servidor:  ``` {.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" } ```
es	##### Solicitud de configuración de proxy  La solicitud `proxy config` es enviada por el servidor para proporcionar los datos de configuración del proxy. Esta solicitud se envía cada `ProxyConfigFrequency` (parámetro de configuración del servidor) segundos.  |nombre|<|<|<|tipo de valor|descripción| |-|-|-|----------|----------|--------------------- -------------------| |servidor→proxy:|<|<|<|<|<| |**request**|<|<|<|*cadena*|'proxy config'| |**<tabla>**|<|<|<|*objeto*|Uno o más objetos con datos <table>.| | |**fields**|<|<|*matriz*|Matriz de nombres de campos.| |^| |\-|<|*cadena*|Nombre de campo.| |^|**data**|<|<|*matriz*|Matriz de filas.| |^| |\-|<|*array*|Matriz de columnas.| |^|^| |\-|*cadena*,*número*|Valor de columna con tipo que depende del tipo de columna en el esquema de la base de datos.| |proxy→servidor:|<|<|<|<|<| |**response**|<|<|<|*cadena*|Solicitar información de éxito ('éxito' o 'fallido').| |**version**|<|<|<|*cadena*|Versión de proxy (<principal>.<menor>.<compilación>).|  Ejemplo:  servidor→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→servidor:  ``` {.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 ```
es	##### Configuración de proxy  Los nodos (servidores) del clúster HA deben aparecer en la configuración de cualquiera de los dos Proxy Zabbix pasivo o activo.  Para un proxy pasivo, los nombres de los nodos deben aparecer en el  [parámetro](/manual/appendix/config/zabbix_proxy) Server del proxy, separados por una **coma**.  ``` Server=zabbix-node-01,zabbix-node-02 ```  Para un proxy activo, los nombres de los nodos deben aparecer en el  [parámetro](/manual/appendix/config/zabbix_proxy) Server del proxy, separados por un **punto y coma**. ``` Server=zabbix-node-01;zabbix-node-02 ```

en-us	# proxy.create
es	# 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       }   ] } ```
es	##### Solicitud de datos de proxy  La solicitud de "proxy data" se envía mediante proxy para proporcionar datos de disponibilidad, historial, descubrimiento y registro automático de la interfaz del equipo. Esta solicitud se envía cada segundos de `DataSenderFrequency` (parámetro de configuración de proxy). Tenga en cuenta que el proxy activo seguirá sondeando el servidor Zabbix cada segundo en busca de tareas de comando remotas (con una solicitud de "proxy data" vacía).  |nombre|<|tipo de valor|descripción| |-|----------|----------|------------------------- ---------------| |proxy→servidor:|<|<|<| |**request**|<|*cadena*|'proxy data'| |**host**|<|*cadena*|Nombre de proxy.| |**session**|<|*cadena*|Token de sesión de datos.| |**disponibilidad de interfaz**|<|*matriz*|*(opcional)* Matriz de objetos de datos de disponibilidad de interfaz.| | |**interfaceid**|*número*|Identificador de interfaz.| |^|**available**|*número*|Disponibilidad de interfaz:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - desconocido<br>**1**, *INTERFACE\_AVAILABLE \_TRUE* - disponible<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - no disponible| |^|**error**|*cadena*|Mensaje de error de interfaz o cadena vacía.| |**datos históricos**|<|*matriz*|*(opcional)* Matriz de objetos de datos históricos.| | |**itemid**|*número*|Identificador de artículo.| |^|**clock**|*número*|Marca de tiempo del valor de la métrica (segundos).| |^|**ns**|*número*|Marca de tiempo del valor de la métrica (nanosegundos).| |^|**value**|*cadena*|*(opcional)* Valor del artículo.| |^|**id**|*número*|Identificador de valor (contador ascendente, único dentro de una sesión de datos).| |^|**timestamp**|*número*|*(opcional)* Marca de tiempo de las métricas de tipo de registro.| |^|**source**|*cadena*|*(opcional)* Valor de origen de la métrica de registro de eventos.| |^|**severity**|*número*|*(opcional)* Valor de gravedad de la métrica del registro de eventos.| |^|**eventid**|*número*|*(opcional)* Valor de eventid de la métrica de registro de eventos.| |^|**state**|*cadena*|*(opcional)* Estado del artículo:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE \_NOTSAPPORTADO*| |^|**lastlogsize**|*number*|*(opcional)* Último tamaño de registro de las métricas del tipo de registro.| |^|**mtime**|*number*|*(opcional)* Hora de modificación de las métricas del tipo de registro.| |**datos de descubrimiento**|<|*matriz*|*(opcional)* Matriz de objetos de datos de descubrimiento.| | |**clock**|*número*|Marca de tiempo de datos de descubrimiento.| |^|**druleid**|*número*|Identificador de regla de descubrimiento.| |^|**dcheckid**|*number*|Identificador de verificación de descubrimiento o nulo para los datos de la regla de descubrimiento.| |^|**type**|*número*|Tipo de verificación de descubrimiento:<br><br>**-1** datos de regla de descubrimiento<br>**0**, *SVC\_SSH* - Verificación del servicio SSH <br>**1**, *SVC\_LDAP* - Verificación del servicio LDAP<br>**2**, *SVC\_SMTP* - Verificación del servicio SMTP<br>**3**, *SVC\_FTP* - Verificación del servicio FTP<br>**4**, *SVC\_HTTP* - Verificación del servicio HTTP<br>**5**, *SVC\_POP* - Verificación del servicio POP<br>**6**, * SVC\_NNTP* - Verificación del servicio NNTP<br>**7**, *SVC\_IMAP* - Verificación del servicio IMAP<br>**8**, *SVC\_TCP* - Verificación de disponibilidad del puerto TCP<br>** 9**, *SVC\_AGENT* - Agente Zabbix<br>**10**, *SVC\_SNMPv1* - Agente SNMPv1<br>**11**, *SVC\_SNMPv2* - Agente SNMPv2<br>* *12**, *SVC\_ICMPPING* - Ping ICMP<br>**13**, *SVC\_SNMPv3* - Agente SNMPv3<br>**14**, *SVC\_HTTPS* - Verificación del servicio HTTPS<br >**15**, *SVC\_TELNET* - Verificación de disponibilidad de Telnet| |^|**ip**|*cadena*|Dirección IP del equipo.| |^|**dns**|*cadena*|Nombre DNS del equipo.| |^|**port**|*número*|*(opcional)* Número de puerto de servicio.| |^|**key\_**|*string*|*(opcional)* Clave de elemento para verificación de descubrimiento de tipo **9** *SVC\_AGENT*| |^|**value**|*cadena*|*(opcional)* Valor recibido del servicio, puede estar vacío para la mayoría de los servicios.| |^|**status**|*número*|*(opcional)* Estado del servicio:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Servicio ARRIBA<br>**1**, *DOBJECT\_STATUS\_DOWN* - Servicio ABAJO| |**autorregistro**|<|*matriz*|*(opcional)* Matriz de objetos de datos de autoregistro.| | |**clock**|*número*|Marca de tiempo de datos de registro automático.| |^|**host**|*cadena*|Nombre de host.| |^|**ip**|*cadena*|*(opcional)* Dirección IP del equipo.| |^|**dns**|*cadena*|*(opcional)* Nombre DNS resuelto desde la dirección IP.| |^|**port**|*cadena*|*(opcional)* Puerto de host.| |^|**host\_metadata**|*cadena*|*(opcional)* Metadatos del equipo enviados por el agente (según el parámetro de configuración del agente HostMetadata o HostMetadataItem).| |**tareas**|<|*matriz*|*(opcional)* Matriz de tareas.| | |**type**|*número*|Tipo de tarea:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - resultado del comando remoto| |^|**status**|*number*|Estado de ejecución del comando remoto:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - el comando remoto se completó correctamente<br> **1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - error del comando remoto| |^|**error**|*cadena*|*(opcional)* Mensaje de error.| |^|**parent\_taskid**|*number*|ID de tarea principal.| |**more**|<|*número*|*(opcional)* 1 - hay más datos del historial para enviar.| |**clock**|<|*número*|*(opcional)* Marca de tiempo de transferencia de datos (segundos).| |**ns**|<|*número*|*(opcional)* Marca de tiempo de transferencia de datos (nanosegundos).| |**version**|<|*cadena*|Versión de proxy (<principal>.<menor>.<compilación>).| |servidor→proxy:|<|<|<| |**response**|<|*cadena*|Solicitud de información de éxito ('success' o 'failed').| |**upload**|<|*string*|Control de carga para datos históricos (historial, registro automático, disponibilidad de host, descubrimiento de red).<br><br>Valores posibles:<br>**enabled** - funcionamiento normal <br>**deshabilitado** - el servidor no acepta datos (posiblemente debido a que el caché interno excede el límite)| |**tasks**|<|*matriz*|*(opcional)* Matriz de tareas.| | |**type**|*número*|Tipo de tarea:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - comando remoto| |^|**clock**|*número*|Hora de creación de la tarea.| |^|**ttl**|*número*|Tiempo en segundos después del cual caduca la tarea.| |^|**commandtype**|*número*|Tipo de comando remoto:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - usar script personalizado<br>** 1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - usar IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - usar SSH<br>**3**, *ZBX\_SCRIPT \_TYPE\_TELNET* - usar Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - usar script global (actualmente funcionalmente equivalente a un script personalizado)| |^|**command**|*cadena*|Comando remoto para ejecutar.| |^|**execute\_on**|*number*|Destino de ejecución para scripts personalizados:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - ejecutar script en el agente< br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - ejecutar script en el servidor<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - ejecutar script en proxy| |^|**port**|*número*|*(opcional)* Puerto para comandos Telnet y SSH.| |^|**authtype**|*number*|*(opcional)* Tipo de autenticación para comandos SSH.| |^|**username**|*cadena*|*(opcional)* Nombre de usuario para comandos Telnet y SSH.| |^|**password**|*cadena*|*(opcional)* Contraseña para comandos Telnet y SSH.| |^|**publickey**|*cadena*|*(opcional)* Clave pública para comandos SSH.| |^|**privatekey**|*string*|*(opcional)* Clave privada para comandos SSH.| |^|**parent\_taskid**|*number*|ID de tarea principal.| |^|**hostid**|*número*|ID del equipo de destino.|  Ejemplo:  proxy→servidor:  ``` {.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" } ```  servidor→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
es	# 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).
es	##### Funciones de proxy  Al elegir entre usar o no un proxy, se deben tener en cuenta varias consideraciones.  | | Proxy | |-|-----| |*Ligero*|**Sí**| |*GUI*|No| |*Trabaja de forma independiente*|**Sí**| |*Fácil mantenimiento*|**Sí**| |*Creación automática de base de datos*|**Sí**^1^| |*Administración local*|No| |*Listo para hardware integrado*|**Sí**| |*Conexiones TCP unidireccionales*|**Sí**| |*Configuración centralizada*|**Sí**| |*Genera notificaciones*|No|  ^1^ La función de creación automática de bases de datos solo funciona con SQLite. Otras bases de datos requieren una [configuración manual](/manual/appendix/install/db_scripts).

en-us	# proxy.get
es	# 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" } ```
es	##### Solicitud de latido de proxy  La solicitud "proxy heartbeat" es enviada por el proxy para informar que el proxy está ejecutándose. Esta solicitud se envía cada `HeartbeatFrequency` ( parámetro de configuración del proxy) segundos.  |nombre|tipo de valor|descripción| |----------|----------|--------------------------- -------------| |proxy→servidor:|<|<| |**request**|*cadena*|'latido del proxy'| |**host**|*cadena*|Nombre de proxy.| |**version**|*cadena*|Versión de proxy (<principal>.<menor>.<compilación>).| |servidor→proxy:|<|<| |**response**|*cadena*|Solicitud de información de éxito ('éxito' o 'fallido').|  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.
es	### Limpieza del historial de proxy  Se eliminó la limitación sobre la cantidad de información obsoleta eliminada de la base de datos de proxy por ciclo de mantenimiento del historial de proxy.  Anteriormente, el [limpiador](/manual/web_interface/frontend_sections/administration/general#housekeeper) eliminaba no más de 4 veces las [`HousekeepingFrequency`](/manual/appendix/config/zabbix_proxy) horas de información desactualizada. Por ejemplo, si `HousekeepingFrequency` se configuró en "1", no se eliminaron más de 4 horas de información desactualizada (comenzando por la entrada más antigua). En los casos en que un proxy reciba constantemente datos anteriores a los establecidos en [`ProxyOfflineBuffer`](/manual/appendix/config/zabbix_proxy), esto podría resultar en una acumulación excesiva de datos.  Ahora se ha eliminado esta limitación, lo que proporciona una solución de mantenimiento del historial de proxy más eficaz.

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.
es	### Limpieza del historial de proxy  Se eliminó la limitación sobre la cantidad de información obsoleta eliminada de la base de datos de proxy por ciclo de mantenimiento del historial de proxy.  Anteriormente, el [limpiador](/manual/web_interface/frontend_sections/administration/general#housekeeper) eliminaba no más de 4 veces las [`HousekeepingFrequency`](/manual/appendix/config/zabbix_proxy) horas de información desactualizada. Por ejemplo, si `HousekeepingFrequency` se configuró en "1", no se eliminaron más de 4 horas de información desactualizada (comenzando por la entrada más antigua). En los casos en que un proxy reciba constantemente datos anteriores a los establecidos en [`ProxyOfflineBuffer`](/manual/appendix/config/zabbix_proxy), esto podría resultar en una acumulación excesiva de datos.  Ahora se ha eliminado esta limitación, lo que proporciona una solución de mantenimiento del historial de proxy más eficaz.

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.
es	### Instalación de proxy  Una vez que se agrega el repositorio requerido, puede instalar el proxy Zabbix ejecutando:      apt install zabbix-proxy-mysql zabbix-sql-scripts  Sustituya 'mysql' en el comando por 'pgsql' para usar PostgreSQL, o con 'sqlite3' para usar SQLite3.  El paquete 'zabbix-sql-scripts' contiene esquemas de bases de datos para todos los sistemas de administración de bases de datos compatibles tanto para el servidor Zabbix como para el proxy Zabbix y se utilizará para la importación de datos.

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.
es	### Instalación de proxy  Una vez que se agrega el repositorio requerido, puede instalar el proxy Zabbix ejecutando:      # dnf install zabbix-proxy-mysql zabbix-sql-scripts  Sustituya 'mysql' en el comando por 'pgsql' para usar PostgreSQL, o por 'sqlite3' para usar SQLite3 (solo proxy).

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.
es	### Instalación de proxy  Una vez que se agrega el repositorio requerido, puede instalar el proxy Zabbix ejecutando:      dnf install zabbix-proxy-mysql zabbix-sql-scripts  Sustituya 'mysql' en los comandos por 'pgsql' para usar PostgreSQL, o con 'sqlite3' para usar SQLite3 (solo proxy).  El paquete 'zabbix-sql-scripts' contiene esquemas de bases de datos para todos los sistemas de administración de bases de datos compatibles tanto para el servidor Zabbix como para el proxy Zabbix y se utilizará para la importación de datos.

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.|
es	### Interfaz proxy  El objeto de interfaz proxy define la interfaz utilizada para conectarse a un apoderado pasivo. Tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |**dns**<br>(obligatorio)|cadena|Nombre DNS al que conectarse.<br><br>Puede estar vacío si las conexiones se realizan a través de la dirección IP.| |**ip**<br>(obligatorio)|cadena|Dirección IP a la que conectarse.<br><br>Puede estar vacío si las conexiones se realizan a través de nombres DNS.| |**puerto**<br>(obligatorio)|cadena|Número de puerto al que conectarse.| |**useip**<br>(obligatorio)|integer|Si la conexión debe realizarse a través de la dirección IP.<br><br>Los valores posibles son:<br>0 - conectarse usando el nombre DNS;<br>1 - conectarse usando la dirección IP.|

en-us	# > Proxy object  The following objects are directly related to the `proxy` API.
es	# > Objeto proxy  Los siguientes objetos están directamente relacionados al 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).
es	#### Tipos de procesos de proxy  - `administrador de disponibilidad` - proceso para actualizaciones de disponibilidad del host - `sincronizador de configuración` - proceso para administrar el caché en memoria de     datos de configuración - `remitente de datos` - remitente de datos proxy - `discoverer` - proceso para el descubrimiento de dispositivos - `remitente de latidos` - remitente proxy de latidos - `sondeador de historial` - proceso para manejar datos calculados, agregados y     comprobaciones internas que requieren una conexión a la base de datos - `sincronizador de historial` - escritor de base de datos de historial - `ama de llaves` - proceso para la eliminación de datos históricos antiguos - `http poller` - sondeador de monitoreo web - `icmp pinger` - sondeador para comprobaciones de icmpping - `administrador de ipmi` - Administrador de encuestas de IPMI - `ipmi poller` - sondeador para comprobaciones de IPMI - `java poller` - sondeador para comprobaciones de Java - `odbc poller` - sondeador para verificaciones ODBC - `poller` - sondeador normal para comprobaciones pasivas - `gestor de preprocesamiento` - gestor de tareas de preprocesamiento - `trabajador de preprocesamiento` - proceso para el preprocesamiento de datos - `autosupervisión` - proceso de recopilación del servidor interno     Estadísticas - `snmp trapper` - trampero para trampas SNMP - `administrador de tareas` - proceso para la ejecución remota de tareas solicitadas por     otros componentes (por ejemplo, cerrar problema, reconocer problema, comprobar     valor del artículo ahora, funcionalidad de comando remoto) - `trapper` - trampero para comprobaciones activas, trampas, comunicación proxy - `sondeador inalcanzable` - sondeador para dispositivos inalcanzables - `recolector de vmware`: recopilador de datos de VMware responsable de los datos     recopilación de servicios de VMware  El archivo de registro del proxy se puede utilizar para observar estos tipos de procesos.  Se pueden monitorear varios tipos de procesos de proxy Zabbix usando el **zabbix\[proceso,<tipo>,<modo>,<estado>\]** interno [elemento](/manual/config/items/itemtypes/internal).

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       }   ] } ```
es	##### Solicitud de proxy  La solicitud de "datos de proxy" se utiliza para obtener la disponibilidad de la interfaz del equipo, datos históricos, de descubrimiento y de autoregistro desde el proxy. Esta petición se envía cada `ProxyDataFrequency` (parámetro de configuración del servidor) segundos.  |nombre|<|tipo de valor|descripción| |-|----------|----------|------------------------- ---------------| |servidor→proxy:|<|<|<| |**request**|<|*cadena*|'proxy data'| |proxy→servidor:|<|<|<| |**session**|<|*cadena*|Token de sesión de datos.| |**interface availability**|<|*matriz*|*(opcional)* Matriz de objetos de datos de disponibilidad de interfaz.| | |**interfaceid**|*número*|Identificador de interfaz.| |^|**available**|*número*|Disponibilidad de interfaz:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - desconocido<br>**1**, *INTERFACE\_AVAILABLE \_TRUE* - disponible<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - no disponible| |^|**error**|*cadena*|Mensaje de error de interfaz o cadena vacía.| |**history data**|<|*matriz*|*(opcional)* Matriz de objetos de datos históricos.| | |**itemid**|*número*|Identificador de la métrica.| |^|**clock**|*número*|Marca de tiempo del valor de la métrica (segundos).| |^|**ns**|*número*|Marca de tiempo del valor de la métrica (nanosegundos).| |^|**value**|*cadena*|*(opcional)* Valor de la métrica.| |^|**id**|*número*|Identificador de valor (contador ascendente, único dentro de una sesión de datos).| |^|**timestamp**|*número*|*(opcional)* Marca de tiempo de las métricas de tipo de registro.| |^|**source**|*cadena*|*(opcional)* Valor de origen de la métrica de registro de eventos.| |^|**severity**|*número*|*(opcional)* Valor de gravedad de la métrica del registro de eventos.| |^|**eventid**|*número*|*(opcional)* Valor de eventid de la métrica de registro de eventos.| |^|**state**|*cadena*|*(opcional)* Estado de la métrica:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE \_NOTSAPPORTADO*| |^|**lastlogsize**|*number*|*(opcional)* Último tamaño de registro de los elementos del tipo de registro.| |^|**mtime**|*number*|*(opcional)* Hora de modificación de los elementos del tipo de registro.| |**datos de descubrimiento**|<|*matriz*|*(opcional)* Matriz de objetos de datos de descubrimiento.| | |**clock**|*número*|Marca de tiempo de datos de descubrimiento.| |^|**druleid**|*número*|Identificador de regla de descubrimiento.| |^|**dcheckid**|*number*|Identificador de verificación de descubrimiento o nulo para los datos de la regla de descubrimiento.| |^|**type**|*número*|Tipo de verificación de descubrimiento:<br><br>**-1** datos de regla de descubrimiento<br>**0**, *SVC\_SSH* - Verificación del servicio SSH <br>**1**, *SVC\_LDAP* - Verificación del servicio LDAP<br>**2**, *SVC\_SMTP* - Verificación del servicio SMTP<br>**3**, *SVC\_FTP* - Verificación del servicio FTP<br>**4**, *SVC\_HTTP* - Verificación del servicio HTTP<br>**5**, *SVC\_POP* - Verificación del servicio POP<br>**6**, * SVC\_NNTP* - Verificación del servicio NNTP<br>**7**, *SVC\_IMAP* - Verificación del servicio IMAP<br>**8**, *SVC\_TCP* - Verificación de disponibilidad del puerto TCP<br>** 9**, *SVC\_AGENT* - Agente Zabbix<br>**10**, *SVC\_SNMPv1* - Agente SNMPv1<br>**11**, *SVC\_SNMPv2* - Agente SNMPv2<br>* *12**, *SVC\_ICMPPING* - Ping ICMP<br>**13**, *SVC\_SNMPv3* - Agente SNMPv3<br>**14**, *SVC\_HTTPS* - Verificación del servicio HTTPS<br >**15**, *SVC\_TELNET* - Verificación de disponibilidad de Telnet| |^|**ip**|*cadena*|Dirección IP del equipo.| |^|**dns**|*cadena*|Nombre DNS del equipo.| |^|**port**|*número*|*(opcional)* Número de puerto de servicio.| |^|**key\_**|*string*|*(opcional)* Clave de elemento para verificación de descubrimiento de tipo **9** *SVC\_AGENT*| |^|**value**|*cadena*|*(opcional)* Valor recibido del servicio, puede estar vacío para la mayoría de los servicios.| |^|**status**|*número*|*(opcional)* Estado del servicio:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Servicio ARRIBA<br>**1* *, *DOBJECT\_STATUS\_DOWN* - Servicio ABAJO| |**registro automático**|<|*matriz*|*(opcional)* Matriz de objetos de datos de registro automático.| | |**clock**|*número*|Marca de tiempo de datos de registro automático.| |^|**host**|*cadena*|Nombre de equipo.| |^|**ip**|*cadena*|*(opcional)* Dirección IP del equipo.| |^|**dns**|*cadena*|*(opcional)* Nombre DNS resuelto desde la dirección IP.| |^|**port**|*cadena*|*(opcional)* Puerto de equipo.| |^|**host\_metadata**|*cadena*|*(opcional)* Metadatos del equipo enviados por el agente (según el parámetro de configuración del agente HostMetadata o HostMetadataItem).| |**tareas**|<|*matriz*|*(opcional)* Matriz de tareas.| | |**type**|*número*|Tipo de tarea:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - resultado del comando remoto| |^|**status**|*number*|Estado de ejecución del comando remoto:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - el comando remoto se completó correctamente<br> **1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - error del comando remoto| |^|**error**|*cadena*|*(opcional)* Mensaje de error.| |^|**parent\_taskid**|*number*|ID de tarea principal.| |**more**|<|*número*|*(opcional)* 1 - hay más datos del historial para enviar.| |**clock**|<|*número*|*(opcional)* Marca de tiempo de transferencia de datos (segundos).| |**ns**|<|*número*|*(opcional)* Marca de tiempo de transferencia de datos (nanosegundos).| |**version**|<|*cadena*|Versión de proxy (<principal>.<menor>.<compilación>).| |servidor→proxy:|<|<|<| |**response**|<|*cadena*|Solicitud de información de éxito ('éxito' o 'fallido').| |**tareas**|<|*matriz*|*(opcional)* Matriz de tareas.| | |**type**|*número*|Tipo de tarea:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - comando remoto| |^|**clock**|*número*|Hora de creación de la tarea.| |^|**ttl**|*número*|Tiempo en segundos después del cual caduca la tarea.| |^|**commandtype**|*número*|Tipo de comando remoto:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - usar script personalizado<br>**1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - usar 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 script global ( actualmente funcionalmente equivalente al script personalizado)| |^|**command**|*cadena*|Comando remoto para ejecutar.| |^|**execute\_on**|*number*|Destino de ejecución para scripts personalizados:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - ejecutar script en el agente< br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - ejecutar script en el servidor<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - ejecutar script en proxy| |^|**port**|*número*|*(opcional)* Puerto para comandos Telnet y SSH.| |^|**authtype**|*number*|*(opcional)* Tipo de autenticación para comandos SSH.| |^|**username**|*cadena*|*(opcional)* Nombre de usuario para comandos Telnet y SSH.| |^|**password**|*cadena*|*(opcional)* Contraseña para comandos Telnet y SSH.| |^|**publickey**|*cadena*|*(opcional)* Clave pública para comandos SSH.| |^|**privatekey**|*string*|*(opcional)* Clave privada para comandos SSH.| |^|**parent\_taskid**|*number*|ID de tarea principal.| |^|**hostid**|*número*|ID del equipo de destino.|  Ejemplo:  servidor→proxy:  ``` {.javascript} {    "request": "proxy data" } ```  proxy→servidor:  ``` {.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" } ```  servidor→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';
es	#### Inicio de proxy con MySQL 8.0.0-8.0.17  zabbix\_proxy en MySQL versiones 8.0.0-8.0.17 falla con lo siguiente error "acceso denegado":      [Z3001] Falló la conexión a la base de datos 'zabbix': [1227] Acceso denegado; necesita (al menos uno de) los privilegios SUPER, SYSTEM_VARIABLES_ADMIN o SESSION_VARIABLES_ADMIN para esta operación  Eso se debe a que MySQL 8.0.0 comenzó a aplicar permisos especiales para establecer variables de sesión. Sin embargo, en 8.0.18 se eliminó este comportamiento: [A partir de MySQL 8.0.18, establecer el valor de sesión de esta variable del sistema ya no es una operación restringida.](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html)  La solución temporal se basa en otorgar privilegios adicionales al Usuario `zabbix`:  Para las versiones de MySQL 8.0.14 - 8.0.17:      otorgar SESSION_VARIABLES_ADMIN en *.* a 'zabbix'@'localhost';  Para las versiones de MySQL 8.0.0 - 8.0.13:      otorgar SYSTEM_VARIABLES_ADMIN en *.* a '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.
es	### Proxy  El objeto proxy tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |proxyid|cadena|*(solo lectura)* ID del proxy.| |**host**<br>(obligatorio)|cadena|Nombre del proxy.| |**estado**<br>(obligatorio)|entero|Tipo de proxy.<br><br>Valores posibles:<br>5 - proxy activo;<br>6 - proxy pasivo.| |descripción|texto|Descripción del proxy.| |lastaccess|timestamp|*(readonly)* Hora en la que el proxy se conectó por última vez al servidor.| |tls\_connect|integer|Conexiones al host.<br><br>Los valores posibles son:<br>1 - *(predeterminado)* Sin cifrado;<br>2 - PSK;<br>4 - certificado.| |tls\_accept|integer|Conexiones desde el host.<br><br>Los valores de mapa de bits posibles son:<br>1 - *(predeterminado)* Sin cifrado;<br>2 - PSK;<br>4 - certificado.| |tls\_issuer|string|Emisor del certificado.| |tls\_subject|cadena|Asunto del certificado.| |tls\_psk\_identity|string|*(solo escritura)* Identidad PSK. Requerido si `tls_connect` o `tls_accept` tienen PSK habilitado.<br>No incluya información confidencial en la identidad de PSK, se transmite sin cifrar a través de la red para informar al receptor qué PSK usar.| |tls\_psk|string|*(solo escritura)* La clave previamente compartida, al menos 32 dígitos hexadecimales. Requerido si `tls_connect` o `tls_accept` tienen PSK habilitado.| |proxy\_address|cadena|Direcciones IP delimitadas por comas o nombres DNS del proxy Zabbix activo.| |auto\_compress|integer|*(solo lectura)* Indica si la comunicación entre el servidor Zabbix y el proxy está comprimida.<br><br>Los valores posibles son:<br>0 - Sin compresión;<br>1 - Compresión habilitada;|  Tenga en cuenta que para algunos métodos (actualizar, eliminar) la combinación de parámetros requeridos/opcionales es diferente.

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
es	# Proxy  Esta clase está diseñada para trabajar con servidores proxy.  Referencias de objetos:\  - [Proxy](/manual/api/reference/proxy/object#proxy) - [Interfaz   proxy](/manual/api/reference/proxy/object#proxy_interface)  Métodos disponibles:\  - [proxy.create](/manual/api/reference/proxy/create) - crear nuevos     servidores proxy - [proxy.delete](/manual/api/reference/proxy/delete) - eliminar servidores proxy - [proxy.get](/manual/api/reference/proxy/get) - recuperar servidores proxy - [proxy.update](/manual/api/reference/proxy/update) - actualizar servidores proxy

en-us	# proxy.update
es	# proxy.update

en-us	#### Proxy upgrade process
es	#### Proceso de actualización de 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.
es	##### Proxy  [Proxy Zabbix](/manual/concepts/proxy) puede recopilar datos de rendimiento y datos de disponibilidad en nombre del servidor Zabbix. Un proxy es opcional parte del despliegue de Zabbix; sin embargo, puede ser muy beneficioso para distribuir la carga de un solo 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"
es	#### PSK contiene un número impar de dígitos hexadecimales  El proxy o el agente no se inicia, el mensaje en el registro del proxy o del agente:      PSK no válido en el archivo "/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.
es	#### La cadena de identidad PSK de más de 128 bytes se pasa a GnuTLS  En el registro del lado del cliente TLS:      gnutls_handshake() falló: -110 La conexión TLS no finalizó correctamente.  En el registro del lado del servidor TLS.      gnutls_handshake() falló: -90 El nombre de usuario SRP proporcionado es ilegal.

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.
es	#### Mapas públicos y privados  Todos los usuarios de Zabbix (incluidos los usuarios que no son administradores) pueden crear mapas de red. Los mapas tienen un propietario: el usuario que los creó. Los mapas se pueden hacer públicos. o privado.  - Los mapas *Públicos* son visibles para todos los usuarios, aunque para verlo el usuario     debe tener acceso de lectura a al menos un elemento del mapa. Los mapas públicos pueden     editarse en caso de que un usuario/grupo de usuarios tenga permisos de lectura y escritura para     este mapa y al menos permisos de lectura para todos los elementos del     mapa correspondiente incluyendo activadores en los enlaces.  ```{=html} <!-- --> ``` - Los mapas *privados* son visibles sólo para su propietario y los usuarios/usuario     grupos el mapa es [compartido](/manual/config/visualization/maps/map)     con por el propietario. Los usuarios habituales (no superadministradores) solo pueden compartir     con los grupos y usuarios a los que pertenecen. Los usuarios de nivel administrador pueden     ver mapas privados sin importar ser el propietario o pertenecer a la     lista de usuarios compartidos. Los mapas privados pueden ser editados por el propietario del mapa.     y en caso de que un usuario/grupo de usuarios tenga permisos de lectura y escritura para esto     mapa y al menos permisos de lectura para todos los elementos del     mapa correspondiente incluyendo activadores en los enlaces.  Los elementos del mapa para los que el usuario no tiene permiso de lectura son aparece con un icono atenuado y toda la información textual en el El elemento está oculto. Sin embargo, la etiqueta del activador es visible incluso si el El usuario no tiene permiso para activar el disparador.  Para agregar un elemento al mapa, el usuario también debe tener al menos permiso de lectura sobre el elemento.

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.
es	##### Propósito de los archivos persistentes  Cuando se inicia el agente Zabbix, recibe una lista de cheques activos de Zabbix servidor o proxy. Para las métricas log\*\[\], recibe el tamaño del registro procesado y el tiempo de modificación para encontrar desde dónde iniciar la supervisión del archivo de registro. Según el tamaño real del archivo de registro y el tiempo de modificación informado por el archivo sistema, el agente decide continuar con la supervisión del archivo de registro desde el tamaño del registro procesado o vuelva a analizar el archivo de registro desde el principio.  Un agente en ejecución mantiene un conjunto más grande de atributos para rastrear todos los monitoreados archivos de registro entre comprobaciones. Este estado en memoria se pierde cuando el agente es detenido.  El nuevo parámetro opcional **persistent\_dir** especifica un directorio para almacenar este estado del elemento log\[\], log.count\[\], logrt\[\] o logrt.count\[\] en un archivo. El estado del elemento de registro se restaura desde el archivo persistente después de la Se reinicia el agente Zabbix.  El caso de uso principal es la supervisión del archivo de registro ubicado en un archivo reflejado sistema. Hasta algún momento en el tiempo, el archivo de registro se escribe en ambos espejos. Después los espejos estan partidos. En la copia activa, el archivo de registro sigue creciendo, obteniendo nuevos registros El agente de Zabbix lo analiza y envía el tamaño de los registros procesados y tiempo de modificación al servidor. En la copia pasiva, el archivo de registro permanece igual, muy por detrás de la copia activa. Más tarde el sistema operativo y el agente Zabbix son reiniciado desde la copia pasiva. El tamaño del registro procesado y el tiempo de modificación. el agente Zabbix recibe del servidor puede no ser válido para la situación en el copia pasiva. Para continuar con la supervisión del archivo de registro desde el lugar que dejó el agente apagado en el momento de la división del espejo del sistema de archivos, el agente restaura su estado desde el archivo persistente.

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>|
es	#### Comparación de lenguaje de consulta  La siguiente tabla enumera las diferencias y similitudes entre PromQL y lenguaje de consulta de preprocesamiento Zabbix Prometheus.  |[Selector de vector instantáneo PromQL](https://prometheus.io/docs/prometheus/latest/querying/basics/#instant-vector-selectors)|<|Preprocesamiento de Zabbix Prometheus| |----|----|----| |**Diferencias**|<|<| |Objetivo de consulta|Servidor Prometheus|Texto sin formato en formato de exposición Prometheus| |Devoluciones|Vector instantáneo|Métrica o valor de etiqueta (patrón Prometheus)<br>Matriz de métricas para valor único en JSON (Prometheus a JSON)| |Operadores de coincidencia de etiquetas|**=**, **!=**, **=\~**, **!\~**|**=**, **!=**, **= \~**, **!\~**| |Expresión regular utilizada en la coincidencia de nombres de etiquetas o métricas|RE2|PCRE| |Operadores de comparación|Consulte [lista](https://prometheus.io/docs/prometheus/latest/querying/operators/#comparison-binary-operators)|Solo se admite **==** (igual) para el filtrado de valores | |**Similitudes**|<|<| |Seleccionar por nombre de métrica que sea igual a cadena|<nombre de métrica> o {\_\_name\_\_="<nombre de métrica>"}|<nombre de métrica> o {\_\_nombre\_\_="<métrica nombre>"}| |Seleccionar por nombre de métrica que coincida con la expresión regular|{\_\_name\_\_=\~"<regex>"}|{\_\_name\_\_=\~"<regex>"}| |Seleccionando por <nombre de etiqueta> valor que es igual a cadena|{<nombre de etiqueta>="<valor de etiqueta>",...}|{<nombre de etiqueta>="<valor de etiqueta>",...}| |Seleccionando por <nombre de etiqueta> valor que coincida con la expresión regular|{<nombre de etiqueta>=\~"<regex>",...}|{<nombre de etiqueta>=\~"<regex>",...} | |Seleccionando por valor que es igual a cadena|{\_\_nombre\_\_=\~".\*"} == <valor>|{\_\_nombre\_\_=\~".\*"} == <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.
es	### Consultar espacios de tabla separados en bases de datos Oracle con el agente Zabbix 2  Las siguientes [métricas del agente 2 de Zabbix](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2), compatibles con el complemento de Oracle, ahora tienen parámetros opcionales adicionales:  -   oracle.diskgroups.stats\[<parámetros existentes>,**<grupo de discos>**\] -   oracle.archive.info\[<parámetros existentes>,**<destino>**\] -   oracle.cdb.info\[<parámetros existentes>,**<base de datos>**\] -   oracle.pdb.info\[<parámetros existentes>,**<base de datos>**\] -   oracle.ts.stats\[<parámetros existentes>,**<espacio de tabla>**,**<tipo>**\]  Estos parámetros permiten consultar instancias de datos separadas en lugar de todos los datos, mejorando así el rendimiento.

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).
es	#### Elemento de la cola  Un elemento interno especial **zabbix\[queue,<from>,<to>\]** puede usarse para monitorear la salud de la cola en Zabbix. devolverá el número de artículos retrasados por la cantidad de tiempo establecida. Para más información consulte [Elementos internos](/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"}
es	##### Resumen legible en mapas  Hay disponible una propiedad oculta "aria-label" que permite que la información del mapa pueda leerse con un lector de pantalla. Tanto la descripción general del mapa como la descripción de la métrica individual está disponible, en el siguiente formato:  - para descripción del mapa:     `<Nombre del mapa>, <* de * métricas en estado de problema>, <* problemas en total>.` - para describir una métrica con un problema:     `<Tipo de métrica>, Estado <Estado de la métrica>, <Nombre de la métrica>, <Descripción del problema>.` - para describir una métrica con múltiples problemas:     `<Tipo de métrica>, Estado <Estado de la métrica>, <Nombre de la métrica>, <* problemas>.` - para describir una métrica sin problemas:     `<Tipo de métrica>, Estado <Estado de la métrica>, <Nombre de la métrica>.`  Por ejemplo, esta descripción está disponible:      'Red local, 1 de 6 métricas en estado problemático, 1 problema en total. Equipo, Problema de estado, Mi host, El espacio libre en disco es inferior al 20% en el volumen \/. Grupo de equipos, Estado correcto, Servidores virtuales. Equipo, Estado correcto, Servidor 1. Equipo, Estado correcto, Servidor 2. Equipo, Estado correcto, Servidor 3. Equipo, Estado correcto, Servidor 4. '  para el siguiente mapa:  ![](../../../../../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.
es	#### Leyendo la disponibilidad del equipo  Los iconos de disponibilidad del equipo reflejan el estado actual de la interfaz del equipo en el Servidor Zabbix. Por lo tanto, en el frontend:  -   Si desactiva un equipo, los íconos de disponibilidad no se volverán .     grises (estado desconocido) inmediatamente, porque el servidor tiene que sincronizar     los cambios de configuración primero; -   Si habilita un equipo, los íconos de disponibilidad no se pondrán en      verde (disponible) inmediatamente, porque el servidor tiene que sincronizar los     cambios de configuración y comenzar a sondear el equipo primero.

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"}
es	#### Leyendo la cola  Para leer la cola, vaya a *Administración → Cola*.  ![](../../../../assets/en/manual/config/items/queue.png){width="600"}  La imagen aquí es generalmente "ok", por lo que podemos suponer que el servidor está haciéndolo bien.  La cola muestra algunas métricas esperando hasta 30 segundos. Sería genial saber qué métricas son estas.  Para hacer precisamente eso, seleccione *Detalles de la cola* en el menú desplegable del título. Ahora puede ver una lista de esas métricas retrasadas.  ![](../../../../assets/en/manual/config/items/queue_details.png){width="600"}  Con estos detalles proporcionados, puede ser posible averiguar por qué estas métricas se hayan retrasado.  Con una o dos métricas retrasadas, quizás no haya motivo de alarma. Podrían actualizarse en un segundo. Sin embargo, si ve un montón de métricas que se retrasan demasiado, podría haber un problema más serio.  **Ver también:** Alinear zonas horarias al usar [intervalos de programación](/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"}
es	#### Plantillas listas para usar  El conjunto de datos predeterminado en Zabbix ofrece varias plantillas listas para usar para la monitorización de VMware vCenter o directamente del hipervisor ESX. Estas plantillas contienen reglas LLD preconfiguradas, así como una serie de comprobaciones integradas para el seguimiento de instalaciones virtuales.  Plantillas para monitoreo de hipervisor VMware vCenter y ESX:  - *VMware* - utiliza datos UUID para las macros correspondientes; - *VMware FQDN*: utiliza datos FQDN para las macros correspondientes.  ::: noteclassic Para que la plantilla *VMware FQDN* funcione correctamente, cada VM monitoreada debe tener un nombre de sistema operativo único que cumpla con las reglas FQDN. y VMware Tools/Open Virtual Machine Tools deben estar instalados en cada máquina. Si se cumplen estas condiciones, se recomienda utilizar la plantilla *VMware FQDN*. La creación de la plantilla *VMware FQDN* fue posible después de introducir la capacidad de crear hosts con interfaces personalizadas en Zabbix 5.2.\ \ Una plantilla clásica *VMware* todavía está disponible y se puede usar si el FQDN no se pueden cumplir los requisitos. Tenga en cuenta que *VMware* La plantilla tiene un problema conocido. Los hosts de las máquinas virtuales descubiertas crearse con los nombres guardados en vCenter (por ejemplo, VM1, VM2, etc.). Si el agente Zabbix activo se instala en estos equipos más adelante con registro automático habilitado, el proceso de registro automático leerá el equipo nombres tal como se registraron en el momento del lanzamiento (por ejemplo, vm1.example.com, vm2.example.com, etc.) y crear nuevos equipos ya que no Se han encontrado coincidencias de nombres. Como resultado habrá dos duplicados. equipos para cada máquina con nombres diferentes. :::  Plantillas utilizadas por descubrimiento (normalmente, estas plantillas no deben ser vinculado manualmente a un host):  - *Hipervisor VMware*; - *Invitado de VMware*.  ![](../../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*.   :::
es	#### Recibiendo notificación  Ahora, con la entrega de notificaciones configurada, sería interesante realmente recibir uno. Para ayudar con eso, podríamos aumentar intencionalmente la carga en nuestro equipo - para que nuestro [iniciador](trigger#adding_trigger) "se dispare" y recibamos una notificación de problema.  Abra la consola en su equipo y ejecute:      cat /dev/urandom | md5sum  Puede ejecutar uno o varios de [estos procesos](http://en.wikipedia.org/wiki/Md5sum).  Ahora vaya a *Monitoreo → Últimos datos* y vea cómo los valores de 'carga de CPU' han aumentado. Recuerde, para que nuestro iniciador se *dispare*, cuando el valor de la 'carga de CPU' supera '2' durante 3 minutos seguidos. Una vez que lo haga:  - en *Monitoreo → Problemas* debería ver el iniciador con un     estado intermitente de 'Problema' - deberías recibir una notificación del problema en su correo electrónico  ::: noteimportant Si las notificaciones no funcionan:  - verificar una vez más que tanto la configuración del correo electrónico como la acción hayan     sido configurado correctamente - asegúrese de que el usuario que creó tenga al menos permisos de lectura en el     equipo que generó el evento, como se indica en *[Agregar     usuario](login#adding_user)* paso. El usuario, al formar parte del 'Zabbix     El grupo de usuarios de administradores debe tener al menos acceso de lectura a 'Linux     grupo de hosts de servidores al que pertenece nuestro equipo. - Además, puedes consultar el registro de acciones en *Informes     → Registro de acciones*.   :::

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).
es	##### Marcadores de cambios recientes  Los triángulos rojos que apuntan hacia adentro alrededor de un elemento indican un  cambio de estado reciente de un iniciador: uno que haya ocurrido en los últimos 30 minutos. Estos triángulos se muestran si la casilla de verificación *Marcar elementos al cambiar el estado del iniciador* está marcada en la [configuración](/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.
es	#### Datos recientes frente a períodos más largos  Para datos muy recientes, se dibuja una **única** línea que conecta cada uno de los datos recibidos. valor. La línea única se dibuja siempre que haya al menos una píxel horizontal disponible para un valor.  Para los datos que muestran un período más largo, se dibujan **tres líneas**: una línea oscura uno verde muestra el promedio, mientras que un rosa claro y una línea verde claro muestra los valores máximo y mínimo en ese momento. El espacio entre los máximos y los mínimos se rellena con un fondo amarillo.  El tiempo de trabajo (días laborables) se muestra en gráficos como un blanco fondo, mientras que el tiempo no laborable se muestra en gris (con el * Tema de interfaz predeterminado azul original *).  ![](../../../../../assets/en/manual/config/graph_working_time.png){width="550"}  El tiempo de trabajo siempre se muestra en gráficos simples, mientras que mostrarlo en [gráficos personalizados](custom#configuring_custom_graphs) es un usuario preferencia.  El tiempo de trabajo no se muestra si el gráfico muestra más de 3 meses.

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*.
es	**Filtro de registro**  Se agregó una funcionalidad para filtrar registros por la operación de interfaz que causó estas entradas. Si varios registros se han creado como resultado de una única operación, por ejemplo, vincular/desvincular una plantilla, esos registros tendrán el mismo *ID del conjunto de registros*.

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.
es	**Registros**  El registro de auditoría ahora contiene registros sobre todos los cambios de configuración para todos los objetos de Zabbix, incluidos los cambios que ocurrieron como resultado de la ejecución de una regla LLD, una acción de descubrimiento de red, una acción de registro automático o la ejecución de un script. Anteriormente, los cambios de configuración iniciados desde el servidor Zabbix, por ejemplo, como resultado de la ejecución de una regla de descubrimiento, no fueron registrados. Ahora dichas modificaciones de objetos se almacenarán como registros de auditoría atribuidos al usuario System.

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. :::
es	#### Detalles de la operación de recuperación  ![](../../../../../assets/en/manual/config/recovery_operative_details.png)  Hay tres tipos de operaciones disponibles para eventos de recuperación:  -   **Enviar mensaje**: envía un mensaje de recuperación al usuario especificado; -   **Notificar a todos los involucrados**: envía un mensaje de recuperación a todos los usuarios que fueron notificados sobre el evento del problema; -   **<nombre del comando remoto>** - ejecuta un comando remoto. Los comandos están disponibles para su ejecución si se definen previamente en [scripts globales](/manual/web_interface/frontend_sections/administration/scripts#configuring_a_global_script) con *Operación de acción* seleccionada como alcance.  Los parámetros para cada tipo de operación se describen a continuación. Todos los campos de entrada obligatorios están marcados con un asterisco rojo. Cuando termine, haga clic en *Agregar* para agregar la operación a la lista de *Operaciones de recuperación*.  ::: noteclassic Tenga en cuenta que si el mismo destinatario está definido en varios tipos de operación sin un *mensaje personalizado* especificado, no se envían notificaciones duplicadas. :::

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
es	### Red Hat Enterprise Linux  Abra el archivo `/etc/yum.repos.d/zabbix.repo` y establezca enable=1 para el repositorio `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.| |
es	 ### Redis  |Clave|<|<|<| |--|--|------|------| |**Descripción**|**Valor devuelto**|**Parámetros**|**Comentarios**| |redis.config\[connString,<contraseña>,<patrón>\]|<|<|<| |Obtiene los parámetros de configuración de una instancia de Redis que coinciden con el patrón.|JSON: si se usó un patrón de estilo global<br><br>valor único: si un patrón no contenía ningún carácter comodín|**connString**: URI o nombre de sesión.<br>**contraseña**: contraseña de Redis.<br>**patrón**: patrón de estilo global (*\** por defecto).| | |redis.info\[connString,<contraseña>,<sección>\]|<|<|<| |Obtiene la salida del comando INFO.|JSON: la salida se serializa como JSON|**connString**: URI o nombre de sesión.<br>**password**: contraseña de Redis.<br>**section**: [sección](https://redis.io/commands/info) de información (*predeterminado* por defecto).| | |redis.ping\[connString,<contraseña>\]|<|<|<| |Comprobar si una conexión está viva o no.|1: la conexión está viva<br><br>0: la conexión está interrumpida (si se presenta algún error, incluidos los problemas de configuración y AUTH)|**connString**: URI o sesión nombre.<br>**contraseña** - Contraseña de Redis.| | |redis.slowlog.count\[connString,<contraseña>\]|<|<|<| |El número de entradas de registro lentas desde que se inició Redis.|Integer|**connString** - URI o nombre de sesión.<br>**password** - Contraseña 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(); ```
es	#### Referencia  Esta sección contiene versiones básicas de diferentes elementos del módulo.introducido en las secciones anteriores.  **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(); ```

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.
es	##### Hacer referencia a un mapa de red  Se puede hacer referencia a los mapas de red mediante los parámetros GET   tanto`sysmapid` como `mapname`. Por ejemplo,      http://zabbix/zabbix/zabbix.php?action=map.view&mapname=Red%20local  Se abrirá el mapa con ese nombre (Red local).  Si se especifican tanto `sysmapid` (ID del mapa) como `mapname` (nombre del mapa), `mapname` tiene mayor prioridad.

en-us	#### regexp  Changes:\ [ZBXNEXT-6717](https://support.zabbix.com/browse/ZBXNEXT-6717) added `regexp.get`, `regexp.create`, `regexp.update` and `regexp.delete` API.\
es	#### regexp  Cambios:\ [ZBXNEXT-6717](https://support.zabbix.com/browse/ZBXNEXT-6717) añadida la Interfaz de Programación de Aplicaciones para `regexp.get`,`regexp.create`y `regexp.delete'.\

en-us	# regexp.create
es	# regexp.create

en-us	# regexp.delete
es	# regexp.delete

en-us	# regexp.get
es	# regexp.get

en-us	# regexp.update
es	# 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"}
es	 ###### Solicitud de registro  Una solicitud enviada por el agente durante la fase de inicio del agente para obtener las métricas proporcionadas para registrar un complemento.  | | | |---|---| |dirección|agente → plugin| |respuesta|sí|  Parámetros específicos para registrar solicitudes:  |Nombre|Tipo|Comentarios| |---------|--------|----------| |version|cadena|La versión del protocolo <principal>.<menor>|  *Ejemplo:*      {"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"}
es	 ###### Respuesta de registro  Respuesta del complemento a la solicitud de registro.  | | | |---|---| |dirección|plugin → agente| |response|n/a|  Parámetros específicos para registrar respuestas:  |Nombre|Tipo|Comentarios| |---------|--------|----------| |name|cadena|El nombre del complemento.| |metrics|matriz de cadenas (opcional)|Las métricas con descripciones tal como se utilizan en el complemento. Devuelve RegisterMetrics(). Ausente si se devuelve un error.| |interfaces|uint32 (opcional)|La máscara de bits de las interfaces admitidas por el complemento. Ausente si se devuelve un error.| |error|cadena (opcional)|Se devuelve un mensaje de error si no se puede iniciar un complemento. Ausente, si se devuelven métricas.|  *Ejemplos:*      {"id":2,"type":3,"metrics":["external.test", "External exporter Test."], "interfaces": 4}  o      {"id":2,"type":3,"error":"error message"}

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.
es	#### Limitaciones de las expresiones regulares en el agente Zabbix 2  El agente 2 de Zabbix no admite búsquedas hacia adelante y hacia atrás en expresiones regulares debido a las limitaciones de la biblioteca estándar de expresiones regulares de Go.

en-us	# > Regular expression object  The following objects are directly related to the `regexp` API.
es	# > Objeto de expresión regular  Los siguientes objetos están directamente relacionados con la API `regexp`.

en-us	#### Regular expressions  Manage global regular expressions.  [Regular expression API](/manual/api/reference/regexp)
es	#### Expresiones Regulares  Administre expresiones regulares globales.  [API de Expresión Regular](/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.
es	#### - Expresiones regulares  Esta sección permite crear expresiones regulares personalizadas que pueden usarse en varios lugares del frontend. Ver [expresiones regulares](/manual/regular_expressions) para obtener más detalles.

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.
es	#### Expresiones regulares  Puede ingresar manualmente una expresión regular en lugares admitidos. Tenga en cuenta que la expresión no puede comenzar con @ porque ese símbolo se usa en Zabbix para hacer referencia a expresiones regulares globales.  ::: notewarning Es posible quedarse sin stack cuando se usa expresiones regulares. Ver la página [man pcrestack](http://pcre.org/original/doc/html/pcrestack.html) para más información. :::  Tenga en cuenta que en la coincidencia multilínea, los anclajes `^` y `$` coinciden en el principio/final de cada línea respectivamente, en lugar del principio/final de toda la cadena.  Consulte también ejemplos de [escape correcto](/manual/appendix/escaping) en varios contextos.

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.
es	### Expresión regular  El objeto de expresión regular global tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |regexpid|cadena|*(readonly)* ID de la expresión regular.| |**name**<br>(obligatorio)|cadena|Nombre de la expresión regular.| |test\_string|cadena|Cadena de prueba.|  Tenga en cuenta que para algunos métodos (actualizar, eliminar) la combinación de parámetros requeridos/opcionales es diferente.

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
es	# Expresión regular  Esta clase está diseñada para trabajar con expresiones regulares globales.  Referencias de objetos:\  -[Regular expression](/manual/api/reference/regexp/object)  Métodos disponibles:\  - [regexp.create](/manual/api/reference/regexp/create) - crear nuevo     expresiones regulares - [regexp.delete](/manual/api/reference/regexp/delete) - eliminar     expresiones regulares - [regexp.get](/manual/api/reference/regexp/get) - recuperar expresiones regulares - [regexp.update](/manual/api/reference/regexp/update) - actualizar     expresiones regulares

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.
es	##### Límite de comando remoto  El límite de comando remoto después de resolver todas las macros depende del tipo de base de datos y juego de caracteres (los caracteres no ASCII requieren más de un byte a almacenar):  |Base de datos|Límite en caracteres|Límite en bytes| |---|---|---| |MySQL|65535|65535| |Base de datos Oracle|2048|4000| |PostgreSQL|65535|no limitado| |SQLite (solo proxy Zabbix)|65535|no limitado|  La salida de ejecución remota de comandos (valor de retorno) está limitada a 16 MB (incluidos los espacios en blanco finales que están truncados). El límite del [comando remoto IPMI](#ipmi-remote-commands) se basa en la biblioteca IPMI instalada. Tenga en cuenta que los [límites de la base de datos](/manual/config/items/item#text_data_limits) se aplican a todos los comandos remotos.

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
es	#### Comandos remotos con múltiples interfaces  Si el sistema de destino tiene múltiples interfaces del tipo seleccionado (Agente Zabbix o IPMI), los comandos remotos se ejecutarán en la interfaz predeterminada.  Es posible ejecutar comandos remotos a través de SSH y Telnet usando otra interfaz que la del agente Zabbix. La interfaz disponible para el uso se selecciona en el siguiente orden:     * Interfaz predeterminada del agente Zabbix    * Interfaz SNMP predeterminada    * Interfaz predeterminada JMX    * Interfaz IPMI predeterminada

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 } ```
es	#### Eliminar la caducidad del token  Eliminar la fecha de vencimiento del token.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "token.update",     "params": {         "tokenid": "2",         "expires_at": "0"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Eliminar hosts de grupos de hosts  Elimine dos hosts de los grupos de hosts indicados.  Solicitud:  ```json {     "jsonrpc": "2.0",     "método": "hostgroup.massremove",     "parámetros": {         "grupos": [             "5",             "6"         ],         "hostids": [             "30050",             "30001"         ]     },     "autenticación": "038e1d7b1735c6a5436ee9eae095879e",     "identificación": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "resultado": {         "grupos": [             "5",             "6"         ]     },     "identificación": 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 } ```
es	#### Eliminando interfaces  Elimine la interfaz SNMP "127.0.0.1" de dos hosts.  Solicitud:  ```json {     "jsonrpc": "2.0",     "método": "hostinterface.massremove",     "parámetros": {         "hostids": [             "30050",             "30052"         ],         "interfaces": {             "dns": "",             "IP": "127.0.0.1",             "puerto": "161"         }     },     "autenticación": "038e1d7b1735c6a5436ee9eae095879e",     "identificación": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "resultado": {         "interfaceids": [             "30069",             "30070"         ]     },     "identificación": 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 } ```
es	#### Eliminar plantillas de un grupo  Elimine dos plantillas del grupo "2".  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "template.massremove",     "params": {         "templateids": [             "10085",             "10086"         ],         "groupids": "2"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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.  
es	#### Eliminación de la página de prueba del servidor web  Se recomienda eliminar la página de prueba del servidor web para evitar la exposición de la información. Por defecto, el servidor webroot contiene una página de prueba de prueba llamada index.html (Apache2 en Ubuntu se utiliza como ejemplo):  ![](../../../../assets/en/manual/installation/requirements/test_page.png)  La página de prueba debe ser eliminada o no debe estar disponible como parte del proceso de endurecimiento 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 } ```
es	#### Cambiar nombre del mapa de iconos  Cambie el nombre de un mapa de iconos a "iconos del OS".   Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "iconmap.update",     "params": {         "iconmapid": "1",         "name": "OS icons"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Cambiar nombre de imagen  Cambie el nombre de la imagen a "Icono de nube".   Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "image.update",     "params": {         "imageid": "2",         "name": "Cloud icon"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Cambiar el nombre de un panel  Cambiar el nombre de un tablero a "Estado del servidor SQL".  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "dashboard.update",     "params": {         "dashboardid": "2",         "name": "Estado del servidor SQL"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Eliminar hosts de grupos de hosts  Elimine dos hosts de los grupos de hosts indicados.  Solicitud:  ```json { "jsonrpc": "2.0", "method": "hostgroup.update", "params": { "groupid": "7", "name": "Linux hosts" }, "auth": "700ca65537074ec963db7efabda78259", "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Cambiar el nombre de una plantilla de tablero  Cambie el nombre de una plantilla de tablero a "Gráficos de rendimiento".  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "templatedashboard.update",     "params": {         "dashboardid": "23",         "name": "Gráficos de rendimiento"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Cambiar el nombre de una plantilla  Cambie el nombre de la plantilla a "Plantilla OS Linux".  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "template.update",     "params": {         "templateid": "10086",         "name": "Plantilla OS Linux"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Cambiar el nombre de un usuario  Cambie el nombre de un usuario a John Doe.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "user.update",     "params": {         "userid": "1",         "name": "John",         "surname": "Doe"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Reemplazar condiciones, pero mantener el método de evaluación.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "correlation.update",     "params": {         "correlationid": "1",         "filter": {             "conditions": [                 {                     "type": 3,                     "oldtag": "error",                     "newtag": "ok"                 }             ]         }     },     "auth": "343baad4f88b4106b9b5961e77437688",     "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Reemplazo de grupos de equipos  Desvincule y borre la plantilla "10091" de las plantillas proporcionadas.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "template.massupdate",     "params": {         "templates": [             {                 "templateid": "10085"             },             {                 "templateid": "10086"             }         ],         "templates_clear": [             {                 "templateid": "10091"             }         ]     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Reemplazar interfaces de host  Reemplazar todas las interfaces de host por una única interfaz de agente.  Solicitud:  ```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 } ```  Respuesta:  ```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 } ```
es	#### Reemplazo de hosts y plantillas en un grupo de hosts  Reemplace todos los hosts de un grupo de hosts por los hosts mencionados y desvincule todos plantillas del grupo anfitrión.   Solicitud:  ```json { "jsonrpc": "2.0", "method": "hostgroup.massupdate", "params": { "groups": [ { "groupid": "6" } ], "hosts": [ { "hostid": "30050" } ], "templates": [] }, "auth": "f223adf833b2bf2ff38574a67bba6372", "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Reemplazo de etiquetas de prototipo de iniciador  Reemplace las etiquetas de un prototipo de iniciador.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "triggerprototype.update",     "params": {         "triggerid": "17373",         "tags": [             {                 "tag": "volume",                 "value": "{#FSNAME}"             },             {                 "tag": "type",                 "value": "{#FSTYPE}"             }         ]     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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 } ```
es	#### Reemplazo de etiquetas de iniciador  Reemplace las etiquetas del iniciador.  Solicitud:  ```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 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "13938"         ]     },     "id": 1 } ```

en-us	# report.create
es	# report.create

en-us	# report.delete
es	# 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.
es	 ### Detalles del informe  Si hace clic en el nombre del servicio en el informe, podrá acceder a otro informe que muestra una vista más detallada.  ![](../../../../../assets/en/manual/web_interface/sla_report_details.png){width="600"}  Tenga en cuenta que una [duración del problema negativa](/manual/web_interface/frontend_sections/monitoring/problems#negative-problem-duration) no afecta el cálculo o los informes del SLA.

en-us	# report.get
es	# report.get

en-us	# > Report object  The following objects are directly related to the `report` API.
es	# > Objeto de informe  Los siguientes objetos están directamente relacionados con la 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. 
es	 ### Informe  El filtro permite seleccionar el informe según el nombre del SLA, así como el nombre del Servicio. También es posible limitar el período mostrado.  ![](../../../../../assets/en/manual/web_interface/sla_report.png){width="600"}  Cada columna (período) muestra el SLI para ese período. Los SLI que incumplen el valor de SLO están resaltados en rojo.  En el informe se muestran 20 períodos. Se puede mostrar un máximo de 100 períodos, si se especifican tanto la fecha *Desde* como la fecha *Hasta*.

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.
es	### Informe  El objeto de informe tiene las siguientes propiedades:  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |reportid|string|*(readonly)* ID del informe.| |**userid**<br>(obligatorio)|cadena|ID del usuario que creó el informe.| |**nombre**<br>(obligatorio)|cadena|Nombre único del informe.| |**dashboardid**<br>(obligatorio)|cadena|ID del panel en el que se basa el informe.| |period|integer|Período para el cual se preparará el informe.<br><br>Valores posibles:<br>0 - *(predeterminado)* día anterior;<br>1 - semana anterior;<br>2 - anterior mes;<br>3 - año anterior.| |ciclo|entero|Programación de repetición de período.<br><br>Valores posibles:<br>0 - *(predeterminado)* diario;<br>1 - semanal;<br>2 - mensual;<br>3 - anual .| |start\_time|integer|Hora del día, en segundos, en la que se preparará el informe para su envío.<br><br>Valor predeterminado: 0.| |weekdays|integer|Días de la semana para enviar el informe.<br><br>Obligatorio solo para informes semanales.<br><br>Los días de la semana se almacenan en formato binario y cada bit representa el día de la semana correspondiente. Por ejemplo, 12 equivale a 1100 en binario y significa que los informes se enviarán todos los miércoles y jueves.<br><br>Valor predeterminado: 0.| |active\_since|string|En qué fecha comenzar.<br><br>Valores posibles:<br>cadena vacía - *(predeterminado)* no especificado (almacenado como 0);<br>fecha específica en AAAA-MM -Formato DD (almacenado como marca de tiempo del comienzo de un día (00:00:00)).| |active\_till|string|En qué fecha finalizar.<br><br>Valores posibles:<br>cadena vacía - *(predeterminado)* no especificado (almacenado como 0);<br>fecha específica en AAAA-MM -Formato DD (almacenado como marca de tiempo del final de un día (23:59:59)).| |asunto|cadena|Reportar asunto del mensaje.| |mensaje|cadena|Reportar texto del mensaje.| |status|entero|Si el informe está habilitado o deshabilitado.<br><br>Valores posibles:<br>0 - Deshabilitado;<br>1 - *(predeterminado)* Habilitado.| |descripción|texto|Descripción del informe.| |state|integer|*(solo lectura)* Estado del informe.<br><br>Valores posibles:<br>0 - *(predeterminado)* el informe aún no se procesó;<br>1: el informe se generó y se realizó correctamente enviado a todos los destinatarios;<br>2: error al generar el informe; "info" contiene información de error;<br>3: se generó el informe, pero falló el envío a algunos (o todos) los destinatarios; "info" contiene información de error.| |último envío|marca de tiempo|*(solo lectura)* Marca de tiempo Unix del último informe enviado correctamente.| |info|string|*(readonly)* Descripción del error o información adicional.|  Tenga en cuenta que para algunos métodos (actualizar, eliminar) la combinación de parámetros requeridos/opcionales es diferente.

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
es	# Informe  Esta clase está diseñada para trabajar con informes programados.  Referencias de objetos:\  -[Report](/manual/api/reference/report/object#informe) -[Users](/manual/api/reference/report/object#usuarios) -[User groups](/manual/api/reference/report/object#grupos_de_usuario)   Métodos disponibles:\  - [report.create](/manual/api/reference/report/create) - cree nuevo     informes programados - [report.delete](/manual/api/reference/report/delete) - elimine     informes programados - [report.get](/manual/api/reference/report/get) - recupere informes      programados - [report.update](/manual/api/reference/report/update) - actualize     informes programados

en-us	# report.update
es	# 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
es	##### - Repositorios  El [Repositorio](/manual/installation/install_from_packages/rhel)  Zabbix oficial se ha agregado 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 } ```
es	#### Solicitando información de usuario autenticado  Autenticar y devolver información adicional sobre el usuario.  Pedido:  ```json {     "jsonrpc": "2.0",     "método": "usuario.iniciar sesión",     "parámetros": {         "nombre de usuario": "Administrador",         "contraseña": "zabbix",         "datos de usuario": verdadero     },     "identificación": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "resultado": {         "ID de usuario": "1",         "nombre de usuario": "Administrador",         "nombre": "Zabbix",         "apellido": "Administrador",         "URL": "",         "autologin": "1",         "cierre de sesión automático": "0",         "lang": "ru_RU",         "actualizar": "0",         "tema": "predeterminado",         "intento_fallido": "0",         "intento_ip": "127.0.0.1",         "intento_reloj": "1355919038",         "rows_per_page": "50",         "timezone": "Europa/Riga",         "roleid": "3",         "tipo": 3,         "userip": "127.0.0.1",         "modo_depuración": 0,         "gui_acceso": 0,         "sessionid": "5b56eee8be445e98f0bd42b435736e42"     },     "identificación": 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 } ```
es	Solicitud:  ```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 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "slaids": [             "5"         ]     },     "id": 1 } ```

en-us	### Required mode
es	### Modo requerido

en-us	### Required mode
es	### Modo requerido

en-us	#### Required software  Zabbix is built around modern web servers, leading database engines, and PHP scripting language.
es	#### Software necesario  Zabbix se basa en servidores web modernos, motores de bases de datos líderes y lenguaje de programación 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. 
es	##### Requisitos  Se requiere lo siguiente para configurar el cifrado:  - Sistema operativo con OpenSSL >=1.1.X o     alternativas soportado por desarrolladores .  ::: noteclassic  Se recomienda evitar un SO en su fase final de vida, especialmente en el caso de nuevas instalaciones :::  - Motor de base de datos (RDBMS) instalado y mantenido desde el sitio oficial     con repositorio proporcionado por el desarrollador. Los sistemas operativos a menudo se envían     con versiones obsoletas de software de bases de datos para las cuales el soporte de cifrado     no está implementado, por ejemplo, sistemas basados en RHEL 7 y     PostgreSQL 9.2, MariaDB 5.5 sin soporte de cifrado.

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").
es	### Valor de ID reservado "0"  El valor de ID reservado "0" se puede utilizar para filtrar elementos y eliminar objetos referenciados. Por ejemplo, para eliminar un proxy al que se hace referencia de un equipo, proxy\_hostid debe establecerse en 0 ("proxy\_hostid": "0") o para filtrar equipos monitoreados por la opción de servidor proxyids deben establecerse en 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 } ```
es	#### Cambiar el tamaño de un mapa  Cambie el tamaño del mapa a 1200x1200 píxeles.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "map.update",     "params": {         "sysmapid": "8",         "width": 1200,         "height": 1200     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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.
es	#### Restringir el emisor y el asunto del certificado permitido  Cuando dos componentes de Zabbix (por ejemplo, servidor y agente) establecen un TLS conexión, ambos verifican los certificados de cada uno. si un compañero El certificado está firmado por una CA confiable (con nivel superior preconfigurado). certificado en `TLSCAFile`), es válido, no ha caducado y pasa algunos otras comprobaciones, entonces la comunicación puede continuar. emisor del certificado y El tema no se verifica en este caso más simple.  Aquí existe un riesgo: cualquiera con un certificado válido puede hacerse pasar por cualquier otra persona (por ejemplo, se puede utilizar un certificado de host para hacerse pasar por servidor). Esto puede ser aceptable en entornos pequeños donde los certificados están firmados por una CA interna dedicada y el riesgo de suplantación de identidad es bajo.  Si su CA de nivel superior se utiliza para emitir otros certificados que deberían no será aceptado por Zabbix o desea reducir el riesgo de suplantación de identidad Puede restringir los certificados permitidos especificando su emisor y Cadenas de asunto.  Por ejemplo, puede escribir en el archivo de configuración del proxy Zabbix:      TLSServerCertIssuer=CN=CA firmante,OU=Grupo de desarrollo,O=Zabbix SIA,DC=zabbix,DC=com     TLSServerCertSubject=CN=servidor Zabbix,OU=grupo de desarrollo,O=Zabbix SIA,DC=zabbix,DC=com  Con esta configuración, un proxy activo no se comunicará con el servidor Zabbix con cadena de Emisor o Asunto diferente en el certificado, un proxy pasivo no aceptar solicitudes de dicho servidor.  Algunas notas sobre la coincidencia de cadenas de Emisor o Asunto:  1. Las cadenas de emisor y asunto se verifican de forma independiente. Ambos son     opcional. 2. Se permiten caracteres UTF-8. 3. Cadena no especificada significa que se acepta cualquier cadena. 4. Las cadenas se comparan "tal cual", deben ser exactamente iguales para     fósforo. 5. No se admiten comodines ni expresiones regulares en la coincidencia. 6. Solo algunos requisitos de [RFC 4514 Acceso ligero a directorios     Protocolo (LDAP): representación de cadena de distinguido     Nombres](http://tools.ietf.org/html/rfc4514) se implementan:     1. caracteres de escape '"' (U+0022), '+' U+002B, ',' U+002C, ';'         U+003B, '<' U+003C, '>' U+003E, '\\' U+005C en cualquier lugar de         cadena.     2. caracteres de escape, espacio (' ' U+0020) o signo numérico ('\#'         U+0023) al principio de la cadena.     3. espacio de carácter de escape (' ' U+0020) al final de la cadena. 7. La coincidencia falla si se encuentra un carácter nulo (U+0000) ([RFC     4514](http://tools.ietf.org/html/rfc4514) lo permite). 8. Requisitos del [Protocolo ligero de acceso a directorios RFC 4517     (LDAP): sintaxis y coincidencia     Reglas](http://tools.ietf.org/html/rfc4517) y [RFC 4518 Peso ligero     Protocolo de acceso a directorios (LDAP): cadena internacionalizada     Preparación](http://tools.ietf.org/html/rfc4518) no son compatibles     debido a la cantidad de trabajo requerido.  El orden de los campos en las cadenas de Emisor y Asunto y el formato son ¡importante! Zabbix sigue [RFC 4514](http://tools.ietf.org/html/rfc4514) recomendación y utiliza el orden "inverso" de los campos.  El orden inverso se puede ilustrar con un ejemplo:      TLSServerCertIssuer=CN=CA firmante,OU=Grupo de desarrollo,O=Zabbix SIA,DC=zabbix,DC=com     TLSServerCertSubject=CN=Proxy Zabbix,OU=Grupo de desarrollo,O=Zabbix SIA,DC=zabbix,DC=com  Tenga en cuenta que comienza con el nivel bajo (CN), continúa hasta el nivel medio (OU, O) y termina con campos de nivel superior (DC).  *OpenSSL* muestra de forma predeterminada los campos Emisor y Asunto del certificado en Orden "normal", dependiendo de las opciones adicionales utilizadas:      $ openssl x509 -noout -in /home/zabbix/zabbix_proxy.crt -emisor -subject     emisor= /DC=com/DC=zabbix/O=Zabbix SIA/OU=Grupo de desarrollo/CN=CA firmante     sujeto= /DC=com/DC=zabbix/O=Zabbix SIA/OU=Grupo de desarrollo/CN=Proxy Zabbix      $ openssl x509 -noout -text -in /home/zabbix/zabbix_proxy.crt     Certificado:             ...             Emisor: DC=com, DC=zabbix, O=Zabbix SIA, OU=Grupo de desarrollo, CN=CA firmante         ...             Asunto: DC=com, DC=zabbix, O=Zabbix SIA, OU=Grupo de desarrollo, CN=Proxy Zabbix  Aquí las cadenas de Emisor y Asunto comienzan con el nivel superior (DC) y terminan con El campo de bajo nivel (CN), los espacios y los separadores de campo dependen de las opciones. usado. Ninguno de estos valores coincidirá en Zabbix Emisor y Asunto ¡campos!  ::: nota importante  Para poder utilizar las cadenas de Emisor y Asunto adecuadas en Zabbix invoca OpenSSL con opciones especiales\ (`-nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname`):  :::      $ openssl x509 -noout -emisor -subject\             -nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname \             -en /home/zabbix/zabbix_proxy.crt     emisor = CN = CA firmante, OU = grupo de desarrollo, O = Zabbix SIA, DC = zabbix, DC = com     Asunto= CN=Proxy Zabbix,OU=Grupo de desarrollo,O=Zabbix SIA,DC=zabbix,DC=com  Ahora los campos de cadena están en orden inverso, los campos están separados por comas, ser utilizado en archivos de configuración y frontend de Zabbix.

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 } ```
es	#### Recuperar alertas por ID de acción  Recupera todas las alertas generadas por la acción "3".  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "alert.get",     "params": {         "output": "extend",         "actionids": "3"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```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 } ```

en-us	#### Retrieve all discovery rules  Retrieve all configured discovery rules and the discovery checks they use.  Request:  ```json {     "jsonrpc": "2.0",     "method": "drule.get",     "params": {         "output": "extend",         "selectDChecks": "extend"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "druleid": "2",             "proxy_hostid": "0",             "name": "Local network",             "iprange": "192.168.3.1-255",             "delay": "5s",             "nextcheck": "1348754327",             "status": "0",             "dchecks": [                 {                     "dcheckid": "7",                     "druleid": "2",                     "type": "3",                     "key_": "",                     "snmp_community": "",                     "ports": "21",                     "snmpv3_securityname": "",                     "snmpv3_securitylevel": "0",                     "snmpv3_authpassphrase": "",                     "snmpv3_privpassphrase": "",                     "uniq": "0",                     "snmpv3_authprotocol": "0",                     "snmpv3_privprotocol": "0",                     "host_source": "1",                     "name_source": "0"                                      },                 {                     "dcheckid": "8",                     "druleid": "2",                     "type": "4",                     "key_": "",                     "snmp_community": "",                     "ports": "80",                     "snmpv3_securityname": "",                     "snmpv3_securitylevel": "0",                     "snmpv3_authpassphrase": "",                     "snmpv3_privpassphrase": "",                     "uniq": "0",                     "snmpv3_authprotocol": "0",                     "snmpv3_privprotocol": "0",                     "host_source": "1",                     "name_source": "0"                                     }             ]         },         {             "druleid": "6",             "proxy_hostid": "0",             "name": "Zabbix agent discovery",             "iprange": "192.168.1.1-255",             "delay": "1h",             "nextcheck": "0",             "status": "0",             "dchecks": [                 {                     "dcheckid": "10",                     "druleid": "6",                     "type": "9",                     "key_": "system.uname",                     "snmp_community": "",                     "ports": "10050",                     "snmpv3_securityname": "",                     "snmpv3_securitylevel": "0",                     "snmpv3_authpassphrase": "",                     "snmpv3_privpassphrase": "",                     "uniq": "0",                     "snmpv3_authprotocol": "0",                     "snmpv3_privprotocol": "0",                     "host_source": "2",                     "name_source": "3"                                     }             ]         }     ],     "id": 1 } ```
es	#### Recuperar todas las reglas de descubrimiento  Recupere todas las reglas de descubrimiento configuradas y las comprobaciones de descubrimiento que usan.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "drule.get",     "params": {         "output": "extend",         "selectDChecks": "extend"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "druleid": "2",             "proxy_hostid": "0",             "name": "Local network",             "iprange": "192.168.3.1-255",             "delay": "5s",             "nextcheck": "1348754327",             "status": "0",             "dchecks": [                 {                     "dcheckid": "7",                     "druleid": "2",                     "type": "3",                     "key_": "",                     "snmp_community": "",                     "ports": "21",                     "snmpv3_securityname": "",                     "snmpv3_securitylevel": "0",                     "snmpv3_authpassphrase": "",                     "snmpv3_privpassphrase": "",                     "uniq": "0",                     "snmpv3_authprotocol": "0",                     "snmpv3_privprotocol": "0",                     "host_source": "1",                     "name_source": "0"                                      },                 {                     "dcheckid": "8",                     "druleid": "2",                     "type": "4",                     "key_": "",                     "snmp_community": "",                     "ports": "80",                     "snmpv3_securityname": "",                     "snmpv3_securitylevel": "0",                     "snmpv3_authpassphrase": "",                     "snmpv3_privpassphrase": "",                     "uniq": "0",                     "snmpv3_authprotocol": "0",                     "snmpv3_privprotocol": "0",                     "host_source": "1",                     "name_source": "0"                                     }             ]         },         {             "druleid": "6",             "proxy_hostid": "0",             "name": "Zabbix agent discovery",             "iprange": "192.168.1.1-255",             "delay": "1h",             "nextcheck": "0",             "status": "0",             "dchecks": [                 {                     "dcheckid": "10",                     "druleid": "6",                     "type": "9",                     "key_": "system.uname",                     "snmp_community": "",                     "ports": "10050",                     "snmpv3_securityname": "",                     "snmpv3_securitylevel": "0",                     "snmpv3_authpassphrase": "",                     "snmpv3_privpassphrase": "",                     "uniq": "0",                     "snmpv3_authprotocol": "0",                     "snmpv3_privprotocol": "0",                     "host_source": "2",                     "name_source": "3"                                     }             ]         }     ],     "id": 1 } ```

en-us	#### Retrieve all proxies  Retrieve all configured proxies and their interfaces.  Request:  ```json {     "jsonrpc": "2.0",     "method": "proxy.get",     "params": {         "output": "extend",         "selectInterface": "extend"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "host": "Active proxy",             "status": "5",             "lastaccess": "0",             "description": "",             "tls_connect": "1",             "tls_accept": "1",             "tls_issuer": "",             "tls_subject": "",             "proxy_address": "",             "auto_compress": "0",             "proxyid": "30091",             "interface": []         },         {             "host": "Passive proxy",             "status": "6",             "lastaccess": "0",             "description": "",             "tls_connect": "1",             "tls_accept": "1",             "tls_issuer": "",             "tls_subject": "",             "proxy_address": "",             "auto_compress": "0",             "proxyid": "30092",             "interface": {                 "interfaceid": "30109",                 "hostid": "30092",                 "useip": "1",                 "ip": "127.0.0.1",                 "dns": "",                 "port": "10051"             ]         }     ],     "id": 1 } ```
es	#### Recuperar todos los servidores proxy  Recupere todos los servidores proxy configurados y sus interfaces.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "proxy.get",     "params": {         "output": "extend",         "selectInterface": "extend"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "host": "Active proxy",             "status": "5",             "lastaccess": "0",             "description": "",             "tls_connect": "1",             "tls_accept": "1",             "tls_issuer": "",             "tls_subject": "",             "proxy_address": "",             "auto_compress": "0",             "proxyid": "30091",             "interface": []         },         {             "host": "Passive proxy",             "status": "6",             "lastaccess": "0",             "description": "",             "tls_connect": "1",             "tls_accept": "1",             "tls_issuer": "",             "tls_subject": "",             "proxy_address": "",             "auto_compress": "0",             "proxyid": "30092",             "interface": {                 "interfaceid": "30109",                 "hostid": "30092",                 "useip": "1",                 "ip": "127.0.0.1",                 "dns": "",                 "port": "10051"             ]         }     ],     "id": 1 } ```