en-us	#### Principle of least privilege  The principle of least privilege should be used at all times for Zabbix. This principle means that user accounts (in Zabbix frontend) or process user (for Zabbix server/proxy or agent) have only those privileges that are essential to perform intended functions. In other words, user accounts at all times should run with as few privileges as possible.  ::: noteimportant Giving extra permissions to 'zabbix' user will allow it to access configuration files and execute operations that can compromise the overall security of the infrastructure. :::  When implementing the least privilege principle for user accounts, Zabbix [frontend user types](/manual/config/users_and_usergroups/permissions) should be taken into account. It is important to understand that while a "Admin" user type has less privileges than "Super Admin" user type, it has administrative permissions that allow managing configuration and execute custom scripts.  ::: noteclassic Some information is available even for non-privileged users. For example, while *Administration* → *Scripts* is not available for non-Super Admins, scripts themselves are available for retrieval by using Zabbix API. Limiting script permissions and not adding sensitive information (like access credentials, etc) should be used to avoid exposure of sensitive information available in global scripts. :::  
es	#### Principio del menor privilegio  El principio de mínimo privilegio debe ser utilizado en todo momento para Zabbix. Este principio significa que las cuentas de usuario (en el frontend de Zabbix) o proceso de usuario (para el servidor/proxy o agente de Zabbix) tienen sólo aquellos privilegios que son esenciales para realizar las funciones previstas. En otras palabras, las cuentas de usuario cuentas de usuario en todo momento deben ejecutarse con el menor número de privilegios posible.  ::: notaimportante Dando permisos extra al usuario 'zabbix' se permitirle acceder a los archivos de configuración y ejecutar operaciones que pueden comprometer la seguridad general de la infraestructura. ::: Al implementar el principio de mínimo privilegio para las cuentas de usuario, Zabbix [frontend user types](/manual/config/users_and_usergroups/permissions) debe tenerse en cuenta. Es importante entender que mientras un usuario "Admin" tiene menos privilegios que el tipo de usuario "Super Admin", tiene permisos administrativos que permiten gestionar la configuración y ejecutar scripts personalizados.  ::: notaclásica Cierta información está disponible incluso para los usuarios sin privilegios. Por ejemplo, mientras que *Administración* → *Scripts* no está disponible para los que no son superadministradores, los propios scripts están disponibles para ser recuperados por utilizando la API de Zabbix. Limitar los permisos de los scripts y no añadir información sensible (como credenciales de acceso, etc.) debe ser utilizado para evitar la exposición de la información sensible disponible en los scripts globales. :::

en-us	#### Problem event popup  The problem event popup includes the list of problem events for this trigger and, if defined, the trigger description and a clickable URL.  ![](../../../../../assets/en/manual/web_interface/problem_event_popup.png){width="600"}  To bring up the problem event popup:  -   roll a mouse over the problem duration in the *Duration* column of     the *Problems* widget. The popup disappears once you remove the     mouse from the duration. -   click on the duration in the *Duration* column of the *Problems*     widget. The popup disappears only if you click on the duration     again.
es	#### Ventana emergente de evento de problema  La ventana emergente de eventos de problema incluye la lista de eventos de problema para este iniciador y, si está definido, la descripción del iniciador y una URL en la que se puede hacer clic.  ![](../../../../../assets/en/manual/web_interface/problem_event_popup.png){width="600"}  Para abrir la ventana emergente del evento de problema:  - pase el mouse sobre la duración del problema en la columna *Duración* de     el widget *Problemas*. La ventana emergente desaparece una vez que eliminas el     ratón de la duración. - haga clic en la duración en la columna *Duración* de *Problemas*     widget. La ventana emergente desaparece solo si haces clic en la duración.     de nuevo.

en-us	#### Problem events  A problem event is created:  -   when a trigger expression evaluates to TRUE if the trigger is in OK     state; -   each time a trigger expression evaluates to TRUE if multiple problem     event generation is enabled for the trigger.
es	#### Eventos problemáticos  Se crea un evento de problema:  -   cuando una expresión de iniciador se evalúa como VERDADERA si el iniciador está en estado OK ; -   cada vez que una expresión de iniciador se evalúa como VERDADERA si la generación de eventos de múltiples problemas está habilitada para el iniciador.

en-us	# problem.get
es	# problem.get

en-us	#### Problems  Retrieve problems according to the given parameters.  [Problem API](/manual/api/reference/problem)
es	#### Problemas  Obtenga los problemas en función de los parámetros proporcionados.  [API de Problema](/manual/api/reference/problem)

en-us	### Problem tag  Problem tags allow linking services with problem events. The problem tag object has the following properties.  | Property              | [Type](/manual/api/reference_commentary#data_types) | Description                                                                                 | |-----------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------------| | **tag**<br>(required) | string                                              | Problem tag name.                                                                           | | operator              | integer                                             | Mapping condition operator.<br><br>Possible values:<br>0 - *(default)* equals;<br>2 - like. | | value                 | string                                              | Problem tag value.                                                                          |
es	### Etiqueta de problema  Las etiquetas de problemas permiten vincular servicios con eventos de problemas. El objecto de etiqueta del problema tiene las siguientes propiedades.  | Propiedad | [Tipo](/manual/api/reference_commentary#data_types) | Descripción | |----------------------|-----------------------------------------------|---------------------------------------------------------------------------------------------| | **tag**<br>(obligatorio) | cadena | Nombre de la etiqueta del problema. | | operator | entero | Operador de condición de mapeo.<br><br>Valores posibles:<br>0 - *(predeterminado)* es igual;<br>2 - similar. | | value | cadena | Valor de etiqueta de problema. |

en-us	 #### Problem tags  Problem tags are used to match problems and services. These tags are specified at the primary service configuration tab.   Only child services of the lowest hierarchy level may have problem tags defined and be directly correlated to problems. If problem tags match,  the service status will change to the same status as the problem has. In case of several problems, a service will have the status of the most severe one. Status of a  parent service is then calculated based on child services statuses according to Status calculation rules.   If several tags are specified, *AND* logic is used: a problem must have all tags  specified in the service configuration to be mapped to the service.   ![](../../../assets/en/manual/config/problem_tags.png){width=600}   :::noteclassic A problem in Zabbix inherits tags from the whole chain of templates, hosts, items, web scenarios, and triggers. Any of these tags can be used for matching problems to services. ::: 
es	 #### Etiquetas de problemas  Las etiquetas de problemas se utilizan para relacionar problemas y servicios. Estas etiquetas se especifican en la pestaña de configuración del servicio principal.  Sólo los servicios secundarios del nivel jerárquico más bajo pueden tener etiquetas de problema definidas y estar directamente correlacionadas con los problemas. Si las etiquetas del problema coinciden, el estado del servicio cambiará al mismo estado que tiene el problema. En caso de varios problemas, un servicio tendrá el estado del más grave. El estado de un servicio principal se calcula en función de los estados de los servicios dependientes de acuerdo con las reglas de cálculo de estado.  Si se especifican varias etiquetas, se utiliza la lógica *Y*: un problema debe tener todas las etiquetas especificadas en la configuración del servicio que se asignará al servicio.  ![](../../../assets/en/manual/config/problem_tags.png){width=600}   :::noteclassic Un problema en Zabbix hereda etiquetas de toda la cadena de plantillas, equipos, métricas, escenarios web e iniciadores. Cualquiera de estas etiquetas se puede utilizar para hacer coincidir problemas con servicios. :::

en-us	### Problem tag  The problem tag object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |tag|string|Problem tag name.| |value|string|Problem tag value.|
es	### Etiqueta de problema  El objeto de etiqueta de problema tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |tag|cadena|Nombre de etiqueta del problema.| |value|cadena|Valor de etiqueta de problema.|

en-us	### Problem tag  The problem tag object is used to define which problems must be suppressed when the maintenance comes into effect. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |**tag**<br>(required)|string|Problem tag name.| |operator|integer|Condition operator.<br><br>Possible values:<br>0 - Equals;<br>2 - *(default)* Contains.| |value|string|Problem tag value.|  Tags can only be specified for maintenance periods with data collection (`"maintenance_type":0`).
es	### Etiqueta de problema  El objeto de etiqueta de problema se utiliza para definir qué problemas deben suprimirse cuando el mantenimiento entre en vigor. Tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#tipos_de_datos)|Descripción| |--|--|------| |**etiqueta**<br>(obligatorio)|cadena|Nombre de etiqueta del problema.| |operator|número entero|Operador de condición.<br><br>Valores posibles:<br>0 - Igual;<br>2 - *(predeterminado)* Contiene.| |value|cadena|Valor de etiqueta de problema.|  Las etiquetas solo se pueden especificar para períodos de mantenimiento con recopilación de datos ("maintenance_type":0`).

en-us	# Problem  This class is designed to work with problems.  Object references:\  -   [Problem](/manual/api/reference/problem/object#problem)  Available methods:\  -   [problem.get](/manual/api/reference/problem/get) - retrieving     problems
es	# Problema  Esta clase está diseñada para trabajar con problemas.  Referencias de objetos:\  - [Problema](/manual/api/reference/problem/object#problem)  Métodos disponibles:\  - [problem.get](/manual/api/reference/problem/get) - recuperando     problemas

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 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	#### 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	##### - 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 installation  Once the required repository is added, you can install Zabbix proxy by running:      # apt install zabbix-proxy-mysql  Substitute 'mysql' in the command with 'pgsql' to use PostgreSQL, or with 'sqlite3' to use SQLite3.
es	### Proxy installation  Una vez que el repositorio requerido esté añadido, tú puedes instalarel proxy de Zabbix ejecutando:      # apt install zabbix-proxy-mysql  Sustituye 'mysql' en el comando por 'pgsql' para usar PostgreSQL, o cambia por 'sqlite3' para usar SQLite3.

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 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  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	##### 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	#### 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	#### 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	#### 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*.  :::note classic 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_operation_detalles.png)  Hay tres tipos de operaciones disponibles para los eventos de recuperación: - **Enviar mensaje**: envía un mensaje de recuperación al usuario especificado - **Notificar a todos los involucrados**: enviar un mensaje de recuperación a todos los usuarios que fueron notificados sobre el evento del problema - **<nombre de comando remoto>** - ejecutar un comando remoto. Los comandos están disponibles para su ejecución si se han definido previamente en [scripts globales](/manual/web_interface/frontend_sections/administration/scripts#configuring_a_global_script) con *Operación de acción* seleccionada como su 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*.  :::nota clasica Tenga en cuenta que si se define el mismo destinatario en varios tipos de operaciones sin *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 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	#### 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  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	#### 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	# 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  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	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	#### 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 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 } ```

en-us	#### Retrieve all scripts  Retrieve all configured scripts.  Request:  ```json {     "jsonrpc": "2.0",     "method": "script.get",     "params": {         "output": "extend"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [             {             "scriptid": "1",             "name": "Ping",             "command": "/bin/ping -c 3 {HOST.CONN} 2>&1",             "host_access": "2",             "usrgrpid": "0",             "groupid": "0",             "description": "",             "confirmation": "",             "type": "0",             "execute_on": "1",             "timeout": "30s",             "parameters": []         },         {             "scriptid": "2",             "name": "Traceroute",             "command": "/usr/bin/traceroute {HOST.CONN} 2>&1",             "host_access": "2",             "usrgrpid": "0",             "groupid": "0",             "description": "",             "confirmation": "",             "type": "0",             "execute_on": "1",             "timeout": "30s",             "parameters": []         },         {             "scriptid": "3",             "name": "Detect operating system",             "command": "sudo /usr/bin/nmap -O {HOST.CONN} 2>&1",             "host_access": "2",             "usrgrpid": "7",             "groupid": "0",             "description": "",             "confirmation": "",             "type": "0",             "execute_on": "1",             "timeout": "30s",             "parameters": []         },         {             "scriptid": "4",             "name": "Webhook",             "command": "try {\n var request = new HttpRequest(),\n response,\n data;\n\n request.addHeader('Content-Type: application/json');\n\n response = request.post('https://localhost/post', value);\n\n try {\n response = JSON.parse(response);\n }\n catch (error) {\n response = null;\n }\n\n if (request.getStatus() !== 200 || !('data' in response)) {\n throw 'Unexpected response.';\n }\n\n data = JSON.stringify(response.data);\n\n Zabbix.Log(3, '[Webhook Script] response data: ' + data);\n\n return data;\n}\ncatch (error) {\n Zabbix.Log(3, '[Webhook Script] script execution failed: ' + error);\n throw 'Execution failed: ' + error + '.';\n}",             "host_access": "2",             "usrgrpid": "7",             "groupid": "0",             "description": "",             "confirmation": "",             "type": "5",             "execute_on": "1",             "timeout": "30s",             "parameters": [                 {                     "name": "token",                     "value": "{$WEBHOOK.TOKEN}"                 },                 {                     "name": "host",                     "value": "{HOST.HOST}"                 },                 {                     "name": "v",                     "value": "2.2"                 }             ]         }     ],     "id": 1 } ```
es	#### Recupere todos los scripts  Recupere todos los scripts configurados.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "script.get",     "params": {         "output": "extend"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [             {             "scriptid": "1",             "name": "Ping",             "command": "/bin/ping -c 3 {HOST.CONN} 2>&1",             "host_access": "2",             "usrgrpid": "0",             "groupid": "0",             "description": "",             "confirmation": "",             "type": "0",             "execute_on": "1",             "timeout": "30s",             "parameters": []         },         {             "scriptid": "2",             "name": "Traceroute",             "command": "/usr/bin/traceroute {HOST.CONN} 2>&1",             "host_access": "2",             "usrgrpid": "0",             "groupid": "0",             "description": "",             "confirmation": "",             "type": "0",             "execute_on": "1",             "timeout": "30s",             "parameters": []         },         {             "scriptid": "3",             "name": "Detect operating system",             "command": "sudo /usr/bin/nmap -O {HOST.CONN} 2>&1",             "host_access": "2",             "usrgrpid": "7",             "groupid": "0",             "description": "",             "confirmation": "",             "type": "0",             "execute_on": "1",             "timeout": "30s",             "parameters": []         },         {             "scriptid": "4",             "name": "Webhook",             "command": "try {\n var request = new HttpRequest(),\n response,\n data;\n\n request.addHeader('Content-Type: application/json');\n\n response = request.post('https://localhost/post', value);\n\n try {\n response = JSON.parse(response);\n }\n catch (error) {\n response = null;\n }\n\n if (request.getStatus() !== 200 || !('data' in response)) {\n throw 'Unexpected response.';\n }\n\n data = JSON.stringify(response.data);\n\n Zabbix.Log(3, '[Webhook Script] response data: ' + data);\n\n return data;\n}\ncatch (error) {\n Zabbix.Log(3, '[Webhook Script] script execution failed: ' + error);\n throw 'Execution failed: ' + error + '.';\n}",             "host_access": "2",             "usrgrpid": "7",             "groupid": "0",             "description": "",             "confirmation": "",             "type": "5",             "execute_on": "1",             "timeout": "30s",             "parameters": [                 {                     "name": "token",                     "value": "{$WEBHOOK.TOKEN}"                 },                 {                     "name": "host",                     "value": "{HOST.HOST}"                 },                 {                     "name": "v",                     "value": "2.2"                 }             ]         }     ],     "id": 1 } ```

en-us	#### Retrieve a map  Retrieve all data about map "3".  Request:  ```json {     "jsonrpc": "2.0",     "method": "map.get",     "params": {         "output": "extend",         "selectSelements": "extend",         "selectLinks": "extend",         "selectUsers": "extend",         "selectUserGroups": "extend",         "selectShapes": "extend",         "selectLines": "extend",         "sysmapids": "3"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "selements": [                 {                     "selementid": "10",                     "sysmapid": "3",                     "elementtype": "4",                     "evaltype": "0",                     "iconid_off": "1",                     "iconid_on": "0",                     "label": "Zabbix server",                     "label_location": "3",                     "x": "11",                     "y": "141",                     "iconid_disabled": "0",                     "iconid_maintenance": "0",                     "elementsubtype": "0",                     "areatype": "0",                     "width": "200",                     "height": "200",                     "tags": [                         {                             "tag": "service",                             "value": "mysqld",                             "operator": "0"                         }                     ],                     "viewtype": "0",                     "use_iconmap": "1",                     "urls": [],                     "elements": []                 },                 {                     "selementid": "11",                     "sysmapid": "3",                     "elementtype": "4",                     "evaltype": "0",                     "iconid_off": "1",                     "iconid_on": "0",                     "label": "Web server",                     "label_location": "3",                     "x": "211",                     "y": "191",                     "iconid_disabled": "0",                     "iconid_maintenance": "0",                     "elementsubtype": "0",                     "areatype": "0",                     "width": "200",                     "height": "200",                     "viewtype": "0",                     "use_iconmap": "1",                     "tags": [],                     "urls": [],                     "elements": []                 },                 {                     "selementid": "12",                     "sysmapid": "3",                     "elementtype": "0",                     "evaltype": "0",                     "iconid_off": "185",                     "iconid_on": "0",                     "label": "{HOST.NAME}\r\n{HOST.CONN}",                     "label_location": "0",                     "x": "111",                     "y": "61",                     "iconid_disabled": "0",                     "iconid_maintenance": "0",                     "elementsubtype": "0",                     "areatype": "0",                     "width": "200",                     "height": "200",                     "viewtype": "0",                     "use_iconmap": "0",                     "tags": [],                     "urls": [],                     "elements": [                         {                             "hostid": "10084"                         }                     ]                 }             ],             "links": [                 {                     "linkid": "23",                     "sysmapid": "3",                     "selementid1": "10",                     "selementid2": "11",                     "drawtype": "0",                     "color": "00CC00",                     "label": "",                     "linktriggers": []                 }             ],             "users": [                 {                     "sysmapuserid": "1",                     "userid": "2",                     "permission": "2"                 }             ],             "userGroups": [                 {                     "sysmapusrgrpid": "1",                     "usrgrpid": "7",                     "permission": "2"                 }             ],             "shapes":[                   {                       "sysmap_shapeid":"1",                     "type":"0",                     "x":"0",                     "y":"0",                     "width":"680",                     "height":"15",                     "text":"{MAP.NAME}",                     "font":"9",                     "font_size":"11",                     "font_color":"000000",                     "text_halign":"0",                     "text_valign":"0",                     "border_type":"0",                     "border_width":"0",                     "border_color":"000000",                     "background_color":"",                     "zindex":"0"                 }             ],             "lines":[                 {                     "sysmap_shapeid":"2",                     "x1": 30,                     "y1": 10,                     "x2": 100,                     "y2": 50,                     "line_type": 1,                     "line_width": 10,                     "line_color": "009900",                     "zindex":"1"                 }             ],             "sysmapid": "3",             "name": "Local network",             "width": "400",             "height": "400",             "backgroundid": "0",             "label_type": "2",             "label_location": "3",             "highlight": "1",             "expandproblem": "1",             "markelements": "0",             "show_unack": "0",             "grid_size": "50",             "grid_show": "1",             "grid_align": "1",             "label_format": "0",             "label_type_host": "2",             "label_type_hostgroup": "2",             "label_type_trigger": "2",             "label_type_map": "2",             "label_type_image": "2",             "label_string_host": "",             "label_string_hostgroup": "",             "label_string_trigger": "",             "label_string_map": "",             "label_string_image": "",             "iconmapid": "0",             "expand_macros": "0",             "severity_min": "0",             "userid": "1",             "private": "1",             "show_suppressed": "1"         }     ],     "id": 1 } ```
es	#### Recuperar un mapa  Recuperar todos los datos sobre el mapa "3".  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "map.get",     "params": {         "output": "extend",         "selectSelements": "extend",         "selectLinks": "extend",         "selectUsers": "extend",         "selectUserGroups": "extend",         "selectShapes": "extend",         "selectLines": "extend",         "sysmapids": "3"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "selements": [                 {                     "selementid": "10",                     "sysmapid": "3",                     "elementtype": "4",                     "evaltype": "0",                     "iconid_off": "1",                     "iconid_on": "0",                     "label": "Zabbix server",                     "label_location": "3",                     "x": "11",                     "y": "141",                     "iconid_disabled": "0",                     "iconid_maintenance": "0",                     "elementsubtype": "0",                     "areatype": "0",                     "width": "200",                     "height": "200",                     "tags": [                         {                             "tag": "service",                             "value": "mysqld",                             "operator": "0"                         }                     ],                     "viewtype": "0",                     "use_iconmap": "1",                     "urls": [],                     "elements": []                 },                 {                     "selementid": "11",                     "sysmapid": "3",                     "elementtype": "4",                     "evaltype": "0",                     "iconid_off": "1",                     "iconid_on": "0",                     "label": "Web server",                     "label_location": "3",                     "x": "211",                     "y": "191",                     "iconid_disabled": "0",                     "iconid_maintenance": "0",                     "elementsubtype": "0",                     "areatype": "0",                     "width": "200",                     "height": "200",                     "viewtype": "0",                     "use_iconmap": "1",                     "tags": [],                     "urls": [],                     "elements": []                 },                 {                     "selementid": "12",                     "sysmapid": "3",                     "elementtype": "0",                     "evaltype": "0",                     "iconid_off": "185",                     "iconid_on": "0",                     "label": "{HOST.NAME}\r\n{HOST.CONN}",                     "label_location": "0",                     "x": "111",                     "y": "61",                     "iconid_disabled": "0",                     "iconid_maintenance": "0",                     "elementsubtype": "0",                     "areatype": "0",                     "width": "200",                     "height": "200",                     "viewtype": "0",                     "use_iconmap": "0",                     "tags": [],                     "urls": [],                     "elements": [                         {                             "hostid": "10084"                         }                     ]                 }             ],             "links": [                 {                     "linkid": "23",                     "sysmapid": "3",                     "selementid1": "10",                     "selementid2": "11",                     "drawtype": "0",                     "color": "00CC00",                     "label": "",                     "linktriggers": []                 }             ],             "users": [                 {                     "sysmapuserid": "1",                     "userid": "2",                     "permission": "2"                 }             ],             "userGroups": [                 {                     "sysmapusrgrpid": "1",                     "usrgrpid": "7",                     "permission": "2"                 }             ],             "shapes":[                   {                       "sysmap_shapeid":"1",                     "type":"0",                     "x":"0",                     "y":"0",                     "width":"680",                     "height":"15",                     "text":"{MAP.NAME}",                     "font":"9",                     "font_size":"11",                     "font_color":"000000",                     "text_halign":"0",                     "text_valign":"0",                     "border_type":"0",                     "border_width":"0",                     "border_color":"000000",                     "background_color":"",                     "zindex":"0"                 }             ],             "lines":[                 {                     "sysmap_shapeid":"2",                     "x1": 30,                     "y1": 10,                     "x2": 100,                     "y2": 50,                     "line_type": 1,                     "line_width": 10,                     "line_color": "009900",                     "zindex":"1"                 }             ],             "sysmapid": "3",             "name": "Local network",             "width": "400",             "height": "400",             "backgroundid": "0",             "label_type": "2",             "label_location": "3",             "highlight": "1",             "expandproblem": "1",             "markelements": "0",             "show_unack": "0",             "grid_size": "50",             "grid_show": "1",             "grid_align": "1",             "label_format": "0",             "label_type_host": "2",             "label_type_hostgroup": "2",             "label_type_trigger": "2",             "label_type_map": "2",             "label_type_image": "2",             "label_string_host": "",             "label_string_hostgroup": "",             "label_string_trigger": "",             "label_string_map": "",             "label_string_image": "",             "iconmapid": "0",             "expand_macros": "0",             "severity_min": "0",             "userid": "1",             "private": "1",             "show_suppressed": "1"         }     ],     "id": 1 } ```

en-us	#### Retrieve an icon map  Retrieve all data about icon map "3".  Request:  ```json {     "jsonrpc": "2.0",     "method": "iconmap.get",     "params": {         "iconmapids": "3",         "output": "extend",         "selectMappings": "extend"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "mappings": [                 {                     "iconmappingid": "3",                     "iconmapid": "3",                     "iconid": "6",                     "inventory_link": "1",                     "expression": "server",                     "sortorder": "0"                 },                 {                     "iconmappingid": "4",                     "iconmapid": "3",                     "iconid": "10",                     "inventory_link": "1",                     "expression": "switch",                     "sortorder": "1"                 }             ],             "iconmapid": "3",             "name": "Host type icons",             "default_iconid": "2"         }     ],     "id": 1 } ```
es	#### Recuperar una mapa de iconos   Recupere todos los datos sobre el mapa de iconos "3".  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "iconmap.get",     "params": {         "iconmapids": "3",         "output": "extend",         "selectMappings": "extend"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "mappings": [                 {                     "iconmappingid": "3",                     "iconmapid": "3",                     "iconid": "6",                     "inventory_link": "1",                     "expression": "server",                     "sortorder": "0"                 },                 {                     "iconmappingid": "4",                     "iconmapid": "3",                     "iconid": "10",                     "inventory_link": "1",                     "expression": "switch",                     "sortorder": "1"                 }             ],             "iconmapid": "3",             "name": "Host type icons",             "default_iconid": "2"         }     ],     "id": 1 } ```

en-us	#### Retrieve an image  Retrieve all data for image with ID "2".  Request:  ```json {     "jsonrpc": "2.0",     "method": "image.get",     "params": {         "output": "extend",         "select_image": true,         "imageids": "2"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "imageid": "2",             "imagetype": "1",             "name": "Cloud_(24)",             "image": "iVBORw0KGgoAAAANSUhEUgAAABgAAAANCAYAAACzbK7QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACmAAAApgBNtNH3wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIcSURBVDjLrZLbSxRRHMdPKiEiRQ89CD0s+N5j9BIMEf4Hg/jWexD2ZEXQbC9tWUFZimtLhswuZiVujK1UJmYXW9PaCUdtb83enL3P7s6ss5f5dc7EUsmqkPuFH3M4/Ob7+V0OAgC0UyDENFEU03rh1uNOs/lFG75o2i2/rkd9Y3Tgyj3HiaezbukdH9A/rP4E9vWi0u+Y4fuGnMf3DRgYc3Z/84YrQSkD3mgKhFAC+KAEK74Y2Lj3MjPoOokQ3Xyx/1GHeXCifbfO6lRPH/wi+AvZQhGSsgKxdB5CCRkCGPbDgMXBMbukTc4vK5/WRHizsq7fZl2LFuvE4T0BZDTXHtgv4TNUqlUolsqQL2qQwbDEXzBBTIJ7I4y/cfAENmHZF4XrY9Mc+X9HAFmoyXS2ddy1IOg6/KNyBcM0DFP/wFZFCcOy4N9Mw0YkCTOfhdL5AfZQXQBFn2t/ODXHC8FYVcoWjNEQ03qqwTJ5FdI44jg/msoB2Zd5ZKq3q6evA1FUS60bYyyj3AJf3V72HiLZJQxTtRLk1C2IYEg4mTNg63hPd1mOJd7Ict911OMNlWEf0nFxpCt16zcshTuLpGSwDDuPIfv0xzNyQYVGicC0cgUUDLM6Xp02lvvW/V2EBssnxlSGmWsxljw0znV9XfPLjTCW84r+cn7Jc8c2eWrbM6Wbe6/aTJbhJ/TNkWc9/xXW592Xb9iPkKnUfH8BKdLgFy0lDyQAAAAASUVORK5CYII="         }     ],     "id": 1 } ```
es	#### Recuperar una imagen  Recupere todos los datos de la imagen con ID "2".  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "image.get",     "params": {         "output": "extend",         "select_image": true,         "imageids": "2"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "imageid": "2",             "imagetype": "1",             "name": "Cloud_(24)",             "image": "iVBORw0KGgoAAAANSUhEUgAAABgAAAANCAYAAACzbK7QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACmAAAApgBNtNH3wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIcSURBVDjLrZLbSxRRHMdPKiEiRQ89CD0s+N5j9BIMEf4Hg/jWexD2ZEXQbC9tWUFZimtLhswuZiVujK1UJmYXW9PaCUdtb83enL3P7s6ss5f5dc7EUsmqkPuFH3M4/Ob7+V0OAgC0UyDENFEU03rh1uNOs/lFG75o2i2/rkd9Y3Tgyj3HiaezbukdH9A/rP4E9vWi0u+Y4fuGnMf3DRgYc3Z/84YrQSkD3mgKhFAC+KAEK74Y2Lj3MjPoOokQ3Xyx/1GHeXCifbfO6lRPH/wi+AvZQhGSsgKxdB5CCRkCGPbDgMXBMbukTc4vK5/WRHizsq7fZl2LFuvE4T0BZDTXHtgv4TNUqlUolsqQL2qQwbDEXzBBTIJ7I4y/cfAENmHZF4XrY9Mc+X9HAFmoyXS2ddy1IOg6/KNyBcM0DFP/wFZFCcOy4N9Mw0YkCTOfhdL5AfZQXQBFn2t/ODXHC8FYVcoWjNEQ03qqwTJ5FdI44jg/msoB2Zd5ZKq3q6evA1FUS60bYyyj3AJf3V72HiLZJQxTtRLk1C2IYEg4mTNg63hPd1mOJd7Ict911OMNlWEf0nFxpCt16zcshTuLpGSwDDuPIfv0xzNyQYVGicC0cgUUDLM6Xp02lvvW/V2EBssnxlSGmWsxljw0znV9XfPLjTCW84r+cn7Jc8c2eWrbM6Wbe6/aTJbhJ/TNkWc9/xXW592Xb9iPkKnUfH8BKdLgFy0lDyQAAAAASUVORK5CYII="         }     ],     "id": 1 } ```

en-us	#### Retrieve audit log  Retrieve two latest audit log records.  Request:  ```json {     "jsonrpc": "2.0",     "method": "auditlog.get",     "params": {         "output": "extend",         "sortfield": "clock",         "sortorder": "DESC",         "limit": 2     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "auditid": "cksstgfam0001yhdcc41y20q2",             "userid": "1",             "username": "Admin",             "clock": "1629975715",             "ip": "127.0.0.1",             "action": "1",             "resourcetype": "0",             "resourceid": "0",             "resourcename": "Jim",             "recordsetid": "cksstgfal0000yhdcso67ondl",             "details": "{\"user.name\":[\"update\",\"Jim\",\"\"],\"user.medias[37]\":[\"add\"],\"user.medias[37].\":[\"add\"],\"user.medias[37].mediatypeid\":[\"add\",\"1\"],\"user.medias[37].sendto\":[\"add\",\"support123@company.com\"]}"                      },         {             "auditid": "ckssofl0p0001yhdcqxclsg8r",             "userid": "1",             "username": "Admin",             "clock": "1629967278",             "ip": "127.0.0.1",             "action": "0",             "resourcetype": "0",             "resourceid": "20",             "resourcename": "John",             "recordsetid": "ckssofl0p0000yhdcpxyo1jgo",             "details": "{\"user.username\":[\"add\",\"John\"], \"user.userid:\":[\"add\",\"20\"],\"user.usrgrps[28]\":[\"add\"],\"user.usrgrps[28].usrgrpid\":[\"add\", \"7\"]}"         }     ],     "id": 1 } ```
es	#### Obtener log de auditoría  Obtener los dos últimos registros del log de auditoría.  Petición:  ```json {     "jsonrpc": "2.0",     "method": "auditlog.get",     "params": {         "output": "extend",         "sortfield": "clock",         "sortorder": "DESC",         "limit": 2     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "auditid": "cksstgfam0001yhdcc41y20q2",             "userid": "1",             "username": "Admin",             "clock": "1629975715",             "ip": "127.0.0.1",             "action": "1",             "resourcetype": "0",             "resourceid": "0",             "resourcename": "Jim",             "recordsetid": "cksstgfal0000yhdcso67ondl",             "details": "{\"user.name\":[\"update\",\"Jim\",\"\"],\"user.medias[37]\":[\"add\"],\"user.medias[37].\":[\"add\"],\"user.medias[37].mediatypeid\":[\"add\",\"1\"],\"user.medias[37].sendto\":[\"add\",\"support123@company.com\"]}"                      },         {             "auditid": "ckssofl0p0001yhdcqxclsg8r",             "userid": "1",             "username": "Admin",             "clock": "1629967278",             "ip": "127.0.0.1",             "action": "0",             "resourcetype": "0",             "resourceid": "20",             "resourcename": "John",             "recordsetid": "ckssofl0p0000yhdcpxyo1jgo",             "details": "{\"user.username\":[\"add\",\"John\"], \"user.userid:\":[\"add\",\"20\"],\"user.usrgrps[28]\":[\"add\"],\"user.usrgrps[28].usrgrpid\":[\"add\", \"7\"]}"         }     ],     "id": 1 } ```

en-us	#### Retrieve correlations  Retrieve all configured correlations together with correlation conditions and operations. The filter uses the "and/or" evaluation type, so the `formula` property is empty and `eval_formula` is generated automatically.  Request:  ```json {     "jsonrpc": "2.0",     "method": "correlation.get",     "params": {         "output": "extend",         "selectOperations": "extend",         "selectFilter": "extend"     },     "auth": "343baad4f88b4106b9b5961e77437688",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "correlationid": "1",             "name": "Correlation 1",             "description": "",             "status": "0",             "filter": {                 "evaltype": "0",                 "formula": "",                 "conditions": [                     {                         "type": "3",                         "oldtag": "error",                         "newtag": "ok",                         "formulaid": "A"                     }                 ],                 "eval_formula": "A"             },             "operations": [                 {                     "type": "0"                 }             ]         }     ],     "id": 1 } ```
es	#### Recuperar correlaciones  Recuperar todas las correlaciones configuradas junto con las  condiciones y operaciones de la correlación. El filtro utiliza el tipo de evaluación "y/o", de forma que la propiedad `formula` está vacía y se genera `eval_formula` automáticamente.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "correlation.get",     "params": {         "output": "extend",         "selectOperations": "extend",         "selectFilter": "extend"     },     "auth": "343baad4f88b4106b9b5961e77437688",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "correlationid": "1",             "name": "Correlation 1",             "description": "",             "status": "0",             "filter": {                 "evaltype": "0",                 "formula": "",                 "conditions": [                     {                         "type": "3",                         "oldtag": "error",                         "newtag": "ok",                         "formulaid": "A"                     }                 ],                 "eval_formula": "A"             },             "operations": [                 {                     "type": "0"                 }             ]         }     ],     "id": 1 } ```

en-us	#### Retrieve discovered hosts by discovery rule  Retrieve all hosts and the discovered services they are running that have been detected by discovery rule "4".  Request:  ```json {     "jsonrpc": "2.0",     "method": "dhost.get",     "params": {         "output": "extend",         "selectDServices": "extend",         "druleids": "4"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "dservices": [                 {                     "dserviceid": "1",                     "dhostid": "1",                     "type": "4",                     "key_": "",                     "value": "",                     "port": "80",                     "status": "0",                     "lastup": "1337697227",                     "lastdown": "0",                     "dcheckid": "5",                     "ip": "192.168.1.1",                     "dns": "station.company.lan"                 }             ],             "dhostid": "1",             "druleid": "4",             "status": "0",             "lastup": "1337697227",             "lastdown": "0"         },         {             "dservices": [                 {                     "dserviceid": "2",                     "dhostid": "2",                     "type": "4",                     "key_": "",                     "value": "",                     "port": "80",                     "status": "0",                     "lastup": "1337697234",                     "lastdown": "0",                     "dcheckid": "5",                     "ip": "192.168.1.4",                     "dns": "john.company.lan"                 }             ],             "dhostid": "2",             "druleid": "4",             "status": "0",             "lastup": "1337697234",             "lastdown": "0"         },         {             "dservices": [                 {                     "dserviceid": "3",                     "dhostid": "3",                     "type": "4",                     "key_": "",                     "value": "",                     "port": "80",                     "status": "0",                     "lastup": "1337697234",                     "lastdown": "0",                     "dcheckid": "5",                     "ip": "192.168.1.26",                     "dns": "printer.company.lan"                 }             ],             "dhostid": "3",             "druleid": "4",             "status": "0",             "lastup": "1337697234",             "lastdown": "0"         },         {             "dservices": [                 {                     "dserviceid": "4",                     "dhostid": "4",                     "type": "4",                     "key_": "",                     "value": "",                     "port": "80",                     "status": "0",                     "lastup": "1337697234",                     "lastdown": "0",                     "dcheckid": "5",                     "ip": "192.168.1.7",                     "dns": "mail.company.lan"                 }             ],             "dhostid": "4",             "druleid": "4",             "status": "0",             "lastup": "1337697234",             "lastdown": "0"         }     ],     "id": 1 } ```
es	#### Recuperar hosts descubiertos mediante regla de descubrimiento  Recuperar todos los equipos y los servicios que están ejecutando que han sido detectados por la regla de descubrimiento "4".  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "dhost.get",     "params": {         "output": "extend",         "selectDServices": "extend",         "druleids": "4"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "dservices": [                 {                     "dserviceid": "1",                     "dhostid": "1",                     "type": "4",                     "key_": "",                     "value": "",                     "port": "80",                     "status": "0",                     "lastup": "1337697227",                     "lastdown": "0",                     "dcheckid": "5",                     "ip": "192.168.1.1",                     "dns": "station.company.lan"                 }             ],             "dhostid": "1",             "druleid": "4",             "status": "0",             "lastup": "1337697227",             "lastdown": "0"         },         {             "dservices": [                 {                     "dserviceid": "2",                     "dhostid": "2",                     "type": "4",                     "key_": "",                     "value": "",                     "port": "80",                     "status": "0",                     "lastup": "1337697234",                     "lastdown": "0",                     "dcheckid": "5",                     "ip": "192.168.1.4",                     "dns": "john.company.lan"                 }             ],             "dhostid": "2",             "druleid": "4",             "status": "0",             "lastup": "1337697234",             "lastdown": "0"         },         {             "dservices": [                 {                     "dserviceid": "3",                     "dhostid": "3",                     "type": "4",                     "key_": "",                     "value": "",                     "port": "80",                     "status": "0",                     "lastup": "1337697234",                     "lastdown": "0",                     "dcheckid": "5",                     "ip": "192.168.1.26",                     "dns": "printer.company.lan"                 }             ],             "dhostid": "3",             "druleid": "4",             "status": "0",             "lastup": "1337697234",             "lastdown": "0"         },         {             "dservices": [                 {                     "dserviceid": "4",                     "dhostid": "4",                     "type": "4",                     "key_": "",                     "value": "",                     "port": "80",                     "status": "0",                     "lastup": "1337697234",                     "lastdown": "0",                     "dcheckid": "5",                     "ip": "192.168.1.7",                     "dns": "mail.company.lan"                 }             ],             "dhostid": "4",             "druleid": "4",             "status": "0",             "lastup": "1337697234",             "lastdown": "0"         }     ],     "id": 1 } ```

en-us	#### Retrieve discovery actions  Retrieve all configured discovery actions together with action conditions and operations. The filter uses the "and" evaluation type, so the `formula` property is empty and `eval_formula` is generated automatically.  Request:  ```json {     "jsonrpc": "2.0",     "method": "action.get",     "params": {         "output": "extend",         "selectOperations": "extend",         "selectFilter": "extend",         "filter": {             "eventsource": 1         }     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "actionid": "2",             "name": "Auto discovery. Linux servers.",             "eventsource": "1",             "status": "1",             "esc_period": "0s",             "pause_suppressed": "1",             "filter": {                 "evaltype": "0",                 "formula": "",                 "conditions": [                     {                         "conditiontype": "10",                         "operator": "0",                         "value": "0",                         "value2": "",                         "formulaid": "B"                     },                     {                         "conditiontype": "8",                         "operator": "0",                         "value": "9",                         "value2": "",                         "formulaid": "C"                     },                     {                         "conditiontype": "12",                         "operator": "2",                         "value": "Linux",                         "value2": "",                         "formulaid": "A"                     }                 ],                 "eval_formula": "A and B and C"             },             "operations": [                 {                     "operationid": "1",                     "actionid": "2",                     "operationtype": "6",                     "esc_period": "0s",                     "esc_step_from": "1",                     "esc_step_to": "1",                     "evaltype": "0",                     "opconditions": [],                     "optemplate": [                         {                             "templateid": "10001"                         }                     ]                 },                 {                     "operationid": "2",                     "actionid": "2",                     "operationtype": "4",                     "esc_period": "0s",                     "esc_step_from": "1",                     "esc_step_to": "1",                     "evaltype": "0",                     "opconditions": [],                     "opgroup": [                         {                             "groupid": "2"                         }                     ]                 }             ]         }     ],     "id": 1 } ```
es	#### Recuperar acciones de descubrimiento  Recuperar todas las acciones de descubrimiento configuradas junto con las condiciones y operaciones de la acción. El filtro utiliza el tipo de evaluación "y", por lo que la propiedad `formula` está vacía y se genera automáticamente `eval_formula`.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "action.get",     "params": {         "output": "extend",         "selectOperations": "extend",         "selectFilter": "extend",         "filter": {             "eventsource": 1         }     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "actionid": "2",             "name": "Auto discovery. Linux servers.",             "eventsource": "1",             "status": "1",             "esc_period": "0s",             "pause_suppressed": "1",             "filter": {                 "evaltype": "0",                 "formula": "",                 "conditions": [                     {                         "conditiontype": "10",                         "operator": "0",                         "value": "0",                         "value2": "",                         "formulaid": "B"                     },                     {                         "conditiontype": "8",                         "operator": "0",                         "value": "9",                         "value2": "",                         "formulaid": "C"                     },                     {                         "conditiontype": "12",                         "operator": "2",                         "value": "Linux",                         "value2": "",                         "formulaid": "A"                     }                 ],                 "eval_formula": "A and B and C"             },             "operations": [                 {                     "operationid": "1",                     "actionid": "2",                     "operationtype": "6",                     "esc_period": "0s",                     "esc_step_from": "1",                     "esc_step_to": "1",                     "evaltype": "0",                     "opconditions": [],                     "optemplate": [                         {                             "templateid": "10001"                         }                     ]                 },                 {                     "operationid": "2",                     "actionid": "2",                     "operationtype": "4",                     "esc_period": "0s",                     "esc_step_from": "1",                     "esc_step_to": "1",                     "evaltype": "0",                     "opconditions": [],                     "opgroup": [                         {                             "groupid": "2"                         }                     ]                 }             ]         }     ],     "id": 1 } ```

en-us	#### Retrieve discovery checks for a discovery rule  Retrieve all discovery checks used by discovery rule "6".  Request:  ```json {     "jsonrpc": "2.0",     "method": "dcheck.get",     "params": {         "output": "extend",         "dcheckids": "6"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "dcheckid": "6",             "druleid": "4",             "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"                     }     ],     "id": 1 } ```
es	#### Recuperar comprobaciones de descubrimiento para una regla de descubrimiento  Recupere todas las comprobaciones de descubrimiento utilizadas por la regla de descubrimiento "6".  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "dcheck.get",     "params": {         "output": "extend",         "dcheckids": "6"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "dcheckid": "6",             "druleid": "4",             "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"                     }     ],     "id": 1 } ```

en-us	#### Retrieve host interfaces  Retrieve all data about the interfaces used by host "30057."  Request:  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.get",     "params": {         "output": "extend",         "hostids": "30057"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "interfaceid": "50039",             "hostid": "30057",             "main": "1",             "type": "1",             "useip": "1",             "ip": "::1",             "dns": "",             "port": "10050",             "available": "0",             "error": "",             "errors_from": "0",             "disable_until": "0",             "details": []         },         {             "interfaceid": "55082",             "hostid": "30057",             "main": "0",             "type": "1",             "useip": "1",             "ip": "127.0.0.1",             "dns": "",             "port": "10051",             "available": "0",             "error": "",             "errors_from": "0",             "disable_until": "0",             "details": {                 "version": "2",                 "bulk": "0",                 "community": "{$SNMP_COMMUNITY}"             }         }     ],     "id": 1 } ```
es	#### Recuperar interfaces de host  Recupere todos los datos sobre las interfaces utilizadas por el host "30057".  Solicitud:  ```json {     "jsonrpc": "2.0",     "método": "hostinterface.get",     "parámetros": {         "salida": "extender",         "hostids": "30057"     },     "autorización": "038e1d7b1735c6a5436ee9eae095879e",     "identificación": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "resultado": [         {             "interfaceid": "50039",             "hostid": "30057",             "principal": "1",             "tipo 1",             "useip": "1",             "ip": "::1",             "DNS": "",             "puerto": "10050",             "disponible": "0",             "error": "",             "errores_de": "0",             "disable_until": "0",             "detalles": []         },         {             "interfaceid": "55082",             "hostid": "30057",             "principal": "0",             "tipo 1",             "useip": "1",             "ip": "127.0.0.1",             "DNS": "",             "puerto": "10051",             "disponible": "0",             "error": "",             "errores_de": "0",             "disable_until": "0",             "detalles": {                 "versión 2",                 "a granel": "0",                 "comunidad": "{$SNMP_COMMUNITY}"             }         }     ],     "identificación": 1 } ```

en-us	#### Retrieve LLD rule by URL  Retrieve LLD rule for host by rule URL field value. Only exact match of URL string defined for LLD rule is supported.  Request:  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.get",     "params": {         "hostids": "10257",         "filter": {             "type": 19,             "url": "http://127.0.0.1/discoverer.php"         }     },     "id": 39,     "auth": "d678e0b85688ce578ff061bd29a20d3b" } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": [         {             "itemid": "28336",             "type": "19",             "snmp_oid": "",             "hostid": "10257",             "name": "API HTTP agent",             "key_": "api_discovery_rule",             "delay": "5s",             "status": "0",             "trapper_hosts": "",             "templateid": "0",             "valuemapid": "0",             "params": "",             "ipmi_sensor": "",             "authtype": "0",             "username": "",             "password": "",             "publickey": "",             "privatekey": "",             "interfaceid": "5",             "description": "",             "lifetime": "30d",             "jmx_endpoint": "",             "master_itemid": "0",             "timeout": "3s",             "url": "http://127.0.0.1/discoverer.php",             "query_fields": [                 {                     "mode": "json"                 },                 {                     "elements": "2"                 }             ],             "posts": "",             "status_codes": "200",             "follow_redirects": "1",             "post_type": "0",             "http_proxy": "",             "headers": {                 "X-Type": "api",                 "Authorization": "Bearer mF_A.B5f-2.1JcM"             },             "retrieve_mode": "0",             "request_method": "1",             "ssl_cert_file": "",             "ssl_key_file": "",             "ssl_key_password": "",             "verify_peer": "0",             "verify_host": "0",             "allow_traps": "0",             "uuid": "",             "state": "0",             "error": "",             "parameters": []         }     ],     "id": 39 } ```
es	#### Recuperar regla LLD por URL  Recuperar la regla LLD para el equipo por valor del campo de regla URL. Solo se admite la coincidencia exacta de la cadena URL definida para la regla LLD.  Solicitud:  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.get",     "params": {         "hostids": "10257",         "filter": {             "type": 19,             "url": "http://127.0.0.1/discoverer.php"         }     },     "id": 39,     "auth": "d678e0b85688ce578ff061bd29a20d3b" } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": [         {             "itemid": "28336",             "type": "19",             "snmp_oid": "",             "hostid": "10257",             "name": "API HTTP agent",             "key_": "api_discovery_rule",             "delay": "5s",             "status": "0",             "trapper_hosts": "",             "templateid": "0",             "valuemapid": "0",             "params": "",             "ipmi_sensor": "",             "authtype": "0",             "username": "",             "password": "",             "publickey": "",             "privatekey": "",             "interfaceid": "5",             "description": "",             "lifetime": "30d",             "jmx_endpoint": "",             "master_itemid": "0",             "timeout": "3s",             "url": "http://127.0.0.1/discoverer.php",             "query_fields": [                 {                     "mode": "json"                 },                 {                     "elements": "2"                 }             ],             "posts": "",             "status_codes": "200",             "follow_redirects": "1",             "post_type": "0",             "http_proxy": "",             "headers": {                 "X-Type": "api",                 "Authorization": "Bearer mF_A.B5f-2.1JcM"             },             "retrieve_mode": "0",             "request_method": "1",             "ssl_cert_file": "",             "ssl_key_file": "",             "ssl_key_password": "",             "verify_peer": "0",             "verify_host": "0",             "allow_traps": "0",             "uuid": "",             "state": "0",             "error": "",             "parameters": []         }     ],     "id": 39 } ```