en-us	#### Configuring PSK for server-agent communication (example)  On the agent host, write the PSK value into a file, for example, `/home/zabbix/zabbix_agentd.psk`. The file must contain PSK in the first text string, for example:      1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952  Set access rights to PSK file - it must be readable only by Zabbix user.  Edit TLS parameters in agent configuration file `zabbix_agentd.conf`, for example, set:      TLSConnect=psk     TLSAccept=psk     TLSPSKFile=/home/zabbix/zabbix_agentd.psk     TLSPSKIdentity=PSK 001  The agent will connect to server (active checks) and accept from server and `zabbix_get` only connections using PSK. PSK identity will be "PSK 001".  Restart the agent. Now you can test the connection using `zabbix_get`, for example:      $ zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]" --tls-connect=psk \                 --tls-psk-identity="PSK 001" --tls-psk-file=/home/zabbix/zabbix_agentd.psk  (To minimize downtime see how to change connection type in [Connection encryption management](/manual/encryption?&#connection_encryption_management)).  Configure PSK encryption for this agent in Zabbix frontend:  -   Go to: *Data collection → Hosts* -   Select host and click on **Encryption** tab  Example:  ![psk\_config.png](../../../assets/en/manual/encryption/psk_config.png)  All mandatory input fields are marked with a red asterisk.  When configuration cache is synchronized with database the new connections will use PSK. Check server and agent logfiles for error messages.
es	#### Configuración de PSK para la comunicación servidor-agente (ejemplo)  En el equipo del agente, escriba el valor de PSK en un archivo, por ejemplo, `/home/zabbix/zabbix_agentd.psk`. El archivo debe contener la PSK en la primera cadena de texto, por ejemplo:      1f87b595725ac58dd977ternera14b97461a7c1045b9a1c963065002c5473194952  Establezca derechos de acceso al archivo PSK; solo debe ser legible por el usuario de Zabbix.  Edite los parámetros TLS en el archivo de configuración del agente `zabbix_agentd.conf`, por ejemplo, establezca:      TLSConnect=psk     TLSAccept=psk     TLSPSKFile=/home/zabbix/zabbix_agentd.psk     TLSPSKIdentity=PSK 001  El agente se conectará al servidor (verificaciones activas) y aceptará desde el servidor y `zabbix_get` solo conexiones usando PSK. La identidad de PSK será "PSK 001".  Reinicie el agente. Ahora puede probar la conexión usando `zabbix_get`, Por ejemplo:      $ zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]" --tls-connect=psk \      --tls-psk-identity="PSK 001" --tls-psk-file=/home/zabbix/zabbix_agentd.psk  (Para minimizar el tiempo de inactividad, consulte cómo cambiar el tipo de conexión en la [gestión del cibrado de la conexión](/manual/encryption?&#connection_encryption_management)).  Configure el cifrado PSK para este agente en la interfaz de Zabbix:  - Ir a: *Recopilación de datos → Equipos* - Seleccione el equipo y haga clic en la pestaña **Cifrado**  Ejemplo:  ![psk\_config.png](../../../assets/en/manual/encryption/psk_config.png)  Todos los campos de entrada obligatorios están marcados con un asterisco rojo.  Cuando la caché de configuración se sincroniza con la base de datos, las nuevas conexiones utilizarán PSK. Verifique los archivos de registro del servidor y del agente en busca de mensajes de error.

en-us	#### Configuring server for use with Java gateway  With Java gateway up and running, you have to tell Zabbix server where to find Zabbix Java gateway. This is done by specifying JavaGateway and JavaGatewayPort parameters in the [server configuration file](/manual/appendix/config/zabbix_server). If the host on which JMX application is running is monitored by Zabbix proxy, then you specify the connection parameters in the [proxy configuration file](/manual/appendix/config/zabbix_proxy) instead.      JavaGateway=192.168.3.14     JavaGatewayPort=10052  By default, server does not start any processes related to JMX monitoring. If you wish to use it, however, you have to specify the number of pre-forked instances of Java pollers. You do this in the same way you specify regular pollers and trappers.      StartJavaPollers=5  Do not forget to restart server or proxy, once you are done with configuring them.
es	#### Configuración del servidor para su uso con Java gateway  Con Java gateway en funcionamiento, debe decirle al servidor Zabbix dónde encontrar el Java gateway de Zabbix. Esto se hace especificando los parámetros JavaGateway y JavaGatewayPort en el [archivo de configuración del servidor] (/manual/appendix/config/zabbix_server). Si el equipo en el que la aplicación JMX se está ejecutando es monitoreado por un proxy Zabbix,  en su lugar, especifique los parámetros de conexión en el [archivo de configuración del proxy](/manual/appendix/config/zabbix_proxy).      JavaGateway=192.168.3.14     JavaGatewayPort=10052  De forma predeterminada, el servidor no inicia ningún proceso relacionado con el monitoreo JMX. Sin embargo, si desea utilizarlo, debe especificar el número de instancias previamente bifurcadas de sondeadores de Java. Hace esto de la misma forma en que especifican los sondeadores normales y los capturadores.      StartJavaPollers=5  No olvide reiniciar el servidor o proxy, una vez que haya terminado con la configuración.

en-us	#### Configuring server for use with Java gateway  With Java gateway up and running, you have to tell Zabbix server where to find Zabbix Java gateway. This is done by specifying JavaGateway and JavaGatewayPort parameters in the [server configuration file](/manual/appendix/config/zabbix_server). If the host on which JMX application is running is monitored by Zabbix proxy, then you specify the connection parameters in the [proxy configuration file](/manual/appendix/config/zabbix_proxy) instead.      JavaGateway=192.168.3.14     JavaGatewayPort=10052  By default, server does not start any processes related to JMX monitoring. If you wish to use it, however, you have to specify the number of pre-forked instances of Java pollers. You do this in the same way you specify regular pollers and trappers.      StartJavaPollers=5  Do not forget to restart server or proxy, once you are done with configuring them.
es	#### Configuración del servidor para su uso con Java gateway  Con Java gateway en funcionamiento, debe decirle al servidor Zabbix dónde encontrar el Java gateway de Zabbix. Esto se hace especificando los parámetros JavaGateway y JavaGatewayPort en el [archivo de configuración del servidor] (/manual/appendix/config/zabbix_server). Si el equipo en el que la aplicación JMX se está ejecutando es monitoreado por un proxy Zabbix, en su lugar, especifique los parámetros de conexión en el [archivo de configuración del proxy](/manual/appendix/config/zabbix_proxy).      JavaGateway=192.168.3.14     JavaGatewayPort=10052  De forma predeterminada, el servidor no inicia ningún proceso relacionado con el monitoreo JMX. Sin embargo, si desea utilizarlo, debe especificar el número de instancias previamente bifurcadas de sondeadores de Java. Haga esto de la misma forma en que especifica los sondeadores normales y los capturadores.      StartJavaPollers=5  No olvide reiniciar el servidor o proxy, una vez que haya terminado con la configuración.

en-us	#### Configuring server for use with Java gateway  With Java gateway up and running, you have to tell Zabbix server where to find Zabbix Java gateway. This is done by specifying JavaGateway and JavaGatewayPort parameters in the [server configuration file](/manual/appendix/config/zabbix_server). If the host on which JMX application is running is monitored by Zabbix proxy, then you specify the connection parameters in the [proxy configuration file](/manual/appendix/config/zabbix_proxy) instead.      JavaGateway=192.168.3.14     JavaGatewayPort=10052  By default, server does not start any processes related to JMX monitoring. If you wish to use it, however, you have to specify the number of pre-forked instances of Java pollers. You do this in the same way you specify regular pollers and trappers.      StartJavaPollers=5  Do not forget to restart server or proxy, once you are done with configuring them.
es	#### Configuración del servidor para su uso con Java gateway  Con Java gateway en funcionamiento, debe decirle al servidor Zabbix dónde encontrar el Java gateway de Zabbix. Esto se hace especificando los parámetro JavaGateway y JavaGatewayPort en el [archivo de configuración del servidor] (/manual/appendix/config/zabbix_server). Si el host en el que la aplicación JMX se está ejecutando es monitoreada por el proxy Zabbix, luego especifica los parámetros de conexión en el [archivo configuración del proxy /manual/appendix/config/zabbix_proxy) en su lugar.      JavaGateway=192.168.3.14     JavaGatewayPort=10052  De forma predeterminada, el servidor no inicia ningún proceso relacionado con monitoreo JMX. Sin embargo, si desea utilizarlo, debe especificar el número de instancias previamente bifurcadas de sondas de Java. Haces esto de la misma forma en que especifica sondas y tramperos regulares.      StartJavaPollers=5  No olvide reiniciar el servidor o proxy, una vez que haya terminado con la configuración.

en-us	#### Configuring SNMP monitoring  To start monitoring a device through SNMP, the following steps have to be performed:
es	#### Configuración de la supervisión de SNMP  Para comenzar a monitorear un dispositivo a través de SNMP, se deben seguir los siguientes pasos:

en-us	#### Configuring SNMP traps  Configuring the following fields in the frontend is specific for this item type:  -   Your host must have an SNMP interface  In *Data collection → Hosts*, in the **Host interface** field set an SNMP interface with the correct IP or DNS address. The address from each received trap is compared to the IP and DNS addresses of all SNMP interfaces to find the corresponding hosts.  -   Configure the item  In the **Key** field use one of the SNMP trap keys:  |Key|<|<| |--|--|------| |Description|Return value|Comments| |**snmptrap**\[regexp\]|<|<| |Catches all SNMP traps that match the [regular expression](/manual/regular_expressions) specified in **regexp**. If regexp is unspecified, catches any trap.|SNMP trap|This item can be set only for SNMP interfaces.<br>User macros and global regular expressions are supported in the parameter of this item key.| |**snmptrap.fallback**|<|<| |Catches all SNMP traps that were not caught by any of the snmptrap\[\] items for that interface.|SNMP trap|This item can be set only for SNMP interfaces.|  ::: noteclassic Multiline regular expression matching is not supported at this time. :::  Set the **Type of information** to 'Log' for the timestamps to be parsed. Note that other formats such as 'Numeric' are also acceptable but might require a custom trap handler.  ::: notetip For SNMP trap monitoring to work, it must first be set up  correctly (see below). :::
es	#### Configuración de capturas SNMP  Configurar en la interfaz los siguientes campos específicos para este tipo de métrica:  - Su equipo debe tener una interfaz SNMP  En *Recopilación de datos → Equipos*, en el campo **Interfaz de equipo** establezca una  interfaz SNMP con la dirección IP o DNS correcta. La dirección de cada captura recibida se compara con las direcciones IP y DNS de todos los interfaces SNMP  para encontrar los equipos correspondientes.  - Configurar la métrica  En el campo **Clave** utilice una de las claves de captura SNMP:  |Clave|<|<| |--|--|------| |Descripción|Valor de retorno|Comentarios| |**snmptrap**\[regexp\]|<|<| |Captura todas las capturas SNMP que coinciden con la [expresión regular](/manual/regular_expressions) especificada en **regexp**. Si no se especifica la expresión regular, detecta cualquier trampa.|Trampa SNMP|Este elemento solo se puede configurar para interfaces SNMP.<br>Las macros de usuario y las expresiones regulares globales se admiten en el parámetro de esta clave de elemento.| |**snmptrap.fallback**|<|<| |Captura todas las capturas SNMP que no fueron capturadas por ninguno de los elementos snmptrap\[\] para esa interfaz.|Trampa SNMP|Este elemento solo se puede configurar para interfaces SNMP.|  ::: noteclassic En este momento no se admite la coincidencia de expresiones regulares multilínea. :::  Establezca el **Tipo de información** en 'Registro' para que se analicen las marcas de tiempo. Tenga en cuenta que también se aceptan otros formatos como "Numérico" pero puede requerir un controlador de capturas personalizado.  ::: notetip Para que funcione la supervisión de capturas SNMP, primero se debe configurar correctamente (ver más abajo). :::

en-us	##### Configuring SNMPTT  At first, snmptrapd should be configured to use SNMPTT.  ::: notetip For the best performance, SNMPTT should be configured as a daemon using **snmptthandler-embedded** to pass the traps to it. See instructions for [configuring SNMPTT](http://snmptt.sourceforge.net/docs/snmptt.shtml). :::  When SNMPTT is configured to receive the traps, configure `snmptt.ini`:  1.  enable the use of the Perl module from the NET-SNMP package:  ```ini net_snmp_perl_enable = 1 ```  2.  log traps to the trap file which will be read by Zabbix:  ```ini log_enable = 1 log_file = [TRAP FILE] ```      3.  set the date-time format:  ```ini date_time_format = %H:%M:%S %Y/%m/%d ```  ::: notewarning The "net-snmp-perl" package has been removed in RHEL 8.0-8.2;  re-added in RHEL 8.3. For more information, see the [known issues](/manual/installation/known_issues#snmp_traps). :::  Now format the traps for Zabbix to recognize them (edit snmptt.conf):  1.  Each FORMAT statement should start with "ZBXTRAP \[address\]", where     \[address\] will be compared to IP and DNS addresses of SNMP     interfaces on Zabbix. E.g.:  ```ini EVENT coldStart .1.3.6.1.6.3.1.1.5.1 "Status Events" Normal FORMAT ZBXTRAP $aA Device reinitialized (coldStart) ```  2.  See more about SNMP trap format below.  ::: noteimportant Do not use unknown traps - Zabbix will not be able to recognize them.  Unknown traps can be handled by defining a general event in snmptt.conf:<br><br>  ```ini EVENT general .* "General event" Normal ```  :::
es	##### Configuración de SNMPTT  Al principio, snmptrapd debe configurarse para utilizar SNMPTT.  ::: notetip Para obtener el mejor rendimiento, SNMPTT debe configurarse como un demonio que usa **snmptthandler-embedded** para pasarle las capturas. Ver instrucciones para [configurar SNMPTT] (http://snmptt.sourceforge.net/docs/snmptt.shtml). :::  Cuando SNMPTT esté configurado para recibir las capturas, configure `snmptt.ini`:  1. habilite el uso del módulo Perl del paquete NET-SNMP:  ```ini net_snmp_perl_enable = 1 ```  2. registre las capturas en el archivo de capturas que Zabbix leerá:  ```ini log_enable = 1 log_file = [ARCHIVO CAPTURA] ```      3. establezca el formato de fecha y hora:  ```ini date_time_format = %H:%M:%S %Y/%m/%d ```  ::: notewarning El paquete "net-snmp-perl" se eliminó en RHEL 8.0-8.2; se volvió a agregar en RHEL 8.3. Para obtener más información, consulte los  [problemas conocidos](/manual/installation/known_issues#snmp_traps). :::  Ahora formatee las capturas para que Zabbix las reconozca (edite snmptt.conf):  1. Cada instrucción FORMAT debe comenzar con "ZBXTRAP \[dirección\]", donde     \[dirección\] se comparará con las direcciones IP y DNS de los interfaces SNMP     en Zabbix. P.ej.:  ```ini EVENT coldStart .1.3.6.1.6.3.1.1.5.1 "Status Events" Normal FORMAT ZBXTRAP $aA Device reinitialized (coldStart) ```  2. Vea más sobre el formato de captura SNMP a continuación.  ::: noteimportant No utilice capturas desconocidas: Zabbix no podrá reconocerlas. Las capturas desconocidas se pueden manejar definiendo un evento general en snmptt.conf:<br><br>  ```ini EVENT general .* "General event" Normal ```  :::

en-us	#### Configuring steps  ![](../../assets/en/manual/config/scenario_step.png){width="600"}  Step parameters:  |Parameter|Description| |--|--------| |*Name*|Unique step name.<br>[User macros](/manual/config/macros/user_macros) are supported. *Note* that if user macros are used, these macros will be left unresolved in [web monitoring item](/manual/web_monitoring/items) names.| |*URL*|URL to connect to and retrieve data. For example:<br>https://www.example.com<br>http://www.example.com/download<br>Domain names can be specified in Unicode characters. They are automatically punycode-converted to ASCII when executing the web scenario step.<br>The *Parse* button can be used to separate optional query fields (like ?name=Admin&password=mypassword) from the URL, moving the attributes and values into *Query fields* for automatic URL-encoding.<br>Variables can be used in the URL, using the {macro} syntax. Variables can be URL-encoded manually using a {{macro}.urlencode()} syntax.<br>User macros and {HOST.\*} [macros](/manual/appendix/macros/supported_by_location) are supported.<br>Limited to 2048 characters.| |*Query fields*|HTTP GET variables for the URL.<br>Specified as attribute and value pairs.<br>Values are URL-encoded automatically. Values from scenario variables, user macros or {HOST.\*} macros are resolved and then URL-encoded automatically. Using a {{macro}.urlencode()} syntax will double URL-encode them.<br>User macros and {HOST.\*} [macros](/manual/appendix/macros/supported_by_location) are supported.| |*Post*|HTTP POST variables.<br>In **Form data** mode, specified as attribute and value pairs.<br>Values are URL-encoded automatically. Values from scenario variables, user macros or {HOST.\*} macros are resolved and then URL-encoded automatically.<br>In **Raw data** mode, attributes/values are displayed on a single line and concatenated with a **&** symbol.<br>Raw values can be URL-encoded/decoded manually using a {{macro}.urlencode()} or {{macro}.urldecode()} syntax.<br>For example: id=2345&userid={user}<br>If {user} is defined as a variable of the web scenario, it will be replaced by its value when the step is executed. If you wish to URL-encode the variable, substitute {user} with {{user}.urlencode()}.<br>User macros and {HOST.\*} [macros](/manual/appendix/macros/supported_by_location) are supported.| |*Variables*|Step-level variables that may be used for GET and POST functions.<br>Specified as attribute and value pairs.<br>Step-level variables override scenario-level variables or variables from the previous step. However, the value of a step-level variable only affects the step after (and not the current step).<br>They have the following format:<br>**{macro}**=value<br>**{macro}**=regex:<regular expression><br>For more information see variable description on the [scenario](web_monitoring#configuring_a_web_scenario) level.<br>Variables are automatically URL-encoded when used in query fields or form data for post variables, but must be URL-encoded manually when used in raw post or directly in URL.| |*Headers*|Custom HTTP headers that will be sent when performing a request.<br>Specified as attribute and value pairs.<br>A header defined on a step level will be used for that particular step.<br>**It should be noted that defining the header on a step level automatically discards all the previously defined headers, except for a default header that is assigned by selecting the 'User-Agent' from a drop-down list on a scenario level.**<br>However, even the 'User-Agent' default header can be overridden by specifying it on a step level.<br>For example, assigning the name to a header, but setting no value will unset the default header on a scenario level.<br>User macros and {HOST.\*} macros are supported.<br>This sets the [CURLOPT\_HTTPHEADER](http://curl.haxx.se/libcurl/c/CURLOPT_HTTPHEADER.html) cURL option.| |*Follow redirects*|Mark the checkbox to follow HTTP redirects.<br>This sets the [CURLOPT\_FOLLOWLOCATION](http://curl.haxx.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html) cURL option.| |*Retrieve mode*|Select the retrieve mode:<br>**Body** - retrieve only body from the HTTP response<br>**Headers** - retrieve only headers from the HTTP response<br>**Body and headers** - retrieve body and headers from the HTTP response| |*Timeout*|Zabbix will not spend more than the set amount of time on processing the URL (from one second to maximum of 1 hour). Actually this parameter defines the maximum time for making connection to the URL and maximum time for performing an HTTP request. Therefore, Zabbix will not spend more than **2 x Timeout** seconds on the step.<br>[Time suffixes](/manual/appendix/suffixes) are supported, e.g. 30s, 1m, 1h. [User macros](/manual/config/macros/user_macros) are supported.| |*Required string*|Required regular expression pattern.<br>Unless retrieved content (HTML) matches the required pattern the step will fail. If empty, no check on required string is performed.<br>For example:<br>Homepage of Zabbix<br>Welcome.\*admin<br>*Note*: Referencing [regular expressions](regular_expressions) created in the Zabbix frontend is not supported in this field.<br>User macros and {HOST.\*} [macros](/manual/appendix/macros/supported_by_location) are supported.| |*Required status codes*|List of expected HTTP status codes. If Zabbix gets a code which is not in the list, the step will fail.<br>If empty, no check on status codes is performed.<br>For example: 200,201,210-299<br>User macros are supported.|  ::: noteclassic Any changes in web scenario steps will only be saved when the whole scenario is saved. :::  See also a [real-life example](/manual/web_monitoring/example) of how web monitoring steps can be configured.
es	#### Configurando pasos  ![](../../assets/en/manual/config/scenario_step.png){width="600"}  Parámetros de paso:  |Parámetro|Descripción| |--|--------| |*Name*|Nombre único de paso.<br>Se admiten [macros de usuario](/manual/config/macros/user_macros). *Tenga en cuenta* que si se utilizan macros de usuario, estas macros quedarán sin resolver en los nombres de [elemento de monitoreo web](/manual/web_monitoring/items).| |*URL*|URL para conectarse y recuperar datos. Por ejemplo:<br>https://www.example.com<br>http://www.example.com/download<br>Los nombres de dominio se pueden especificar en caracteres Unicode. Se convierten automáticamente en punycode a ASCII al ejecutar el paso del escenario web.<br>El botón *Analizar* se puede utilizar para separar campos de consulta opcionales (como ?nombre=Admin&contraseña=micontraseña) de la URL, moviendo los atributos y valores a *Campos de consulta* para codificación automática de URL.<br>Se pueden utilizar variables en la URL, utilizando la sintaxis {macro}. Las variables se pueden codificar en URL manualmente usando una sintaxis {{macro}.urlencode()}.<br>Se admiten macros de usuario y {HOST.\*} [macros](/manual/appendix/macros/supported_by_location).<br >Limitado a 2048 caracteres.| |*Query fields*|Variables HTTP GET para la URL.<br>Especificadas como pares de atributo y valor.<br>Los valores se codifican en URL automáticamente. Los valores de variables de escenario, macros de usuario o macros {HOST.\*} se resuelven y luego se codifican en URL automáticamente. El uso de una sintaxis {{macro}.urlencode()} duplicará la codificación URL.<br>Se admiten macros de usuario y {HOST.\*} [macros](/manual/appendix/macros/supported_by_location).| |*Post*|Variables HTTP POST.<br>En modo **Datos de formulario**, especificados como pares de atributo y valor.<br>Los valores se codifican en URL automáticamente. Los valores de variables de escenario, macros de usuario o macros {HOST.\*} se resuelven y luego se codifican en URL automáticamente.<br>En el modo **Datos sin procesar**, los atributos/valores se muestran en una sola línea y se concatenan con un * Símbolo *&**.<br>Los valores sin procesar se pueden codificar/decodificar en URL manualmente usando una sintaxis {{macro}.urlencode()} o {{macro}.urldecode()}.<br>Por ejemplo: id= 2345&userid={user}<br>Si {user} se define como una variable del escenario web, será reemplazada por su valor cuando se ejecute el paso. Si desea codificar la variable en URL, sustituya {usuario} por {{usuario}.urlencode()}.<br>Macros de usuario y {HOST.\*} [macros](/manual/appendix/macros/supported_by_location) son compatibles.| |*Variables*|Variables de nivel de paso que se pueden usar para funciones GET y POST.<br>Especificadas como pares de atributo y valor.<br>Las variables de nivel de paso anulan las variables de nivel de escenario o las variables del paso anterior. Sin embargo, el valor de una variable de nivel de paso solo afecta el paso posterior (y no el paso actual).<br>Tienen el siguiente formato:<br>**{macro}**=valor<br>**{ macro}**=regex:<expresión regular><br>Para obtener más información, consulte la descripción de la variable en el nivel [escenario](web_monitoring#configuring_a_web_scenario).<br>Las variables se codifican automáticamente en URL cuando se usan en campos de consulta o datos de formulario para variables de publicación, pero deben codificarse manualmente en URL cuando se usan en publicaciones sin formato o directamente en URL.| |*Headers*|Encabezados HTTP personalizados que se enviarán al realizar una solicitud.<br>Especificados como pares de atributo y valor.<br>Se utilizará un encabezado definido en un nivel de paso para ese paso en particular.<br>** Cabe señalar que definir el encabezado a nivel de paso descarta automáticamente todos los encabezados definidos previamente, excepto un encabezado predeterminado que se asigna seleccionando el 'Usuario-Agente' de una lista desplegable a nivel de escenario.**< br>Sin embargo, incluso el encabezado predeterminado 'User-Agent' se puede anular especificándolo en un nivel de paso.<br>Por ejemplo, asignar el nombre a un encabezado, pero no establecer ningún valor, desactivará el encabezado predeterminado en un nivel de escenario. .<br>Se admiten macros de usuario y macros {HOST.\*}.<br>Esto configura la opción cURL [CURLOPT\_HTTPHEADER](http://curl.haxx.se/libcurl/c/CURLOPT_HTTPHEADER.html). | |*Follow redirects*|Marque la casilla de verificación para seguir las redirecciones HTTP.<br>Esto establece la opción de cURL [CURLOPT\_FOLLOWLOCATION](http://curl.haxx.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html).| |*Retrieve mode*|Seleccione el modo de recuperación:<br>**Cuerpo** - recuperar solo el cuerpo de la respuesta HTTP<br>**Encabezados** - recuperar solo los encabezados de la respuesta HTTP<br>**Cuerpo y encabezados**: recupera el cuerpo y los encabezados de la respuesta HTTP| |*Timeout*|Zabbix no dedicará más del tiempo establecido a procesar la URL (desde un segundo hasta un máximo de 1 hora). En realidad, este parámetro define el tiempo máximo para establecer la conexión a la URL y el tiempo máximo para realizar una solicitud HTTP. Por lo tanto, Zabbix no pasará más de **2 x Tiempo de espera** segundos en el paso.<br>Se admiten [sufijos de tiempo](/manual/appendix/suffixes), p. 30s, 1m, 1h. Se admiten [macros de usuario](/manual/config/macros/user_macros).| |*Required string*|Patrón de expresión regular requerido.<br>A menos que el contenido recuperado (HTML) coincida con el patrón requerido, el paso fallará. Si está vacío, no se realiza ninguna verificación de la cadena requerida.<br>Por ejemplo:<br>Página de inicio de Zabbix<br>Bienvenido.\*admin<br>*Nota*: Referencia a [expresiones regulares](regular_expressions) creadas en Zabbix La interfaz no es compatible con este campo.<br>Se admiten macros de usuario y {HOST.\*} [macros](/manual/appendix/macros/supported_by_location).| |*Required status codes*|Lista de códigos de estado HTTP esperados. Si Zabbix obtiene un código que no está en la lista, el paso fallará.<br>Si está vacío, no se realiza ninguna verificación de los códigos de estado.<br>Por ejemplo: 200,201,210-299<br>Se admiten macros de usuario.|  ::: noteclassic Cualquier cambio en los pasos del escenario web solo se guardará cuando todo el escenario está guardado. :::  Vea también un [ejemplo de la vida real](/manual/web_monitoring/example) de cómo se pueden configurar los pasos de monitoreo web.

en-us	#### Configuring tags  The **Tags** tab allows to define scenario-level [tags](/manual/config/tagging).  ![](../../assets/en/manual/config/scenario_c.png)  Tagging allows to filter web scenarios and web monitoring [items](/manual/web_monitoring/items).
es	#### Configurar etiquetas  La pestaña **Etiquetas** permite definir  [etiquetas](/manual/config/tagging) a nivel de escenario.  ![](../../assets/en/manual/config/scenario_c.png)  El etiquetado permite filtrar escenarios web y  [métricas](/manual/web_monitoring/items)  de monitorización web.

en-us	#### Configuring unixODBC  ODBC configuration is done by editing the **odbcinst.ini** and **odbc.ini** files. To verify the configuration file location, type:      odbcinst -j  **odbcinst.ini** is used to list the installed ODBC database drivers:      [mysql]     Description = ODBC for MySQL     Driver      = /usr/lib/libmyodbc5.so  Parameter details:  |Attribute|Description| |--|--------| |*mysql*|Database driver name.| |*Description*|Database driver description.| |*Driver*|Database driver library location.|  **odbc.ini** is used to define data sources:      [test]     Description = MySQL test database     Driver      = mysql     Server      = 127.0.0.1     User        = root     Password    =     Port        = 3306     Database    = zabbix  Parameter details:  |Attribute|Description| |--|--------| |*test*|Data source name (DSN).| |*Description*|Data source description.| |*Driver*|Database driver name - as specified in odbcinst.ini| |*Server*|Database server IP/DNS.| |*User*|Database user for connection.| |*Password*|Database user password.| |*Port*|Database connection port.| |*Database*|Database name.|  To verify if ODBC connection is working successfully, a connection to database should be tested. That can be done with the **isql** utility (included in the unixODBC package):      isql test     +---------------------------------------+     | Connected!                            |     |                                       |     | sql-statement                         |     | help [tablename]                      |     | quit                                  |     |                                       |     +---------------------------------------+
es	#### Configuración de unixODBC  La configuración de ODBC se realiza editando los archivos **odbcinst.ini** y **odbc.ini**. Para verificar la ubicación del archivo de configuración, escriba:      odbcinst -j  **odbcinst.ini** se utiliza para listar los controladores ODBC de bases de datos instalados:      [mysql]     Description = ODBC for MySQL     Driver · = /usr/lib/libmyodbc5.so  Detalles de parámetros:  |Atributo|Descripción| |---------|-----------| |*mysql*|Nombre del controlador de la base de datos.| |*Description*|Descripción del controlador de la base de datos.| |*Driver*|Localización de la biblioteca del controlador de la base de datos.  **odbc.ini** se utiliza para definir las fuentes de datos:      [test]     Description = MySQL test database     Driver     = mysql     Server    = 127.0.0.1     User       = root     Password  =     Port  = 3306     Database  = zabbix  Detalles de los parámetros:  |Atributo|Descripción| |---------|-----------| |*test*|Nombre de fuente de datos (DSN).| |*Description*|Descripción de la fuente de datos.| |*Driver*|Nombre del controlador de la base de datos: como se especifica en odbcinst.ini| |*Server*|IP/DNS del servidor de base de datos.| |*User*|Usuario de base de datos para conexión.| |*Password*|Contraseña de usuario de la base de datos.| |*Port*|Puerto de conexión de base de datos.| |*Database*|Nombre de la base de datos.|  Para verificar si la conexión ODBC funciona correctamente, se debe comprobar la conexión a la base de datos. Eso puede hacerse con la utilidad **isql** (incluida en el paquete unixODBC):      isql test     +---------------------------------------+     | Connected!   |     |    |     | sql-statement   |     | help [tablename]   |     | quit   |     |    |     +---------------------------------------+

en-us	##### Configuring Zabbix server/proxy  To read the traps, Zabbix server or proxy must be configured to start the SNMP trapper process and point to the trap file that is being written by SNMPTT or a Bash/Perl trap receiver. To do that, edit the configuration file ([zabbix\_server.conf](/manual/appendix/config/zabbix_server) or [zabbix\_proxy.conf](/manual/appendix/config/zabbix_proxy)):  ```ini StartSNMPTrapper=1 SNMPTrapperFile=[TRAP FILE] ```  ::: notewarning If systemd parameter **[PrivateTmp](http://www.freedesktop.org/software/systemd/man/systemd.exec.html#PrivateTmp=)** is used, this file is unlikely to work in */tmp*. :::  ##### Configuring Bash trap receiver  Requirements: only snmptrapd.  A Bash trap receiver [script](https://raw.githubusercontent.com/zabbix/zabbix-docker/6.4/Dockerfiles/snmptraps/alpine/conf/usr/sbin/zabbix_trap_handler.sh) can be used to pass traps to Zabbix server directly from snmptrapd. To configure it, add the `traphandle` option to snmptrapd configuration file (`snmptrapd.conf`), see [example](https://raw.githubusercontent.com/zabbix/zabbix-docker/6.4/Dockerfiles/snmptraps/alpine/conf/etc/snmp/snmptrapd.conf).
es	##### Configuración del servidor/proxy Zabbix  Para leer las capturas, el servidor Zabbix o el proxy deben estar configurados para iniciar el proceso de captura SNMP y apuntar al archivo de captura que se está escribiendo por SNMPTT o un receptor de captura Bash/Perl. Para hacer eso, edite el archivo de configuración ([zabbix\_server.conf](/manual/appendix/config/zabbix_server) o [zabbix\_proxy.conf](/manual/appendix/config/zabbix_proxy)):  ```ini StartSNMPTrapper=1 SNMPTrapperFile=[TRAP FILE] ```  ::: notewarning Si se utiliza el parámetro systemd **[PrivateTmp](http://www.freedesktop.org/software/systemd/man/systemd.exec.html#PrivateTmp=)**, es poco probable que este archivo funcione en */tmp*. :::  ##### Configuración del receptor de capturas Bash  Requisitos: sólo snmptrapd.  Un receptor de capturas Bash [script] (https://raw.githubusercontent.com/zabbix/zabbix-docker/6.4/Dockerfiles/snmptraps/alpine/conf/usr/sbin/zabbix_trap_handler.sh) se puede utilizar para pasar capturas al servidor Zabbix directamente desde snmptrapd. Para configurarlo, agregue la opción `traphandle` al archivo de configuración de snmptrapd (`snmptrapd.conf`), consulte el [ejemplo] (https://raw.githubusercontent.com/zabbix/zabbix-docker/6.4/Dockerfiles/snmptraps/alpine/conf/etc/snmp/snmptrapd.conf).

en-us	#### Connection encryption management  Connections in Zabbix can use:  -   no encryption (default) -   [RSA certificate-based     encryption](/manual/encryption/using_certificates) -   [PSK-based encryption](/manual/encryption/using_pre_shared_keys)  There are two important parameters used to specify encryption between Zabbix components:  -   TLSConnect - specifies what encryption to use for outgoing     connections (unencrypted, PSK or certificate) -   TLSAccept - specifies what types of connections are allowed for     incoming connections (unencrypted, PSK or certificate). One or more     values can be specified.  `TLSConnect` is used in the configuration files for Zabbix proxy (in active mode, specifies only connections to server) and Zabbix agent (for active checks). In Zabbix frontend the TLSConnect equivalent is the *Connections to host* field in *Data collection → Hosts → <some host> → Encryption* tab and the *Connections to proxy* field in *Administration → Proxies → <some proxy> → Encryption* tab. If the configured encryption type for connection fails, no other encryption types will be tried.  `TLSAccept` is used in the configuration files for Zabbix proxy (in passive mode, specifies only connections from server) and Zabbix agent (for passive checks). In Zabbix frontend the TLSAccept equivalent is the *Connections from host* field in *Data collection → Hosts → <some host> → Encryption* tab and the *Connections from proxy* field in *Administration → Proxies → <some proxy> → Encryption* tab.  Normally you configure only one type of encryption for incoming encryptions. But you may want to switch the encryption type, e.g. from unencrypted to certificate-based with minimum downtime and rollback possibility. To achieve this:  -   Set `TLSAccept=unencrypted,cert` in the agent configuration file and     restart Zabbix agent -   Test connection with zabbix\_get to the agent using certificate. If     it works, you can reconfigure encryption for that agent in Zabbix     frontend in the *Data collection → Hosts → <some host> →     Encryption* tab by setting *Connections to host* to "Certificate". -   When server configuration cache gets updated (and proxy     configuration is updated if the host is monitored by proxy) then     connections to that agent will be encrypted -   If everything works as expected you can set `TLSAccept=cert` in the     agent configuration file and restart Zabbix agent. Now the agent     will be accepting only encrypted certificate-based connections.     Unencrypted and PSK-based connections will be rejected.  In a similar way it works on server and proxy. If in Zabbix frontend in host configuration *Connections from host* is set to "Certificate" then only certificate-based encrypted connections will be accepted from the agent (active checks) and zabbix\_sender (trapper items).  Most likely you will configure incoming and outgoing connections to use the same encryption type or no encryption at all. But technically it is possible to configure it asymmetrically, e.g. certificate-based encryption for incoming and PSK-based for outgoing connections.  Encryption configuration for each host is displayed in the Zabbix frontend, in *Data collection → Hosts* in the *Agent encryption* column. For example:  |Example|Connections to host|Allowed connections from host|Rejected connections from host| |-------|-------------------|-----------------------------|------------------------------| |![none\_none.png](../../assets/en/manual/encryption/none_none.png)|Unencrypted|Unencrypted|Encrypted, certificate and PSK-based encrypted| |![cert\_cert.png](../../assets/en/manual/encryption/cert_cert.png)|Encrypted, certificate-based|Encrypted, certificate-based|Unencrypted and PSK-based encrypted| |![psk\_psk.png](../../assets/en/manual/encryption/psk_psk.png)|Encrypted, PSK-based|Encrypted, PSK-based|Unencrypted and certificate-based encrypted| |![psk\_none\_psk.png](../../assets/en/manual/encryption/psk_none_psk.png)|Encrypted, PSK-based|Unencrypted and PSK-based encrypted|Certificate-based encrypted| |![cert\_all.png](../../assets/en/manual/encryption/cert_all.png)|Encrypted, certificate-based|Unencrypted, PSK or certificate-based encrypted|\-|  ::: noteimportant Connections are unencrypted by default. Encryption must be configured for each host and proxy individually. :::
es	#### Gestión de cifrado de la conexión  Las conexiones en Zabbix pueden usar:  -   sin cifrado (predeterminado) -   [cifrado basado en certificado RSA](/manual/encryption/using_certificates) -   [cifrado basado en PSK](/manual/encryption/using_pre_shared_keys)  Hay dos parámetros importantes que se utilizan para especificar el cifrado entre componentes de Zabbix:  - TLSConnect: especifica qué cifrado utilizar para las conexiones salientes      (sin cifrar, PSK o certificado) - TLSAccept: especifica qué tipos de conexiones están permitidas     para conexiones entrantes (sin cifrar, PSK o certificado).      Se pueden especificar uno o mas valores.  `TLSConnect` se utiliza en los archivos de configuración para el proxy Zabbix (en modo activo, especifica solo conexiones al servidor) y el agente Zabbix (para controles activos). En la interfaz de Zabbix, el equivalente de TLSConnect es el Campo *Conexiones al equipo* en *Recopilación de datos → Equipos → <algún equipo> → pestaña Cifrado* y el campo *Conexiones al proxy* en *Administración → Proxies → <algún proxy> → pestaña Cifrado*. Si el el tipo de cifrado configurado para la conexión falla, no  se probarán ningún otro tipo de cifrado.  `TLSAccept` se utiliza en los archivos de configuración para el proxy Zabbix (en modo pasivo, especifica solo conexiones desde el servidor) y agente Zabbix (para controles pasivos). En la interfaz de Zabbix, el equivalente de TLSAccept es el *Conexiones desde el equipo* en *Recopilación de datos → Equipos → <algún equipo> → pestaña Cifrado* y el campo *Conexiones desde proxy* en *Administración → Proxies → <algún proxy> → pestaña Cifrado*.  Normalmente se configura sólo un tipo de cifrado para los cifrados de las comunicaciones  entrantes. Pero es posible que desee cambiar el tipo de cifrado, p. e. de sin cifrar a basado en certificados con un tiempo de inactividad y reversión mínimos. Para lograr esto:  - Establezca `TLSAccept=unencrypted,cert` en el archivo de configuración del agente y     reinicie el agente Zabbix - Probar la conexión con zabbix\_get al agente mediante certificado. Si     funciona, puede reconfigurar el cifrado para ese agente en Zabbix     frontend en *Recopilación de datos → Equipos → <algún equipo> →     pestaña Cifrado* configurando *Conexiones al equipo* en "Certificado". - Cuando se actualiza la caché de configuración del servidor (y      la configuración del proxy se actualiza si el equipo es monitoreado por proxy) entonces     las conexiones a ese agente se cifrarán - Si todo funciona como se esperaba, puede configurar `TLSAccept=cert` en el     archivo de configuración del agente y reiniciar el agente Zabbix. Ahora el agente     aceptará únicamente conexiones cifradas basadas en certificados.     Se rechazarán las conexiones no cifradas y basadas en PSK.  De manera similar funciona en servidor y proxy. Si en la interfaz de Zabbix en la configuración del equipo *Conexiones desde el equipo* está configurada en "Certificado", luego sólo se aceptarán conexiones cifradas basadas en certificados desde el agente (verificaciones activas) y zabbix\_sender (métricas de captura).  Lo más probable es que configure las conexiones entrantes y salientes para usar el mismo tipo de cifrado o ningún cifrado. Pero técnicamente es posible configurarlo asimétricamente, p.e. cifrado basado en certificado  para conexiones entrantes y basado en PSK para conexiones salientes.  La configuración de cifrado para cada equipo se muestra en  la interfaz de Zabbix, en *Recopilación de datos → Equipos* en la columna *Cifrado del agente*. Por ejemplo:  |Ejemplo|Conexiones al equipo|Conexiones permitidas desde el equipo|Conexiones rechazadas desde el equipo| |-------|-------------------|-----------------------------|------------------------------| |![none\_none.png](../../assets/en/manual/encryption/none_none.png)|Sin cifrar|Sin cifrar|Cifrado, certificado y cifrado basado en PSK| |![cert\_cert.png](../../assets/en/manual/encryption/cert_cert.png)|Cifrado, basado en certificado|Cifrado, basado en certificado|Sin cifrar y cifrado basado en PSK| |![psk\_psk.png](../../assets/en/manual/encryption/psk_psk.png)|Cifrado, basado en PSK|Cifrado, basado en PSK|Sin cifrar y cifrado basado en certificado| |![psk\_none\_psk.png](../../assets/en/manual/encryption/psk_none_psk.png)|Cifrado, basado en PSK|Sin cifrar y cifrado basado en PSK|Cifrado basado en certificado| |![cert\_all.png](../../assets/en/manual/encryption/cert_all.png)|Cifrado, basado en certificado|Sin cifrar, PSK o cifrado basado en certificado|\-|  ::: noteimportant Las conexiones no están cifradas de forma predeterminada. El cifrado debe configurarse para cada equipo y proxy individualmente. :::

en-us	### Connection options for Oracle plugin  The Oracle plugin, supported for Zabbix agent 2, now allows to specify `as sysdba`, `as sysoper`, or `as sysasm` login option. The option can be appended either to the user item key parameter or to the plugin configuration parameter Plugins.Oracle.Sessions.<SessionName>.User in the format `user as sysdba` (login option is case-insensitive; must not contain a trailing space).
es	### Opciones de conexión para el complemento de Oracle  El complemento de Oracle, compatible con Zabbix Agent 2, ahora permite especificar la opción de inicio de sesión "as sysdba", "as sysoper" o "as sysasm". La opción se puede agregar al parámetro clave del elemento de usuario o al parámetro de configuración del complemento Plugins.Oracle.Sessions.<SessionName>.User en el formato `usuario como sysdba` (la opción de inicio de sesión no distingue entre mayúsculas y minúsculas; no debe contener un final espacio).

en-us	### Connection set up  Zabbix supports two types of connect identifiers (connection methods):  -   Easy Connect -   Net Service Name  Connection configuration parameters for Zabbix server and Zabbix proxy can be set in the configuration files. Important parameters for the server and proxy are *DBHost*, *DBUser*, *DBName* and *DBPassword*. The same parameters are important for the frontend: *$DB\["SERVER"\]*, *$DB\["PORT"\]*, *$DB\["DATABASE"\]*, *$DB\["USER"\]*, *$DB\["PASSWORD"\]*.  Zabbix uses the following connection string syntax:      {DBUser/DBPassword[@<connect_identifier>]}   <connect\_identifier> can be specified either in the form of "Net Service Name" or "Easy Connect".      @[[//]Host[:Port]/<service_name> | <net_service_name>]
es	### Configuración de la conexión  Zabbix admite dos tipos de identificadores de conexión (métodos de conexión):  - Conexión fácil - Nombre del servicio de red  Los parámetros de configuración de conexión para el servidor Zabbix y el proxy Zabbix se pueden configurar en los archivos de configuración. Los parámetros importantes para el servidor y el proxy son *DBHost*, *DBUser*, *DBName* y *DBPassword*. Los mismos parámetros son importantes para la interfaz: *$DB\["SERVER"\]*, *$DB\["PORT"\]*, *$DB\["DATABASE"\]*, *$DB\["USER"\]*, *$DB\["PASSWORD"\]*.  Zabbix utiliza la siguiente sintaxis de cadena de conexión:      {DBUser/DBPassword[@<connect_identifier>]}   <connect\_identifier> se puede especificar en forma de "Nombre del servicio de red" o "Conexión fácil".      @[[//]Host[:Port]/<service_name> | <net_service_name>]

en-us	##### Connections  Some plugins support gathering metrics from multiple instances simultaneously. Both local and remote instances can be monitored. TCP and Unix-socket connections are supported.  It is recommended to configure plugins to keep connections to instances in an open state. The benefits are reduced network congestion, latency, and CPU and memory usage due to the lower number of connections. The client library takes care of this.  ::: notetip Time period for which unused connections should remain open can be determined by *Plugins.<PluginName>.KeepAlive* parameter. Example: *Plugins.Memcached.KeepAlive* :::
es	##### Conexiones  Algunos complementos admiten la recopilación de métricas de múltiples instancias simultáneamente. Tanto las instancias locales como las remotas pueden ser monitoreadas.  Se admiten conexiones de TCP y de socket Unix.  Se recomienda configurar complementos para mantener las conexiones a las instancias en estado abierto. Los beneficios son la reducción de la congestión de la red, la latencia, y uso de CPU y memoria debido a la menor cantidad de conexiones. La biblioteca del cliente se encarga de esto.  ::: notetip  Período de tiempo durante el cual deben permanecer las conexiones no utilizadas abiertas puede ser determinado por el parámetro *Plugins.<PluginName>.KeepAlive*.\ Ejemplo: *Plugins.Memcached.KeepAlive* :::

en-us	# connector.create
es	# connector.create

en-us	# connector.delete
es	# connector.delete

en-us	# connector.get
es	# connector.get

en-us	# > Connector object  The following objects are directly related to the `connector` API.
es	# > Objeto conector  Los siguientes objetos están directamente relacionados con la API `connector`.

en-us	#### - Connectors  This section allows to configure connectors for Zabbix data [streaming to external systems](/manual/config/export/streaming) over HTTP.  ![](../../../../../assets/en/manual/web_interface/frontend_sections/administration/general_connectors.png){width="600"}  Click on *Create connector* to configure a new [connector](/manual/config/export/streaming#configuration).  You may filter connectors by name or status (enabled/disabled). Click on the connector status in the list to enable/disable a connector.  You may also mass enable/disable connectors by selecting them in the list and then clicking on the *Enable/Disable* buttons below the list.
es	#### - Conectores  Esta sección permite configurar conectores para datos de Zabbix [transmisión a sistemas externos](/manual/config/export/streaming) a través de HTTP.  ![](../../../../../assets/en/manual/web_interface/frontend_sections/administration/general_connectors.png){width="600"}  Haga clic en *Crear conector* para configurar un nuevo [conector](/manual/config/export/streaming#configuration).  Puede filtrar conectores por nombre o estado (habilitado/deshabilitado). Haga clic en el estado del conector en la lista para habilitar/deshabilitar un conector. También puede habilitar/deshabilitar conectores en masa seleccionándolos en la lista y luego haciendo clic en los botones *Activar/Deshabilitar* debajo de la lista.

en-us	### Connector  The connector object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |connectorid|string|ID of the connector.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *read-only*<br>- *required* for update operations| |name|string|Name of the connector.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* for create operations| |url|string|Endpoint URL, that is, URL of the receiver.<br>User macros are supported.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* for create operations| |protocol|integer|Communication protocol.<br><br>Possible values:<br>0 - *(default)* Zabbix Streaming Protocol v1.0.| |data_type|integer|Data type.<br><br>Possible values:<br>0 - *(default)* Item values;<br>1 - Events.| |max\_records|integer|Maximum number of events or items that can be sent within one message.<br><br>Possible values: 0-2147483647 (max value of 32-bit signed integer).<br><br>Default: 0 - Unlimited.| |max\_senders|integer|Number of sender processes to run for this connector.<br><br>Possible values: 1-100.<br><br>Default: 1.| |max\_attempts|integer|Number of attempts.<br><br>Possible values: 1-5.<br><br>Default: 1.| |timeout|string|Timeout.<br>Time suffixes are supported (e.g., 30s, 1m).<br>User macros are supported.<br><br>Possible values: 1s-60s.<br><br>Default: 5s.| |http\_proxy|string|HTTP(S) proxy connection string given as <br>*\[protocol\]://\[username\[:password\]@\]proxy.example.com\[:port\]*.<br><br>User macros are supported.| |authtype|integer|HTTP authentication method.<br><br>Possible values:<br>0 - *(default)* None;<br>1 - Basic;<br>2 - NTLM;<br>3 - Kerberos;<br>4 - Digest;<br>5 - Bearer.| |username|string|User name.<br>User macros are supported.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* if `authtype` is set to "Basic", "NTLM", "Kerberos", or "Digest"| |password|string|Password.<br>User macros are supported.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* if `authtype` is set to "Basic", "NTLM", "Kerberos", or "Digest"| |token|string|Bearer token.<br>User macros are supported.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `authtype` is set to "Bearer"| |verify\_peer|integer|Whether to validate that the host's certificate is authentic.<br><br>Possible values:<br>0 - Do not validate;<br>1 - *(default)* Validate.| |verify\_host|integer|Whether to validate that the host name for the connection matches the one in the host's certificate.<br><br>Possible values:<br>0 - Do not validate;<br>1 - *(default)* Validate.| |ssl\_cert\_file|string|Public SSL Key file path.<br>User macros are supported.| |ssl\_key\_file|string|Private SSL Key file path.<br>User macros are supported.| |ssl\_key\_password|string|Password for SSL Key file.<br>User macros are supported.| |description|text|Description of the connector.| |status|integer|Whether the connector is enabled.<br><br>Possible values:<br>0 - Disabled;<br>1 - *(default)* Enabled.| |tags\_evaltype|integer|Tag evaluation method.<br><br>Possible values:<br>0 - *(default)* And/Or;<br>2 - Or.|
es	### Conector  El objeto conector tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |connectorid|cadena|ID del conector.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *solo lectura*<br>- *obligatorio* para operaciones de actualización| |name|cadena|Nombre del conector.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* para operaciones de creación| |url|cadena|URL del punto final, es decir, la URL del receptor.<br>Se admiten macros de usuario.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br> - *obligatorio* para operaciones de creación| |protocol|entero|Protocolo de comunicación.<br><br>Valores posibles:<br>0 - *(predeterminado)* Zabbix Streaming Protocol v1.0.| |data_type|entero|Tipo de datos.<br><br>Valores posibles:<br>0 - *(predeterminado)* Valores de la métrica;<br>1 - Eventos.| |max\_records|entero|Número máximo de eventos o métricas que se pueden enviar en un mensaje.<br><br>Valores posibles: 0-2147483647 (valor máximo de un entero con signo de 32 bits).<br><br> Predeterminado: 0 - Ilimitado.| |max\_senders|entero|Número de procesos de remitente que se ejecutarán para este conector.<br><br>Valores posibles: 1-100.<br><br>Predeterminado: 1.| |max\_attempts|entero|Número de intentos.<br><br>Valores posibles: 1-5.<br><br>Predeterminado: 1.| |timeout|cadena|Tiempo de espera.<br>Se admiten sufijos de tiempo (por ejemplo, 30 s, 1 m).<br>Se admiten macros de usuario.<br><br>Valores posibles: 1 s-60 s.<br><br>Predeterminado : 5s.| |http\_proxy|cadena|Cadena de conexión de proxy HTTP(S) proporcionada como <br>*\[protocolo\]://\[nombre de usuario\[:contraseña\]@\]proxy.example.com\[:puerto\ ]*.<br><br>Se admiten macros de usuario.| |authtype|entero|Método de autenticación HTTP.<br><br>Valores posibles:<br>0 - *(predeterminado)* Ninguno;<br>1 - Básico;<br>2 - NTLM;<br>3 - Kerberos ;<br>4 - Resumen;<br>5 - Bearer.| |username|cadena|Nombre de usuario.<br>Se admiten macros de usuario.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *compatible* si `tipo de autenticación` está configurado en "Básico", "NTLM", "Kerberos" o "Resumen"| |password|cadena|Contraseña.<br>Se admiten macros de usuario.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *compatible* si `authtype` es establecido en "Básico", "NTLM", "Kerberos" o "Resumen"| |token|cadena|Token de portador.<br>Se admiten macros de usuario.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si `authtype` está establecido en "Portador"| |verify\_peer|entero|Si se valida que el nombre de host coincida con las URL proporcionadas en los campos *Nombre común* o *Nombre alternativo del sujeto* del certificado de equipo.<br><br>Valores posibles:<br>0 - No validar;<br>1 - *(predeterminado)* Validar.| |verify\_host|entero|Si se valida la autenticidad del certificado de equipo.<br><br>Valores posibles:<br>0 - No validar;<br>1 - *(predeterminado)* Validar.| |ssl\_cert\_file|cadena|Ruta del archivo de clave SSL pública.<br>Se admiten macros de usuario.| |ssl\_key\_file|cadena|Ruta del archivo de clave SSL privada.<br>Se admiten macros de usuario.| |ssl\_key\_password|cadena|Contraseña para el archivo de clave SSL.<br>Se admiten macros de usuario.| |description|texto|Descripción del conector.| |status|entero|Si el conector está habilitado.<br><br>Valores posibles:<br>0 - Deshabilitado;<br>1 - *(predeterminado)* Habilitado.| |tags\_evaltype|entero|Método de evaluación de etiquetas.<br><br>Valores posibles:<br>0 - *(predeterminado)* Y/O;<br>2 - O.|

en-us	# Connector  This class is designed to work with connector objects.  Object references:\  - [Connector](/manual/api/reference/connector/object#connector) - [Connector tag filter](/manual/api/reference/connector/object#tag-filter)  Available methods:\  - [connector.create](/manual/api/reference/connector/create) - creating new connectors - [connector.delete](/manual/api/reference/connector/delete) - deleting connectors - [connector.get](/manual/api/reference/connector/get) - retrieving connectors - [connector.update](/manual/api/reference/connector/update) - updating connectors
es	# Conector  Esta clase está diseñada para trabajar con objetos de conectores.  Referencias de objetos:\  - [Conector](/manual/api/reference/conector/object#conector) - [Filtro de etiquetas de conector](/manual/api/reference/connector/object#tag-filter)  Métodos disponibles:\  - [connector.create](/manual/api/reference/connector/create) - creación de nuevos conectores - [connector.delete](/manual/api/reference/connector/delete) - eliminar conectores - [connector.get](/manual/api/reference/connector/get) - recuperando conectores - [connector.update](/manual/api/reference/connector/update) - actualización de conectores

en-us	# connector.update
es	# connector.update

en-us	#### connector  [ZBXNEXT-8105](https://support.zabbix.com/browse/ZBXNEXT-8105) Added new Connector API with methods `connector.create`, `connector.update`, `connector.get`, `connector.delete`.\
es	#### connector  [ZBXNEXT-8105](https://support.zabbix.com/browse/ZBXNEXT-8105) Se agregó una nueva API de conector con los métodos `connector.create`, `connector.update`, `connector.get`, `connector.delete `.\

en-us	#### Consistency introduced in sha256 checksums of vfs.file.cksum item  In earlier Zabbix versions, the Zabbix agent item [`vfs.file.cksum`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.cksumfilemode) produced different sha256 sums for the same file depending on the platform (processor architecture) – sha256 sums on AIX, HP-UX (Itanium) and Solaris (SPARC) differed from those produced on Intel x86-64 platforms.  The issue has now been fixed; however, after upgrading, monitoring sha256 sums of files on AIX, HP-UX, or Solaris SPARC may result in false positives of files having been modified.
es	#### Se introdujo coherencia en las sumas de comprobación sha256 del elemento vfs.file.cksum  En versiones anteriores de Zabbix, la métrica del agente Zabbix [`vfs.file.cksum`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.cksumfilemode) producía diferentes sumas sha256 para el mismo archivo dependiendo de la plataforma (procesador arquitectura) – las sumas sha256 en AIX, HP-UX (Itanium) y Solaris (SPARC) diferían de las producidas en plataformas Intel x86-64.  El problema ya se ha solucionado; sin embargo, después de la actualización, la supervisión de sumas sha256 de archivos en AIX, HP-UX o Solaris SPARC puede generar falsos positivos de archivos modificados.

en-us	 #### Content conversion to UTF-8  HTTP agent items, web scenarios, web checks and JavaScript items have been improved to convert to UTF-8 from the character set specified in the HTTP header or HTTP meta tag.
es	 #### Conversión de contenido a UTF-8  Se han mejorado las métricas del agente HTTP, los escenarios web, las comprobaciones web y los elementos de JavaScript para convertirlos a UTF-8 desde el conjunto de caracteres especificado en el encabezado HTTP o la metaetiqueta HTTP.

en-us	 #### Content  The event context menu has six sections: *View*, *Actions*, *Configuration*, *Problem*, *Links*, and *Scripts*.  For the entities that are not configured, links are disabled and displayed in gray. The sections *Scripts* and *Links* are displayed if their entities are configured.  The *View* section contains links to:  -  **Problems** - opens the list of unresolved problems of the underlying trigger; -  **History** - leads to the *Latest data* graph/item history for the underlying item(s).    If a trigger uses several items, links will be available for each of them.  The *Actions* section is available in *Trigger overview* widgets only.  It contains a link to:  -  **Update problem** - opens the [problem update](manual/acknowledgment#updating-problems) screen.  The *Configuration* section contains links to the configuration of:  -  **Trigger** that fired the problem; -  **Items** used in the trigger expression.  ::: notetip Note that configuration section is available only for Admin and Super admin users. :::  The *Problem* section contains the options to:  -  **Mark as cause** - mark the problem as cause; -  **Mark selected as symptoms** - mark the selected problems as symptoms of this problem.  The *Links* section contains links to:  -  access a configured [trigger URL](/manual/config/triggers/trigger#configuration); -  access custom links configured in [Global scripts](/manual/web_interface/frontend_sections/alerts/scripts)   (with scope 'Manual event action' and type 'URL'); - access a configured external ticket for the problem (see the *Include event menu entry* option when configuring [webhooks](/manual/config/notifications/media/webhook).  The *Scripts* section contains links to execute a global [script](/manual/web_interface/frontend_sections/alerts/scripts) (with scope *Manual event action*). This feature may be handy for running scripts used for managing problem tickets in external systems.
es	 #### Contenido  El menú contextual del evento tiene seis secciones: *Ver*, *Acciones*, *Configuración*, *Problema*, *Enlaces* y *Scripts*.  Para las entidades que no están configuradas, los enlaces están deshabilitados y se muestran en gris. Las secciones *Scripts* y *Enlaces* se muestran si sus entidades están configuradas.  La sección *Ver* contiene enlaces a:  - **Problemas**: abre la lista de problemas no resueltos del desencadenante subyacente; - **Historial**: conduce al gráfico de *Últimos datos*/historial de métricas para las métricas subyacentes.    Si un iniciador utiliza varias métricas, habrá enlaces disponibles para cada una de ellas.  La sección *Acciones* está disponible únicamente en los widgets *Descripción general de iniciadores*. Contiene un enlace a:  - **Problema de actualización**: abre la pantalla [actualización de problema](manual/acknowledgment#updating-problems).  La sección *Configuración* contiene enlaces a la configuración de:  - **Iniciador** que provocó el problema; - **Métricas** utilizadas en la expresión desencadenante.  ::: notetip Tenga en cuenta que la sección de configuración está disponible solo para usuarios administradores y superadministradores. :::  La sección *Problema* contiene las opciones para:  - **Marcar como causa** - marca el problema como causa; - **Marcar seleccionados como síntomas**: marca los problemas seleccionados como síntomas de este problema.  La sección *Enlaces* contiene enlaces a:  -   acceder a una [URL de iniciador](/manual/config/triggers/trigger#configuration) configurada; -   acceder a enlaces personalizados configurados en [scripts globales](/manual/web_interface/frontend_sections/alerts/scripts)   (con alcance 'Acción de evento manual' y tipo 'URL'); -   acceder a un ticket externo configurado para el problema (consulte la opción *Incluir entrada del menú de eventos* al configurar los [webhooks](/manual/config/notifications/media/webhook).  La sección *Scripts* contiene enlaces para ejecutar un [script  global](/manual/web_interface/frontend_sections/alerts/scripts) (con alcance *Acción de evento manual*). Esta función puede resultar útil para ejecutar scripts utilizados para gestionar tickets de problemas en sistemas externos.

en-us	 #### Content  The host context menu has four sections: *View*, *Configuration*, *Links*, and *Scripts*. For the entities that are not configured, links are disabled and displayed in grey color. The sections *Scripts* and *Links* are displayed if their entities are configured.  *View* section contains links to:  -  **Dashboards** - opens widgets and graphs. -  **Problems** - opens the *Problems* section with the list of unresolved problems of the underlying trigger. -  **Latest data** - opens the *Latest data* section with the list of all the latest data of the current host. -  **Graphs** - opens simple graphs of the current host. -  **Web**- opens the link to the configured web scenarios. -  **Inventory** - opens the link to the inventory of the current host.  *Configuration* section contains links to:  -  **Host** - configuration form of the current host. -  **Items** - the list of the current host items. -  **Triggers** - the list of the current host triggers. -  **Graphs** - simple graphs of the current host. -  **Discovery** - the list of low-level discovery rules of the current host. -  **Web** - the list of web scenarios of the current host.  ::: notetip Note that configuration section is available only for Admin and Super admin users. :::  *Links* section contains links to:  -  access a configured [trigger URL](/manual/config/triggers/trigger#configuration). -  access custom links configured in [Global scripts](/manual/web_interface/frontend_sections/alerts/scripts)   (with scope *Manual host action* and type 'URL').  *Scripts* section allows to execute [global scripts](/manual/web_interface/frontend_sections/alerts/scripts) configured for the current host. These scripts need to have their scope defined as *Manual host action* to be available in the host menu.
es	 #### Contenido  El menú contextual del equipo tiene cuatro secciones: *Ver*, *Configuración*, *Enlaces* y *Scripts*. Para las entidades que no están configuradas, los enlaces están deshabilitados y se muestran en color gris. Las secciones *Scripts* y *Enlaces* se muestran si sus entidades están configuradas.  La sección *Ver* contiene enlaces a:  -   **Tableros**: abre widgets y gráficos. -   **Problemas**: abre la sección *Problemas* con la lista de problemas no resueltos del iniciador subyacente. -   **Últimos datos**: abre la sección *Últimos datos* con la lista de todos los datos más recientes del equipo actual. -   **Gráficos**: abre gráficos simples del equipo actual. -   **Web**: abre el enlace a los escenarios web configurados. -   **Inventario**: abre el enlace al inventario del equipo actual.  La sección *Configuración* contiene enlaces a:  -   **Equipo**: formulario de configuración del equipo actual. -   **Métricas**: la lista de las métricas del equipo actual. -   **Iniciadores**: la lista de los iniciadores del equipo actual. -   **Gráficos**: gráficos simples del equipo actual. -   **Descubrimiento**: la lista de reglas de descubrimiento de bajo nivel del equipo actual. -   **Web**: la lista de escenarios web del equipo actual.  ::: notetip Tenga en cuenta que la sección de configuración está disponible solo para usuarios administradores y superadministradores. :::  La sección *Enlaces* contiene enlaces a:  -   acceso a una [URL de iniciador](/manual/config/triggers/trigger#configuration) configurada. -   acceso a enlaces personalizados configurados en [scripts globales](/manual/web_interface/frontend_sections/alerts/scripts)   (con alcance *Acción manual del equipo* y tipo 'URL').  La sección *Scripts* permite ejecutar [scripts globales](/manual/web_interface/frontend_sections/alerts/scripts) configurados para el equipo actual. Estos scripts deben tener su alcance definido como *Acción manual del equipo* para estar disponibles en el menú del equipo.

en-us	 #### Content  The item context menu has three sections: *View*, *Configuration*, and *Actions*.  *View* section contains links to:  -  **Latest data** - opens the *Latest data* section filtered by the current host and item. -  **Graph** - opens simple graph of the current item. -  **Values** - opens the list of all values received for the current item within the past 60 minutes. -  **500 latest values** - opens the list of 500 latest values for the current item.  *Configuration* section contains links to:  -  **Item** - opens the configuration form of the current item. -  **Triggers** - displays a list of existing triggers based on the current item;    clicking on a trigger name opens the trigger's configuration form. -  **Create trigger** - opens a trigger configuration form to create a new trigger based on the current item. -  **Create dependent item** - opens an item configuration form to create a dependent item for the current item. -  **Create dependent discovery rule** - opens a discovery rule configuration form    to create a low-level discovery rule for the current item.  Links to *Create dependent item* and *Create dependent discovery rule* are enabled only when the item context menu is accessed from *Data collection* section.  ::: notetip Note that configuration section is available only for Admin and Super admin users. :::  *Actions* section contains a link to **Execute now** - the option to [execute a check](/manual/config/items/check_now) for a new item value immediately.
es	 #### Contenido  El menú contextual de la métrica tiene tres secciones: *Ver*, *Configuración* y *Acciones*.  La sección *Ver* contiene enlaces a:  - **Últimos datos**: abre la sección *Últimos datos* filtrada por el equipo y la métrica actuales. - **Gráfico**: abre un gráfico simple de la métrica actual. - **Valores**: abre la lista de todos los valores recibidos para la métrica actual en los últimos 60 minutos. - **500 valores más recientes**: abre la lista de los 500 valores más recientes para la métrica actual.  La sección *Configuración* contiene enlaces a:  - **Métrica**: abre el formulario de configuración de la métrica actual. - **Iniciadores**: muestra una lista de iniciadores existentes para la métrica actual;    Al hacer clic en el nombre de un iniciador se abre el formulario de configuración del iniciador. - **Crear iniciador**: abre un formulario de configuración de iniciador para crear un nuevo iniciador basado en la métrica actual. - **Crear métrica dependiente**: abre un formulario de configuración de métrica para crear una métrica dependiente para la métrica actual. - **Crear regla de descubrimiento dependiente**: abre un formulario de configuración de regla de descubrimiento    para crear una regla de descubrimiento de bajo nivel para la métrica actual.  Los enlaces a *Crear métrica dependiente* y *Crear regla de descubrimiento dependiente* están habilitados solo cuando se accede al menú contextual de la métrica desde la sección *Recopilación de datos*.  ::: notetip Tenga en cuenta que la sección de configuración está disponible solo para usuarios administradores y superadministradores. :::  La sección *Acciones* contiene un enlace a **Ejecutar ahora**: la opción para [ejecutar una verificación](/manual/config/items/check_now) para obtener un nuevo valor de la métrica inmediatamente.

en-us	 #### Context menu   Context menus for items, hosts, and events have become more functional.
es	 #### Menú de contexto  Los menús contextuales para métricas, equipos y eventos se han vuelto más funcionales.

en-us	#### Context menus  In addition to the main menu, Zabbix provides context menus for [host](/manual/web_interface/menu/host_menu), [item](/manual/web_interface/menu/item_menu), and  [event](/manual/web_interface/menu/event_menu) for quick access to frequently used entities, such as the latest values, simple graph, configuration form, related scripts or external links.  The context menus are accessible by clicking on the host, item or problem/trigger name in supported locations.
es	#### Menús contextuales  Además del menú principal, Zabbix proporciona menús contextuales para [equipo](/manual/web_interface/menu/host_menu), [métrica](/manual/web_interface/menu/item_menu), y [evento](/manual/web_interface/menu/event_menu) para acceder rápidamente a los elementos más utilizados, como los valores más recientes, un gráfico simple, el formulario de configuración, scripts relacionados o enlaces externos.  Se puede acceder a los menús contextuales haciendo clic en el equipo, métrica o nombre del problema/iniciador en las ubicaciones admitidas.

en-us	### Controller  Action controller workflow:  1) Check that all parameters passed in an HTTP request are valid: - Call the controller's *checkInput()* method - Use validation rules defined in CNewValidator.php - Call *validateInput()* method  2) Check user permissions.  3) Prepare the data according to passed parameters: if *checkInput()* returns true, Zabbix calls the controller's *doAction()* method.  4) Prepare the **$data** array for the view. Use *CControllerResponseData* and *setResponse()* method to store response in the **$data** array.  Example:  ````php /**  * Validate input parameters.  *  * @return bool  */ protected function checkInput(): bool {     $ret = $this->validateInput([         'status' => 'in '.implode(',', [HOST_STATUS_MONITORED, HOST_STATUS_NOT_MONITORED])     ]);      if (!$ret) {         $this->setResponse(new CControllerResponseFatal());     }      return $ret; }  /**  * Check user permissions.  *  * @return bool  */ protected function checkPermissions() {     return $this->getUserType() >= USER_TYPE_ZABBIX_ADMIN; }  /**  * Execute action and generate response object.  */ protected function do Action(): void {     $data = [          'hosts_count' => API::Host()->get([             'countOutput' => true,             'filter' => [                 'status' => $this->getInput('status')             ]         ])      ];          $this->setResponse(new CControllerResponseData($data)); } ````  ::: notetip You can view the full list of available controller classes in Zabbix [source code](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/ui/app/controllers?at=refs%2Fheads%2Frelease%2F6.4). :::
es	### Flujo de trabajo del controlador ControllerAction:  1) Comprobar que todos los parametros pasados en una peticion HTTP son válidos:     - Llamar al método *checkInput()* del controlador     - Usar las reglas de validación definidas en CNewValidator.php     - Llamar al método *validateInput()*  2) Comprobar los permisos del usuario. 3) Preparar los datos según los parámetros pasados: si *checkInput()* devuelve true, Zabbix llama al método *doAction()* del controlador.  4) Preparar el array **$data** para la vista. Utiliza los métodos *CControllerResponseData* y *setResponse()* para almacenar la respuesta en el array **$data**.  Example:  ````php /** * Validar parámetros de entrada.   *  * @return bool  */  protected function checkInput(): bool {     $ret = $this->validateInput([         'status' => 'in '.implode(',', [HOST_STATUS_MONITORED,          HOST_STATUS_NOT_MONITORED])     ]);               if (!$ret) {         $this->setResponse(new CControllerResponseFatal());     }              return $ret; }  /**   * Comprobar permisos de usuario.   *   * @return bool   *   */  protected function checkPermissions() {     return $this->getUserType() >= USER_TYPE_ZABBIX_ADMIN;     }      /**   *   * Ejecutar acción y generar objeto respuesta.   *   */  protected function do Acction(): void {     $data = [         'hosts_count' => API::Host()->get([             'countOutput' => true,             'filter' => [                 'status' => $this->getInput('status')             ]         ])      ];          $this->setResponse(new CControllerResponseData($data)); } ````  ::: notetip Puede ver la lista completa de clases de controlador disponibles en el [código fuente](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/ui/app/controllers?at=refs%2Fheads%2Frelease%2F6.4) de Zabbix. :::

en-us	##### ControlSocket  The control socket, used to send runtime commands with the '-R' option.  Default: `\\.\pipe\agent.sock`
es	##### ControlSocket  El socket de control, utilizado para enviar comandos de tiempo de ejecución con la opción '-R'.  Valor predeterminado: `\\.\pipe\agent.sock`

en-us	##### ControlSocket  The control socket, used to send runtime commands with the '-R' option.  Default: `/tmp/agent.sock`
es	##### ControlSocket  El socket de control, utilizado para enviar comandos de tiempo de ejecución con la opción '-R'.  Valor predeterminado: `/tmp/agent.sock`

en-us	#### Copy an LLD rule to multiple hosts  Copy an LLD rule to two hosts.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.copy",     "params": {         "discoveryids": [             "27426"         ],         "hostids": [             "10196",             "10197"         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": true,     "id": 1 } ```
es	#### Copiar una regla LLD en varios equipos  Copie una regla LLD en dos equipos.  [Solicitud](/manual/api#performing-requests):  ```json { "jsonrpc": "2.0", "method": "discoveryrule.copy", "params": { "discoveryids": [ "27426" ], "hostids": [ "10196", "10197" ] }, "id": 1 } ```  Respuesta:  ```json { "jsonrpc": "2.0", "result": true, "id": 1 } ```

en-us	#### Copying/pasting pages  Dashboard pages can be copied and pasted, allowing to create a new page with the properties of an existing one. They can be pasted from the same dashboard or a different dashboard.  To paste an existing page to the dashboard, first copy it, using the [page menu](#page_menu):  ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/dashboard_page_copy.png)  To paste the copied page:  -   Make sure the dashboard is in the [editing     mode](#viewing_and_editing_a_dashboard) -   Click on the arrow next to the *Add* button and select the *Paste     page* option
es	#### Copiar/pegar páginas  Las páginas del tablero se pueden copiar y pegar, lo que permite crear una nueva página con las propiedades de una ya existente. Se pueden pegar del mismo tablero o en un tablero diferente.  Para pegar una página existente en el tablero, primero cópiela usando el [menú de página](#page_menu):  ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/dashboard_page_copy.png)  Para pegar la página copiada:  -   Asegúrese de que el tablero esté en el [modo     edición](#viewing_and_editing_a_dashboard) -   Haga clic en la flecha al lado del botón *Agregar* y seleccione la opción *Pegar     página*

en-us	#### Copying/pasting widgets  Dashboard widgets can be copied and pasted, allowing to create a new widget with the properties of an existing one. They can be copy-pasted within the same dashboard, or between dashboards opened in different tabs.  A widget can be copied using the [widget menu](#widget_menu). To paste the widget:  -   click on the arrow next to the *Add* button and selecting the *Paste     widget* option, when editing the dashboard -   use the *Paste widget* option when adding a new widget by selecting     some area in the dashboard (a widget must be copied first for the     paste option to become available)  A copied widget can be used to paste over an existing widget using the *Paste* option in the [widget menu](#widget_menu).
es	#### Copiar/pegar widgets  Los widgets del tablero se pueden copiar y pegar, lo que permite crear un nuevo widget con las propiedades de uno existente. Se pueden copiar y pegar dentro del mismo tablero, o entre tableros abiertos en diferentes pestañas.  Se puede copiar un widget usando el [menú de widgets](#widget_menu). Pegar el widget:  - haga clic en la flecha al lado del botón *Agregar* y seleccione la opción *Pegar      widget*, al editar el tablero - use la opción *Pegar widget* al agregar un nuevo widget seleccionando     alguna área en el tablero (primero se debe copiar un widget     para que esté disponible la opción pegar )  Se puede usar un widget copiado para pegar sobre un widget existente usando la opción *Pegar* en el [menú de widgets](#widget_menu).

en-us	##### Copying PHP files  Zabbix frontend is written in PHP, so to run it a PHP supported webserver is needed. Installation is done by simply copying the PHP files from the ui directory to the webserver HTML documents directory.  Common locations of HTML documents directories for Apache web servers include:  -   /usr/local/apache2/htdocs (default directory when installing Apache     from source) -   /srv/www/htdocs (OpenSUSE, SLES) -   /var/www/html (Debian, Ubuntu, Fedora, RHEL)  It is suggested to use a subdirectory instead of the HTML root. To create a subdirectory and copy Zabbix frontend files into it, execute the following commands, replacing the actual directory:      mkdir <htdocs>/zabbix     cd ui     cp -a . <htdocs>/zabbix  If planning to use any other language than English, see [Installation of additional frontend languages](/manual/appendix/install/locales) for instructions.
es	##### Copiar los archivos PHP  El Zabbix frontend está escrito en PHP, así que para ejecutarlo es necesario contar con  un servidor web soportado. La instalación se realiza simplemente copiando los archivos PHP desde el directorio ui al directorio de documentos HTML del servidor web.  Algunas de las ubicaciones comunes para el directorio documentos HTML en servidores  web Apache incluye:  -   /usr/local/apache2/htdocs (directorio por defecto cuando se instala Apache     desde el código fuente) -   /srv/www/htdocs (OpenSUSE, SLES) -   /var/www/html (Debian, Ubuntu, Fedora, RHEL)  Es altamente recomendable utilizar un subdirectorio en lugar del directorio HTML raíz. Para crear el subdirectorio y copiar los archivos del Zabbix frontend en el, ejecute los siguientes comandos, remplazando el directorio actual:      mkdir <htdocs>/zabbix     cd ui     cp -a . <htdocs>/zabbix  Si planea utilizar algún idioma diferente al inglés, vea [Instalación de  idiomas adicionales para el frontend](/manual/appendix/install/locales) para  las instrucciones.

en-us	 ### Copyright notice  Zabbix documentation is NOT distributed under a GPL license. Use  of Zabbix documentation is subject to the following terms:   You may create a printed copy of this documentation solely for your  own personal use. Conversion to other formats is allowed as long as  the actual content is not altered or edited in any way. You shall  not publish or distribute this documentation in any form or on any  media, except if you distribute the documentation in a manner similar  to how Zabbix disseminates it (that is, electronically for download  on a Zabbix web site) or on a USB or similar medium, provided however  that the documentation is disseminated together with the software on  the same medium. Any other use, such as any dissemination of printed  copies or use of this documentation, in whole or in part, in another  publication, requires the prior written consent from an authorized  representative of Zabbix. Zabbix reserves any and all rights to this  documentation not expressly granted above.
es	### Aviso de Copyright  La documentación de Zabbix NO se distribuye bajo licencia GPL. El uso de la documentación de Zabbix está sujeta a los siguientes términos:  Puede crear una copia impresa de esta documentación solamente para su propio uso personal. La conversión hacia otros formatos está permitida siempre que no se modifique o edite el contenido original de ninguna manera.  No deberá publicar ni distribuir esta documentación de ninguna forma ni en ningún medio, excepto si lo distribuye de manera similar a como Zabbix lo difunde (es decir, electrónicamente para descargar en un sitio web de Zabbix) o en un USB o medio similar, siempre que la documentación se difunda junto con el software en el mismo medio.  Cualquier otro uso, como cualquier difusión de copias impresas o uso de esta documentación, total o parcialmente, en otra publicación, requiere el consentimiento previo por escrito de un representante autorizado de Zabbix. Zabbix se reserva todos y cada uno de los derechos sobre esta documentación no expresamente otorgada anteriormente.

en-us	 ### Copyright notice  Zabbix documentation is NOT distributed under a GPL license. Use  of Zabbix documentation is subject to the following terms:   You may create a printed copy of this documentation solely for your  own personal use. Conversion to other formats is allowed as long as  the actual content is not altered or edited in any way. You shall  not publish or distribute this documentation in any form or on any  media, except if you distribute the documentation in a manner similar  to how Zabbix disseminates it (that is, electronically for download  on a Zabbix web site) or on a USB or similar medium, provided however  that the documentation is disseminated together with the software on  the same medium. Any other use, such as any dissemination of printed  copies or use of this documentation, in whole or in part, in another  publication, requires the prior written consent from an authorized  representative of Zabbix. Zabbix reserves any and all rights to this  documentation not expressly granted above.
es	### Aviso de copyright  La documentación de Zabbix NO se distribuye bajo licencia GPL. El uso de la documentación de Zabbix está sujeto a los siguientes términos:   Puede crear una copia impresa de esta documentación únicamente para su uso personal. La conversión a otros formatos está permitida siempre y cuando el contenido actual no sea alterado o editado de ninguna manera. Usted no publicará o distribuirá esta documentación de ninguna forma o en ningún medio, excepto si distribuye la documentación de forma similar a como Zabbix la distribuye (es decir, electrónicamente para su descarga en un sitio web de Zabbix) o en un USB o medio similar, siempre y cuando la documentación se distribuya junto con el software en el mismo medio. Cualquier otro uso, como la difusión de copias impresas o el uso de esta documentación, en su totalidad o en parte, en otra publicación, requiere el consentimiento previo por escrito de un representante autorizado de Zabbix. Zabbix se reserva todos los derechos sobre esta documentación que no hayan sido expresamente concedidos anteriormente.

en-us	# correlation.create
es	# correlation.create

en-us	# correlation.delete
es	# correlation.delete

en-us	#### Correlation filter condition  The correlation filter condition object defines a specific condition that must be checked before running the correlation operations.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |type|integer|Type of condition.<br><br>Possible values:<br>0 - old event tag;<br>1 - new event tag;<br>2 - new event host group;<br>3 - event tag pair;<br>4 - old event tag value;<br>5 - new event tag value.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |tag|string|Event tag (old or new).<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `type` is set to "old event tag", "new event tag", "old event tag value", or "new event tag value"| |groupid|string|Host group ID.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `type` is set to "new event host group"| |oldtag|string|Old event tag.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `type` is set to "event tag pair"| |newtag|string|Old event tag.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `type` is set to "event tag pair"| |value|string|Event tag (old or new) value.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `type` is set to "old event tag value" or "new event tag value"| |formulaid|string|Arbitrary unique ID that is used to reference the condition from a custom expression. Can only contain capital-case letters. The ID must be defined by the user when modifying filter conditions, but will be generated anew when requesting them afterward.| |operator|integer|Condition operator.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `type` is set to "new event host group", "old event tag value", or "new event tag value"|  ::: notetip To better understand how to use filters with various types of expressions, see examples on the [correlation.get](get#retrieve_correlations) and [correlation.create](create#using_a_custom_expression_filter) method pages. :::  The following operators and values are supported for each condition type.  |Condition|Condition name|Supported operators|Expected value| |---------|--------------|-------------------|--------------| |2|Host group|=, <>|Host group ID.| |4|Old event tag value|=, <>, like, not like|string| |5|New event tag value|=, <>, like, not like|string|
es	#### Condición del filtro de correlación  El objeto de condición del filtro de correlación define una condición específica que debe comprobarse antes de ejecutar las operaciones de correlación.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |type|entero|Tipo de condición.<br><br>Valores posibles:<br>0 - etiqueta de evento anterior;<br>1 - etiqueta de evento nueva;<br>2 - nuevo grupo de host de eventos;<br>3 - par de etiquetas de evento;<br>4 - valor de etiqueta de evento anterior;<br>5 - valor de etiqueta de evento nuevo.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br >- *obligatorio*| |tag|cadena|Etiqueta de evento (antigua o nueva).<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si `tipo` está configurado en "etiqueta de evento anterior", "etiqueta de evento nueva", "valor de etiqueta de evento anterior" o "valor de etiqueta de evento nuevo"| |groupid|cadena|ID del grupo de equipos.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si `tipo` está configurado en "nuevo equipo de eventos grupo"| |oldtag|string|Etiqueta de evento antigua.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si `tipo` está configurado en "par de etiquetas de evento" "| |newtag|string|Etiqueta de evento antigua.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si `tipo` está configurado en "par de etiquetas de evento" "| |value|cadena|Valor de etiqueta de evento (antiguo o nuevo).<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si se establece `tipo` a "valor de etiqueta de evento antiguo" o "valor de etiqueta de evento nuevo"| |formulaid|cadena|ID único arbitrario que se utiliza para hacer referencia a la condición desde una expresión personalizada. Sólo puede contener letras mayúsculas. El ID debe ser definido por el usuario al modificar las condiciones del filtro, pero se generará nuevamente al solicitarlas posteriormente.| |operator|entero|Operador de condición.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si `tipo` está configurado en "nuevo grupo de equipos de eventos" ", "valor de etiqueta de evento anterior" o "valor de etiqueta de evento nuevo"|  ::: notetip Para comprender mejor cómo utilizar filtros con varios tipos de expresiones, ver ejemplos en las páginas del método [correlación.get](get#retrieve_correlations) y en las del método [correlación.create](create#using_a_custom_expression_filter. :::  Los siguientes operadores y valores son compatibles con cada condición. tipo.  |Condición|Nombre de la condición|Operadores admitidos|Valor esperado| |---------|--------------|-------------------|--------------| |2|Grupo de equipos|=, <>|ID del grupo de equipos.| |4|Valor de etiqueta de evento anterior|=, <>, me gusta, no me gusta|cadena| |5|Nuevo valor de etiqueta de evento|=, <>, me gusta, no me gusta|cadena|

en-us	### Correlation filter  The correlation filter object defines a set of conditions that must be met to perform the configured correlation operations. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |evaltype|integer|Filter condition evaluation method.<br><br>Possible values:<br>0 - and/or;<br>1 - and;<br>2 - or;<br>3 - custom expression.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |conditions|array|Set of [filter conditions](#correlation-filter-condition) to use for filtering results.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |eval\_formula|string|Generated expression that will be used for evaluating filter conditions. The expression contains IDs that reference specific filter conditions by its `formulaid`. The value of `eval_formula` is equal to the value of `formula` for filters with a custom expression.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *read-only*| |formula|string|User-defined expression to be used for evaluating conditions of filters with a custom expression. The expression must contain IDs that reference specific filter conditions by its `formulaid`. The IDs used in the expression must exactly match the ones defined in the filter conditions: no condition can remain unused or omitted.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `evaltype` is set to "custom expression"|
es	### Filtro de correlación  El objeto de filtro de correlación define un conjunto de condiciones que deben cumplirse para realizar las operaciones de correlación configuradas. Tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |evaltype|entero|Método de evaluación de la condición del filtro.<br><br>Valores posibles:<br>0 - y/o;<br>1 - y;<br>2 - o;<br>3 - expresión personalizada. <br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio*| |conditions|matriz|Conjunto de [condiciones de filtro](#correlation-filter-condition) a usar para filtrar resultados.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br >- *obligatorio*| |eval\_formula|cadena|Expresión generada que se utilizará para evaluar las condiciones del filtro. La expresión contiene ID que hacen referencia a condiciones de filtro específicas mediante su "formulaid". El valor de `eval_formula` es igual al valor de `formula` para filtros con una expresión personalizada.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- * sólo lectura*| |formula|cadena|Expresión definida por el usuario que se utilizará para evaluar las condiciones de los filtros con una expresión personalizada. La expresión debe contener ID que hagan referencia a condiciones de filtro específicas mediante su "formulaid". Los ID utilizados en la expresión deben coincidir exactamente con los definidos en las condiciones del filtro: ninguna condición puede permanecer sin usar u omitir.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br >- *obligatorio* si `evaltype` está configurado en "expresión personalizada"|

en-us	# correlation.get
es	# correlation.get

en-us	# > Correlation object  The following objects are directly related to the `correlation` API.
es	# > Objeto de correlación  Los siguientes objetos están directamente relacionados con la API de "correlation".

en-us	### Correlation operation  The correlation operation object defines an operation that will be performed when a correlation is executed. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |type|integer|Type of operation.<br><br>Possible values:<br>0 - close old events;<br>1 - close new event.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*|
es	### Operación de correlación  El objeto de operación de correlación define una operación que será realiza cuando se ejecuta una correlación. Tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |type|entero|Tipo de operación.<br><br>Valores posibles:<br>0 - cerrar eventos antiguos;<br>1 - cerrar evento nuevo.<br><br>[Comportamiento de la propiedad](/manual/ api/reference_commentary#property-behavior):<br>- *obligatorio*|

en-us	### Correlation  The correlation object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |correlationid|string|ID of the correlation.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *read-only*<br>- *required* for update operations| |name|string|Name of the correlation.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* for create operations| |description|string|Description of the correlation.| |status|integer|Whether the correlation is enabled or disabled.<br><br>Possible values:<br>0 - *(default)* enabled;<br>1 - disabled.|
es	### Correlación  El objeto de correlación tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |correlationid|cadena|ID de la correlación.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *solo lectura*<br>- *obligatorio* para operaciones de actualización| |name|cadena|Nombre de la correlación.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* para operaciones de creación| |description|cadena|Descripción de la correlación.| |status|entero|Si la correlación está habilitada o deshabilitada.<br><br>Valores posibles:<br>0 - *(predeterminado)* habilitado;<br>1 - deshabilitado.|

en-us	# Correlation  This class is designed to work with correlations.  Object references:\  -   [Correlation](/manual/api/reference/correlation/object#correlation)  Available methods:\  -   [correlation.create](/manual/api/reference/correlation/create) -     creating new correlations -   [correlation.delete](/manual/api/reference/correlation/delete) -     deleting correlations -   [correlation.get](/manual/api/reference/correlation/get) -     retrieving correlations -   [correlation.update](/manual/api/reference/correlation/update) -     updating correlations
es	# Correlación  Esta clase está diseñada para trabajar con correlaciones.  Referencias de objetos:\  - [Correlation](/manual/api/reference/correlation/object#correlation)  Métodos disponibles:\  - [correlation.create](/manual/api/reference/correlation/create) -     creando nuevas correlaciones - [correlation.delete](/manual/api/reference/correlation/delete) -     eliminando correlaciones - [correlation.get](/manual/api/reference/correlation/get) -     recuperando correlaciones - [correlation.update](/manual/api/reference/correlation/update) -     actualizando correlaciones

en-us	# correlation.update
es	# correlation.update

en-us	 ##### cosh(value) {#cosh}  The hyperbolic cosine of a value. Returns the value as a real number, not as scientific notation.  Parameter:   -   **value** - the value to check  For example, the hyperbolic cosine of a value '1' will be '1.54308063482'.  Example:      cosh(last(/host/key))
es	 ##### cosh(valor) {#cosh}  El coseno hiperbólico de un valor. Devuelve el valor como un número real, no como notación científica.  Parámetro:  - **valor** - el valor a comprobar  Por ejemplo, el coseno hiperbólico de un valor '1' será '1,54308063482'.  Ejemplo:      cosh(last(/host/key))

en-us	### Cosmos DB monitoring  The template *Azure by HTTP* now also works with Azure Cosmos DB for MongoDB.  You can get this template:  - In *Data collection → Templates* in new installations. - If you are upgrading from previous versions, you can download this template from Zabbix [Git repository](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cloud/azure_http?at=refs%2Fheads%2Frelease%2F6.4) or find it in the *zabbix/templates* directory of the downloaded latest Zabbix version. Then, while in *Data collection → Templates* you can import it manually into Zabbix.
es	### Monitoreo de Cosmos DB  La plantilla *Azure by HTTP* ahora también funciona con Azure Cosmos DB para MongoDB.  Puedes conseguir esta plantilla:  - En *Recopilación de datos → Plantillas* en nuevas instalaciones. - Si está actualizando desde versiones anteriores, puede descargar esta plantilla desde Zabbix [repositorio Git] (https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cloud/azure_http?at=refs %2Fheads%2Frelease%2F6.4) o búsquelo en el directorio *zabbix/templates* de la última versión descargada de Zabbix. Luego, mientras está en *Recopilación de datos → Plantillas* puede importarlo manualmente a Zabbix.

en-us	 ##### cos(value) {#cos}  The cosine of a value, where the value is an angle expressed in radians.  Parameter:   -   **value** - the value to check  For example, the cosine of a value '1' will be '0.54030230586'.  Example:      cos(last(/host/key))
es	 ##### cos(valor) {#cos}  El coseno de un valor, donde el valor es un ángulo expresado en radianes.  Parámetro:  - **valor** - el valor a comprobar  Por ejemplo, el coseno de un valor '1' será '0,54030230586'.  Ejemplo:      cos(last(/host/key))

en-us	 ##### cot(value) {#cot}  The cotangent of a value, where the value is an angle expressed in radians.  Parameter:   -   **value** - the value to check  For example, the cotangent of a value '1' will be '0.54030230586'.  Example:      cot(last(/host/key))
es	 ##### cot(valor) {#cot}  La cotangente de un valor, donde el valor es un ángulo expresado en radianes.  Parámetro:  - **valor** - el valor a comprobar  Por ejemplo, la cotangente de un valor '1' será '0,54030230586'.  Ejemplo:      cot(last(/host/key))

en-us	 ##### count(func_foreach(item filter,<time period>)) {#count}  The count of values in an array returned by a foreach function.<br> Supported value type: *Integer*.<br> Supported [foreach functions](/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.  Parameters:   -   **func_foreach** - foreach function for which the number of returned values should be counted (with supported arguments). See [foreach functions](/manual/appendix/functions/aggregate/foreach) for details. -   **item filter** - see [item filter](/manual/appendix/functions/aggregate/foreach#item_filter);<br> -   **time period** - see [time period](/manual/appendix/functions/aggregate/foreach#time_period).  Using **count()** with a history-related foreach function (max_foreach, avg_foreach, etc.) may lead to performance implications, whereas using **exists_foreach()**, which works only with configuration data, will not have such effect.  Examples:      count(max_foreach(/*/net.if.in[*],1h)) #the number of net.if.in items that received data in the last hour until now
es	 ##### count(func_foreach(item filter,<time period>)) {#count}  El recuento de valores en una matriz devuelta por una función foreach.<br> Tipo de valor admitido: *Entero*.<br> [Funciones foreach] admitidas (/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.  Parámetros:  - **func_foreach** - función foreach para la cual se debe contar el número de valores devueltos (con argumentos admitidos). Consulte [funciones foreach](/manual/appendix/functions/aggregate/foreach) para obtener más detalles. - **filtro de métricas** - consulte [filtro de métricas](/manual/appendix/functions/aggregate/foreach#item_filter);<br> - **período de tiempo** - consulte [período de tiempo](/manual/appendix/functions/aggregate/foreach#time_period).  El uso de **count()** con una función foreach relacionada con el historial (max_foreach, avg_foreach, etc.) puede tener implicaciones en el rendimiento, mientras que el uso de **exists_foreach()**, que funciona solo con datos de configuración, no tendrá tales consecuencias.  Ejemplos:      count(max_foreach(/*/net.if.in[*],1h)) #el número de elementos net.if.in que recibieron datos en la última hora hasta ahora

en-us	 ##### count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) {#count}  The number of values within the defined evaluation period.<br> Supported value types: *Float*, *Integer*, *String*, *Text*, *Log*.  Parameters:   -   See [common parameters](#common-parameters);<br> -   **operator** (must be double-quoted). Supported `operators`:<br>*eq* - equal (default for integer, float)<br>*ne* - not equal<br>*gt* - greater<br>*ge* - greater or equal<br>*lt* - less<br>*le* - less or equal<br>*like* (default for string, text, log) - matches if contains pattern (case-sensitive)<br>*bitand* - bitwise AND<br>*regexp* - case-sensitive match of the regular expression given in `pattern`<br>*iregexp* - case-insensitive match of the regular expression given in `pattern`<br> -   **pattern** - the required pattern (string arguments must be double-quoted).  Comments:  -   Float items match with the precision of 2.22e-16; if database is [not upgraded](/manual/appendix/install/db_float_range) the precision is 0.000001. -   *like* is not supported as operator for integer values;  -   *like* and *bitand* are not supported as operators for float values; -   For string, text, and log values only *eq*, *ne*, *like*, *regexp* and *iregexp* operators are supported; -   With *bitand* as operator, the fourth `pattern` parameter can be specified as two numbers, separated by '/': **number_to_compare_with/mask**. count() calculates "bitwise AND" from the value and the *mask* and compares the result to *number_to_compare_with*. If the result of "bitwise AND" is equal to *number_to_compare_with*, the value is counted.<br>If *number_to_compare_with* and *mask* are equal, only the *mask* need be specified (without '/'). -   With *regexp* or *iregexp* as operator, the fourth `pattern` parameter can be an ordinary or [global](/manual/regular_expressions#global_regular_expressions) (starting with '@') regular expression. In case of global regular expressions case sensitivity is inherited from global regular expression settings. For the purpose of regexp matching, float values will always be represented with 4 decimal digits after '.'. Also note that for large numbers difference in decimal (stored in database) and binary (used by Zabbix server) representation may affect the 4th decimal digit.  Examples:      count(/host/key,10m) #the values for the last 10 minutes until now     count(/host/key,10m,"like","error") #the number of values for the last 10 minutes until now that contain 'error'     count(/host/key,10m,,12) #the number of values for the last 10 minutes until now that equal '12'     count(/host/key,10m,"gt",12) #the number of values for the last 10 minutes until now that are over '12'     count(/host/key,#10,"gt",12) #the number of values within the last 10 values until now that are over '12'     count(/host/key,10m:now-1d,"gt",12) #the number of values between 24 hours and 10 minutes and 24 hours ago from now that were over '12'     count(/host/key,10m,"bitand","6/7") #the number of values for the last 10 minutes until now having '110' (in binary) in the 3 least significant bits     count(/host/key,10m:now-1d) #the number of values between 24 hours and 10 minutes and 24 hours ago from now
es	 ##### count(/host/key,(seg|#num)<:cambio de hora>,<operador>,<patrón>) {#count}  El número de valores dentro del período de evaluación definido.<br> Tipos de valores admitidos: *Float*, *Integer*, *String*, *Text*, *Log*.  Parámetros:  - Ver [parámetros comunes](#common-parameters);<br> - **operador** (debe estar entre comillas dobles). `Operadores` admitidos:<br>*eq* - igual (predeterminado para entero, flotante)<br>*ne* - no igual<br>*gt* - mayor<br>*ge* - mayor o igual<br> *lt* - menos<br>*le* - menor o igual<br>*like* (predeterminado para cadena, texto, registro) - coincide si contiene patrón (distingue entre mayúsculas y minúsculas)<br>*bitand* - bit a bit AND< br>*regexp* - coincidencia que distingue entre mayúsculas y minúsculas de la expresión regular dada en `pattern`<br>*iregexp* - coincidencia que distingue entre mayúsculas y minúsculas de la expresión regular dada en `pattern`<br> - **patrón**: el patrón requerido (los argumentos de cadena deben estar entre comillas dobles).  Comentarios:  - Los elementos flotantes coinciden con la precisión de 2.22e-16; si la base de datos [no está actualizada](/manual/appendix/install/db_float_range), la precisión es 0,000001. - *like* no se admite como operador para valores enteros; - *like* y *bitand* no se admiten como operadores para valores flotantes; - Para valores de cadena, texto y registro solo se admiten los operadores *eq*, *ne*, *like*, *regexp* y *iregexp*; - Con *bitand* como operador, el cuarto parámetro `patrón` se puede especificar como dos números, separados por '/': **número_a_comparar_con/máscara**. count() calcula "Y bit a bit" a partir del valor y la *máscara* y compara el resultado con *número_a_comparar_con*. Si el resultado de "Y bit a bit" es igual a *number_to_compare_with*, el valor se cuenta.<br>Si *number_to_compare_with* y *mask* son iguales, solo es necesario especificar la *mask* (sin '/'). - Con *regexp* o *iregexp* como operador, el cuarto parámetro `pattern` puede ser una expresión regular ordinaria o [global](/manual/regular_expressions#global_regular_expressions) (comenzando con '@'). En el caso de expresiones regulares globales, la distinción entre mayúsculas y minúsculas se hereda de la configuración de expresiones regulares globales. A los efectos de la coincidencia de expresiones regulares, los valores flotantes siempre se representarán con 4 dígitos decimales después de '.'. También tenga en cuenta que, para números grandes, la diferencia en la representación decimal (almacenada en la base de datos) y binaria (utilizada por el servidor Zabbix) puede afectar el cuarto dígito decimal.  Ejemplos:      count(/host/key,10m) #los valores de los últimos 10 minutos hasta ahora     count(/host/key,10m,"like","error") #el número de valores de los últimos 10 minutos hasta ahora que contienen 'error'     count(/host/key,10m,,12) #el número de valores de los últimos 10 minutos hasta ahora que son iguales a '12'     count(/host/key,10m,"gt",12) #el número de valores de los últimos 10 minutos hasta ahora que son superiores a '12'     count(/host/key,#10,"gt",12) #el número de valores dentro de los últimos 10 valores hasta ahora que son superiores a '12'     count(/host/key,10m:now-1d,"gt",12) #el número de valores entre 24 horas y 10 minutos y hace 24 horas a partir de ahora que eran superiores a '12'     count(/host/key,10m,"bitand","6/7") #el número de valores de los últimos 10 minutos hasta ahora teniendo '110' (en binario) en los 3 bits menos significativos     count(/host/key,10m:now-1d) #el número de valores entre 24 horas y 10 minutos y hace 24 horas a partir de ahora

en-us	##### Counting of threads in `proc.mem[]` and `proc.num[]` items  Linux kernel threads are counted by `proc.num[]` item but do not report memory in `proc.mem[]` item. For example:      $ ps -ef | grep kthreadd     root         2     0  0 09:51 ?        00:00:00 [kthreadd]      $ zabbix_get -s localhost -k 'proc.num[kthreadd]'     1      $ zabbix_get -s localhost -k 'proc.mem[kthreadd]'     ZBX_NOTSUPPORTED: Cannot get amount of "VmSize" memory.  But what happens if there is a user process with the same name as a kernel thread ? Then it could look like this:      $ ps -ef | grep kthreadd     root         2     0  0 09:51 ?        00:00:00 [kthreadd]     zabbix    9611  6133  0 17:58 pts/1    00:00:00 ./kthreadd      $ zabbix_get -s localhost -k 'proc.num[kthreadd]'     2      $ zabbix_get -s localhost -k 'proc.mem[kthreadd]'     4157440  `proc.num[]` counted both the kernel thread and the user process. `proc.mem[]` reports memory for the user process only and counts the kernel thread memory as if it was 0. This is different from the case above when ZBX\_NOTSUPPORTED was reported.  Be careful when using `proc.mem[]` and `proc.num[]` items if the program name happens to match one of the thread.  Before putting parameters into `proc.mem[]` and `proc.num[]` items, you may want to test the parameters using `proc.num[]` item and `ps` command.
es	##### Recuento de subprocesos en los elementos `proc.mem[]` y `proc.num[]`  Los subprocesos del kernel de Linux se cuentan por el elemento `proc.num[]` pero no se informan la memoria en la métrica `proc.mem[]`. Por ejemplo:      $ ps-ef | grep kthreadd     root 2 0 0 09:51 ? 00:00:00 [kthreadd]      $ zabbix_get -s localhost -k 'proc.num[kthreadd]'     1      $ zabbix_get -s localhost -k 'proc.mem[kthreadd]'     ZBX_NOTSUPPORTED: Cannot get amount of "VmSize" memory.  Pero, ¿qué sucede si hay un proceso de usuario con el mismo nombre que un hilo del núcleo? Entonces podría verse así:      $ ps-ef | grep kthreadd     root 2 0 0 09:51 ? 00:00:00 [kthreadd]     zabbix 9611 6133 0 17:58 pts/1 00:00:00 ./kthreadd      $ zabbix_get -s localhost -k 'proc.num[kthreadd]'     2      $ zabbix_get -s localhost -k 'proc.mem[kthreadd]'     4157440  `proc.num[]` contó tanto el hilo del núcleo como el proceso del usuario. `proc.mem[]` informa memoria solo para el proceso del usuario y cuenta la memoria del hilo del kernel como si fuera 0. Esto es diferente del caso de arriba cuando se informó ZBX\_NOTSUPPORTED.  Tenga cuidado al utilizar los elementos `proc.mem[]` y `proc.num[]` si el nombre del programa coincide con uno de los hilos.  Antes de poner parámetros en los elementos `proc.mem[]` y `proc.num[]`, es posible que desee probar los parámetros utilizando la métrica `proc.num[]` y el comando `ps`.

en-us	 ##### countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) {#countunique}  The number of unique values within the defined evaluation period.<br> Supported value types: *Float*, *Integer*, *String*, *Text*, *Log*.  Parameters:   -   See [common parameters](#common-parameters);<br> -   **operator** (must be double-quoted). Supported `operators`:<br>*eq* - equal (default for integer, float)<br>*ne* - not equal<br>*gt* - greater<br>*ge* - greater or equal<br>*lt* - less<br>*le* - less or equal<br>*like* (default for string, text, log) - matches if contains pattern (case-sensitive)<br>*bitand* - bitwise AND<br>*regexp* - case-sensitive match of the regular expression given in `pattern`<br>*iregexp* - case-insensitive match of the regular expression given in `pattern`<br> -   **pattern** - the required pattern (string arguments must be double-quoted).  Comments:  -   Float items match with the precision of 2.22e-16; if database is [not upgraded](/manual/appendix/install/db_float_range) the precision is 0.000001. -   *like* is not supported as operator for integer values;  -   *like* and *bitand* are not supported as operators for float values; -   For string, text, and log values only *eq*, *ne*, *like*, *regexp* and *iregexp* operators are supported; -   With *bitand* as operator, the fourth `pattern` parameter can be specified as two numbers, separated by '/': **number_to_compare_with/mask**. countunique() calculates "bitwise AND" from the value and the *mask* and compares the result to *number_to_compare_with*. If the result of "bitwise AND" is equal to *number_to_compare_with*, the value is counted.<br>If *number_to_compare_with* and *mask* are equal, only the *mask* need be specified (without '/'). -   With *regexp* or *iregexp* as operator, the fourth `pattern` parameter can be an ordinary or [global](/manual/regular_expressions#global_regular_expressions) (starting with '@') regular expression. In case of global regular expressions case sensitivity is inherited from global regular expression settings. For the purpose of regexp matching, float values will always be represented with 4 decimal digits after '.'. Also note that for large numbers difference in decimal (stored in database) and binary (used by Zabbix server) representation may affect the 4th decimal digit.  Examples:      countunique(/host/key,10m) #the number of unique values for the last 10 minutes until now     countunique(/host/key,10m,"like","error") #the number of unique values for the last 10 minutes until now that contain 'error'     countunique(/host/key,10m,,12) #the number of unique values for the last 10 minutes until now that equal '12'     countunique(/host/key,10m,"gt",12) #the number of unique values for the last 10 minutes until now that are over '12'     countunique(/host/key,#10,"gt",12) #the number of unique values within the last 10 values until now that are over '12'     countunique(/host/key,10m:now-1d,"gt",12) #the number of unique values between 24 hours and 10 minutes and 24 hours ago from now that were over '12'     countunique(/host/key,10m,"bitand","6/7") #the number of unique values for the last 10 minutes until now having '110' (in binary) in the 3 least significant bits     countunique(/host/key,10m:now-1d) #the number of unique values between 24 hours and 10 minutes and 24 hours ago from now
es	 ##### countunique(/host/key,(sec|#num)<:time shift>,<operador>,<patrón>) {#countunique}  El número de valores únicos dentro del período de evaluación definido.<br> Tipos de valores admitidos: *Float*, *Integer*, *String*, *Text*, *Log*.  Parámetros:  - Ver [parámetros comunes](#common-parameters);<br> - **operador** (debe estar entre comillas dobles). `Operadores` admitidos:<br>*eq* - igual (predeterminado para entero, flotante)<br>*ne* - no igual<br>*gt* - mayor<br>*ge* - mayor o igual<br> *lt* - menos<br>*le* - menor o igual<br>*like* (predeterminado para cadena, texto, registro) - coincide si contiene patrón (distingue entre mayúsculas y minúsculas)<br>*bitand* - bit a bit AND< br>*regexp* - coincidencia que distingue entre mayúsculas y minúsculas de la expresión regular dada en `pattern`<br>*iregexp* - coincidencia que distingue entre mayúsculas y minúsculas de la expresión regular dada en `pattern`<br> - **patrón**: el patrón requerido (los argumentos de cadena deben estar entre comillas dobles).  Comentarios:  - Los elementos flotantes coinciden con la precisión de 2.22e-16; si la base de datos [no está actualizada](/manual/appendix/install/db_float_range), la precisión es 0,000001. - *like* no se admite como operador para valores enteros; - *like* y *bitand* no se admiten como operadores para valores flotantes; - Para valores de cadena, texto y registro solo se admiten los operadores *eq*, *ne*, *like*, *regexp* y *iregexp*; - Con *bitand* como operador, el cuarto parámetro `patrón` se puede especificar como dos números, separados por '/': **número_a_comparar_con/máscara**. countunique() calcula "Y bit a bit" a partir del valor y la *máscara* y compara el resultado con *número_para_comparar_con*. Si el resultado de "Y bit a bit" es igual a *number_to_compare_with*, el valor se cuenta.<br>Si *number_to_compare_with* y *mask* son iguales, solo es necesario especificar la *mask* (sin '/'). - Con *regexp* o *iregexp* como operador, el cuarto parámetro `pattern` puede ser una expresión regular ordinaria o [global](/manual/regular_expressions#global_regular_expressions) (comenzando con '@'). En el caso de expresiones regulares globales, la distinción entre mayúsculas y minúsculas se hereda de la configuración de expresiones regulares globales. A los efectos de la coincidencia de expresiones regulares, los valores flotantes siempre se representarán con 4 dígitos decimales después de '.'. También tenga en cuenta que, para números grandes, la diferencia en la representación decimal (almacenada en la base de datos) y binaria (utilizada por el servidor Zabbix) puede afectar el cuarto dígito decimal.  Ejemplos:      countunique(/host/key,10m) #el número de valores únicos de los últimos 10 minutos hasta ahora     countunique(/host/key,10m,"like","error") #el número de valores únicos de los últimos 10 minutos hasta ahora que contienen 'error'     countunique(/host/key,10m,,12) #el número de valores únicos de los últimos 10 minutos hasta ahora que son iguales a '12'     countunique(/host/key,10m,"gt",12) #el número de valores únicos de los últimos 10 minutos hasta ahora que superan '12'     countunique(/host/key,#10,"gt",12) #el número de valores únicos dentro de los últimos 10 valores hasta ahora que son superiores a '12'     countunique(/host/key,10m:now-1d,"gt",12) #el número de valores únicos entre 24 horas y 10 minutos y hace 24 horas a partir de ahora que eran superiores a '12'     countunique(/host/key,10m,"bitand","6/7") #el número de valores únicos durante los últimos 10 minutos hasta ahora teniendo '110' (en binario) en los 3 bits menos significativos     countunique(/host/key,10m:now-1d) #el número de valores únicos entre 24 horas y 10 minutos y hace 24 horas a partir de ahora

en-us	**CPU**  Zabbix and especially Zabbix database may require significant CPU resources depending on number of monitored parameters and chosen database engine.
es	**CPU**  Zabbix y especialmente la base de datos Zabbix pueden requerir una cantidad significativa de  recursos de CPU dependiendo del número de parámetros monitoreados y del motor de base de datos elegido.

en-us	#### Create a custom script  Create a custom script that will reboot a server. The script will require write access to the host and will display a configuration message before running in the frontend.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "script.create",     "params": {         "name": "Reboot server",         "command": "reboot server 1",         "confirmation": "Are you sure you would like to reboot the server?",         "scope": 2,         "type": 0     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "scriptids": [             "4"         ]     },     "id": 1 } ```
es	#### Crear un script personalizado  Cree un script personalizado que reiniciará un servidor. El guión requiere acceso de escritura al equipo y mostrará un mensaje de configuración  antes de ejecutarlo en la interfaz.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "script.create",     "params": {         "name": "Reboot server",         "command": "reboot server 1",         "confirmation": "Are you sure you would like to reboot the server?",         "scope": 2,         "type": 0     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "scriptids": [             "4"         ]     },     "id": 1 } ```

en-us	#### Create a discovery action  Create a discovery action that will link discovered hosts to template "10001".  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "action.create",     "params": {         "name": "Discovery action",         "eventsource": 1,         "filter": {             "evaltype": 0,             "conditions": [                 {                     "conditiontype": 21,                     "operator": 0,                     "value": "1"                 },                 {                     "conditiontype": 10,                     "operator": 0,                     "value": "2"                 }             ]         },         "operations": [             {                 "operationtype": 6,                 "optemplate": [                     {                         "templateid": "10001"                     }                 ]             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "actionids": [             "18"         ]     },     "id": 1 } ```
es	#### Crear una acción de descubrimiento  Cree una acción que vinculará los equipos descubiertos a la plantilla "10001".  [Solicitud](/manual/api#performing-requests):  ```json {  · "jsonrpc": "2.0",  · "method": "action.create",  · "params": {  · "name": "Discovery action",  · "eventsource": 1,  · "status": 0,  · "filter": {  · "evaltype": 0,  · "conditions": [  · {  · "conditiontype": 21,  · "operator": 0,  · "value": "1"  · },  · {  · "conditiontype": 10,  · "operator": 0,  · "value": "2"  · }  · ]  · },  · "operations": [  · {  · "operationtype": 6,  · "optemplate": [  · {  · "templateid": "10001"  · }  · ]  · }  · ]  · },  · "id": 1 } ```  Respuesta:  ```json {  · "jsonrpc": "2.0",  · "result": {  · "actionids": [  · "18"  · ]  · },  · "id": 1 } ```

en-us	#### Create a discovery rule  Create a discovery rule to find machines running the Zabbix agent in the local network. The rule must use a single Zabbix agent check on port 10050.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "drule.create",     "params": {         "name": "Zabbix agent discovery",         "iprange": "192.168.1.1-255",         "dchecks": [             {                 "type": "9",                 "key_": "system.uname",                 "ports": "10050",                 "uniq": "0"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "druleids": [             "6"         ]     },     "id": 1 } ```
es	#### Crear una regla de descubrimiento  Cree una regla de descubrimiento para encontrar máquinas que ejecuten el agente Zabbix en la red local. La regla debe utilizar una única verificación del agente Zabbix en el puerto 10050.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "drule.create",     "params": {         "name": "Zabbix agent discovery",         "iprange": "192.168.1.1-255",         "dchecks": [             {                 "type": "9",                 "key_": "system.uname",                 "ports": "10050",                 "uniq": "0"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "druleids": [             "6"         ]     },     "id": 1 } ```

en-us	#### Create agent autoregistration rule  Create an autoregistration action that adds a host to host group "2" when the host name contains "SRV" or metadata contains "AlmaLinux".  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "action.create",     "params": {         "name": "Register Linux servers",         "eventsource": "2",         "filter": {             "evaltype": "2",             "conditions": [                 {                     "conditiontype": "22",                     "operator": "2",                     "value": "SRV"                 },                 {                     "conditiontype": "24",                     "operator": "2",                     "value": "AlmaLinux"                 }             ]         },         "operations": [             {                 "operationtype": "4",                 "opgroup": [                     {                         "groupid": "2"                     }                 ]             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "actionids": [             19         ]     },     "id": 1 } ```
es	#### Crear regla de autoregistro del agente  Cree una acción de registro automático que agregue un equipo al grupo de equipos "2" cuando el nombre del equipo contenga "SRV" o los metadatos contengan "AlmaLinux".  [Solicitud](/manual/api#performing-requests):  ```json { "jsonrpc": "2.0", "method": "action.create", "params": { "name": "Register Linux servers", "eventsource": "2", "filter": { "evaltype": "2", "conditions": [ { "conditiontype": "22", "operator": "2", "value": "SRV" }, { "conditiontype": "24", "operator": "2", "value": "AlmaLinux" } ] }, "operations": [ { "operationtype": "4", "opgroup": [ { "groupid": "2" } ] } ] }, "id": 1 } ```  Respuesta:  ```json { "jsonrpc": "2.0", "result": { "actionids": [ 19 ] }, "id": 1 } ```

en-us	#### Create a host  1\. Go to *Data collection* → [*Hosts*](/manual/web_interface/frontend_sections/data_collection/hosts).  2\. [Create](/manual/config/hosts/host) a host:  - In the *Host name* field, enter a host name (for example, "VMware VMs"). - In the *Host groups* field, type or select a host group (for example, "Virtual machines").  ![](../../../assets/en/manual/vm_monitoring/vmware_host.png){width="600"}  - In the *Macros* tab, set the following host macros:     - {$VMWARE.URL} - VMware service (ESXi hypervisor) SDK URL (https://servername/sdk)     - {$VMWARE.USERNAME} - VMware service user name     - {$VMWARE.PASSWORD} - VMware service {$VMWARE.USERNAME} user password  ![](../../../assets/en/manual/vm_monitoring/vmware_host_macros.png){width="600"}  3\. Click the *Add* button to create the host. This host will represent your VMware environment.
es	#### Crear un equipo  1\. Vaya a *Recopilación de datos* → [*Equipos*](/manual/web_interface/frontend_sections/data_collection/hosts).  2\. [Crear](/manual/config/hosts/host) un equipo:  - En el campo *Nombre de equipo*, ingrese un nombre de equipo (por ejemplo, "VMware VM"). - En el campo *Grupos de equipos*, escriba o seleccione un grupo de equipos (por ejemplo, "Máquinas virtuales").  ![](../../../assets/en/manual/vm_monitoring/vmware_host.png){width="600"}  - En la pestaña *Macros*, configure las siguientes macros de equipo:     - {$VMWARE.URL} - URL del SDK del servicio VMware (hipervisor ESXi) (https://servername/sdk)     - {$VMWARE.USERNAME} - Nombre de usuario del servicio VMware     - {$VMWARE.PASSWORD} - Contraseña de usuario del servicio VMware {$VMWARE.USERNAME}  ![](../../../assets/en/manual/vm_monitoring/vmware_host_macros.png){width="600"}  3\. Haga clic en el botón *Agregar* para crear el equipo. Este equipo representará su entorno VMware.

en-us	#### Create a host map  Create a map with two host elements and a link between them. Note the use of temporary "selementid1" and "selementid2" values in the map link object to refer to map elements.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "map.create",     "params": {         "name": "Host map",         "width": 600,         "height": 600,         "selements": [             {                 "selementid": "1",                 "elements": [                     {"hostid": "1033"}                 ],                 "elementtype": 0,                 "iconid_off": "2"             },              {                 "selementid": "2",                 "elements": [                     {"hostid": "1037"}                 ],                 "elementtype": 0,                 "iconid_off": "2"             }         ],         "links": [             {                 "selementid1": "1",                 "selementid2": "2"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "sysmapids": [             "9"         ]     },     "id": 1 } ```
es	#### Crear un mapa de equipo  Cree un mapa con dos elementos de equipo y un vínculo entre ellos. Observe el uso de valores temporales "selementid1" y "selementid2" en el objeto de enlace del mapa para referirse a elementos del mapa.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "map.create",     "params": {         "name": "Host map",         "width": 600,         "height": 600,         "selements": [             {                 "selementid": "1",                 "elements": [                     {"hostid": "1033"}                 ],                 "elementtype": 0,                 "iconid_off": "2"             },              {                 "selementid": "2",                 "elements": [                     {"hostid": "1037"}                 ],                 "elementtype": 0,                 "iconid_off": "2"             }         ],         "links": [             {                 "selementid1": "1",                 "selementid2": "2"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "sysmapids": [             "9"         ]     },     "id": 1 } ```

en-us	#### Create a host prototype  1\. In the list of low-level discovery rules, click *Host prototypes* for the previously created low-level discovery rule.  2\. [Create](/manual/discovery/low_level_discovery/host_prototypes#configuration) a host prototype. Since host prototypes are blueprints for creating hosts through low-level discovery rules, most fields will contain [low-level discovery macros](/manual/config/macros/lld_macros). This ensures that the hosts are created with properties based on the [content retrieved](/manual/vm_monitoring/discovery_fields) by the previously created low-level discovery rule.  - In the *Host name* field, enter the macro {#VM.UUID}. - In the *Visible name* field, enter the macro {#VM.NAME}. - In the *Templates* field, enter or select the "VMware Guest" template. This template contains [VMware items](/manual/vm_monitoring/vmware_keys) and discovery rules for monitoring the power state of a virtual machine, CPU usage, memory usage, network devices, etc. - In the *Host groups* field, enter or select a host group (for example, "Discovered hosts"). - In the *Interfaces* field, add a custom [host interface](/manual/discovery/low_level_discovery/host_prototypes#host-interfaces) and, in the *DNS name* field, enter the macro {#VM.DNS}. Alternatively (based on the configuration of your VMware environment), in the *IP address* field, enter the macro {#VM.IP}. This is necessary for the correct functioning of the *VMware Guest* template.  ![](../../../assets/en/manual/vm_monitoring/vmware_host_prototype.png){width="600"}  - In the *Macros* tab, set the {$VMWARE.VM.UUID} macro with the value {#VM.UUID}. This is necessary for the correct functioning of the *VMware Guest* template that uses this macro as a host-level user macro in item parameters (for example, *vmware.vm.net.if.discovery\[{$VMWARE.URL}, {$VMWARE.VM.UUID}\]*).  ![](../../../assets/en/manual/vm_monitoring/vmware_host_prototype_macros.png){width="600"}  3\. Click the *Add* button to create the host prototype. This host prototype will be used to create hosts for virtual machines discovered by the previously created low-level discovery rule.
es	#### Crear un prototipo de equipo  1\. En la lista de reglas de descubrimiento de bajo nivel, haga clic en *Prototipos de equipo* para la regla de descubrimiento de bajo nivel creada anteriormente.  2\. [Crear](/manual/discovery/low_level_discovery/host_prototypes#configuration) un prototipo de equipo. Dado que los prototipos de equipo son planos para crear equipos mediante reglas de descubrimiento de bajo nivel, la mayoría de los campos contendrán [macros de descubrimiento de bajo nivel] (/manual/config/macros/lld_macros). Esto garantiza que los equipos se creen con propiedades basadas en el [contenido recuperado](/manual/vm_monitoring/discovery_fields) mediante la regla de descubrimiento de bajo nivel creada previamente.  - En el campo *Nombre de equipo*, ingrese la macro {#VM.UUID}. - En el campo *Nombre visible*, ingrese la macro {#VM.NAME}. - En el campo *Plantillas*, ingrese o seleccione la plantilla "VMware Guest". Esta plantilla contiene [métricas de VMware](/manual/vm_monitoring/vmware_keys) y reglas de descubrimiento para monitorear el estado de energía de una máquina virtual, el uso de CPU, el uso de memoria, los dispositivos de red, etc. - En el campo *Grupos de equipos*, ingrese o seleccione un grupo de equipos (por ejemplo, "Hosts descubiertos"). - En el campo *Interfaces*, agregue una [interfaz de equipo] personalizada (/manual/discovery/low_level_discovery/host_prototypes#host-interfaces) y, en el campo *nombre DNS*, ingrese la macro {#VM.DNS}. Alternativamente (según la configuración de su entorno VMware), en el campo *Dirección IP*, ingrese la macro {#VM.IP}. Esto es necesario para el correcto funcionamiento de la plantilla *VMware Guest*.  ![](../../../assets/en/manual/vm_monitoring/vmware_host_prototype.png){width="600"}  - En la pestaña *Macros*, configure la macro {$VMWARE.VM.UUID} con el valor {#VM.UUID}. Esto es necesario para el correcto funcionamiento de la plantilla *VMware Guest* que utiliza esta macro como macro de usuario a nivel de equipo en los parámetros de la métrica. (por ejemplo, *vmware.vm.net.if.discovery\[{$VMWARE.URL}, {$VMWARE.VM.UUID}\]*).  ![](../../../assets/en/manual/vm_monitoring/vmware_host_prototype_macros.png){width="600"}  3\. Haga clic en el botón *Agregar* para crear el prototipo de equipo. Este prototipo de equipo se utilizará para crear equipos para máquinas virtuales descubiertas mediante la regla de descubrimiento de bajo nivel creada previamente.

en-us	#### Create a low-level discovery rule  1\. Click *Discovery* for the created host to go to the list of low-level discovery rules for that host.  2\. [Create](/manual/discovery/low_level_discovery#configuring-low-level-discovery) a low-level discovery rule:  - In the *Name* field, enter a low-level discovery rule name (for example, "Discover VMware VMs"). - In the *Type* field, select "[Simple check](/manual/config/items/itemtypes/simple_checks)". - In the *Key* field, enter the built-in item key for discovering VMware virtual machines: [`vmware.vm.discovery[{$VMWARE.URL}]`](/manual/vm_monitoring/vmware_keys#vmware.vm.discovery) - In the *User name* and *Password* fields, enter the corresponding macros previously configured on the host.  ![](../../../assets/en/manual/vm_monitoring/vmware_host_discovery.png){width="600"}  3\. Click the *Add* button to create the low-level discovery rule. This discovery rule will discover virtual machines in your VMware environment.
es	#### Crear una regla de descubrimiento de bajo nivel  1\. Haga clic en *Descubrimiento* para que el equipo creado vaya a la lista de reglas de descubrimiento de bajo nivel para ese equipo.  2\. [Crear](/manual/discovery/low_level_discovery#configuring-low-level-discovery) una regla de descubrimiento de bajo nivel:  - En el campo *Nombre*, ingrese un nombre de regla de descubrimiento de bajo nivel (por ejemplo, "Descubrir VMware VM"). - En el campo *Tipo*, seleccione "[Comprobación simple](/manual/config/items/itemtypes/simple_checks)". - En el campo *Clave*, ingrese la clave del elemento integrado para descubrir máquinas virtuales VMware: [`vmware.vm.discovery[{$VMWARE.URL}]`](/manual/vm_monitoring/vmware_keys#vmware.vm. discovery) - En los campos *Nombre de usuario* y *Contraseña*, introduzca las macros correspondientes previamente configuradas en el host.  ![](../../../assets/en/manual/vm_monitoring/vmware_host_discovery.png){width="600"}  3\. Haga clic en el botón *Agregar* para crear la regla de descubrimiento de bajo nivel. Esta regla de descubrimiento descubrirá máquinas virtuales en su entorno VMware.

en-us	##### Create a menu section  1. Create a *Module.php* file in the *MyAddress* directory.  This file implements a new *Module* class that extends the default *CModule* class. The *Module* class will insert a new *My Address* menu section into the main menu.  The *setAction()* method specifies an action to be executed upon clicking on the menu section. To start with, you can use the predefined action *userprofile.edit*, which will open the *User profile* page. In [part III](#part-iii---module-action) of this tutorial, you will learn how to create a custom action.  **ui/modules/MyAddress/Module.php**  ```php <?php  namespace Modules\MyAddress;  use Zabbix\Core\CModule,     APP,     CMenuItem;  class Module extends CModule {      public function init(): void {         APP::Component()->get('menu.main')             ->add((new CMenuItem(_('My Address')))             ->setAction('userprofile.edit'));     } } ```  :::noteclassic You can replace `'userprofile.edit'` with other actions, for example, `'charts.view'` (opens custom graphs), `'problems.view'` (opens *Monitoring → Problems*), or `'report.status'` (opens *System information* report). :::  3. Refresh Zabbix frontend. There is now a new *My Address* section at the bottom of the Zabbix main menu. Click on *My Address* to open the *User profile* page.  ![](../../../../assets/en/devel/modules/tutorials/module/my_address_top_menu.png){width="600"}
es	##### Crear una sección de menú  1. Cree un archivo *Module.php* en el directorio *MyAddress*.  Este archivo implementa una nueva clase *Module* que extiende la clase *CModule* predeterminada. La clase *Módulo* insertará una nueva sección de menú *Mi dirección* en el menú principal.  El método *setAction()* especifica una acción que se ejecutará al hacer clic en la sección del menú. Para empezar, puede utilizar la acción predefinida *userprofile.edit*, que abrirá la página *Perfil de usuario*. En la [parte III](#part-iii---module-action) de este tutorial, aprenderá cómo crear una acción personalizada.  **ui/modules/MyAddress/Module.php**  ```php <?php  namespace Modules\MyAddress;  use Zabbix\Core\CModule, APP, CMenuItem;  módulo de clase extiende CModule {  class Module extends CModule {  public function init(): void { APP::Component()->get('menu.main') ->add((new CMenuItem(_('My Address'))) ->setAction('userprofile.edit')); } } ```  :::noteclassic Puede reemplazar `'userprofile.edit'` con otras acciones, por ejemplo, `'charts.view'` (abre gráficos personalizados), `'problems.view'` (abre *Monitoreo → Problemas*), o `'report.status'` (abre el informe *Información del sistema*). :::  3. Actualice la interfaz de Zabbix. Ahora hay una nueva sección *Mi dirección* en la parte inferior del menú principal de Zabbix. Haga clic en *Mi dirección* para abrir la página *Perfil de usuario*.  ![](../../../../assets/en/devel/modules/tutorials/module/my_address_top_menu.png){width="600"}

en-us	# Create a module (tutorial)
es	# Crear un módulo (tutorial)

en-us	#### Create an active proxy  Create an action proxy "Active proxy" and assign a host to be monitored by it.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "proxy.create",     "params": {         "host": "Active proxy",         "status": "5",         "hosts": [             {                 "hostid": "10279"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "proxyids": [             "10280"         ]     },     "id": 1 } ```
es	#### Crear un proxy activo  Cree un proxy de acción "Proxy activo" y asigne un equipo para que lo supervise.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "proxy.create",     "params": {         "host": "Active proxy",         "status": "5",         "hosts": [             {                 "hostid": "10279"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "proxyids": [             "10280"         ]     },     "id": 1 } ```

en-us	#### Create an empty map  Create a map with no elements.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "map.create",     "params": {         "name": "Map",         "width": 600,         "height": 600     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "sysmapids": [             "8"         ]     },     "id": 1 } ```
es	#### Crear un mapa vacío  Crea un mapa sin elementos.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "map.create",     "params": {         "name": "Map",         "width": 600,         "height": 600     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "sysmapids": [             "8"         ]     },     "id": 1 } ```

en-us	#### Create a new event tag correlation  Create a correlation using evaluation method `AND/OR` with one condition and one operation. By default the correlation will be enabled.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "correlation.create",     "params": {         "name": "new event tag correlation",         "filter": {             "evaltype": 0,             "conditions": [                 {                     "type": 1,                     "tag": "ok"                 }             ]         },         "operations": [             {                 "type": 0             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "correlationids": [             "1"         ]     },     "id": 1 } ```
es	#### Crear una nueva correlación de etiqueta de evento  Cree una correlación utilizando el método de evaluación "Y/O" con una condición y una operación. De forma predeterminada, la correlación estará habilitada.  [Solicitud](/manual/api#performing-requests):  ```json { "jsonrpc": "2.0", "method": "correlation.create", "params": { "name": "new event tag correlation", "filter": { "evaltype": 0, "conditions": [ { "type": 1, "tag": "ok" } ] }, "operations": [ { "type": 0 } ] }, "id": 1 } ```  Respuesta:  ```json { "jsonrpc": "2.0", "result": { "correlationids": [ "1" ] }, "id": 1 } ```

en-us	#### Create a new interface  Create a secondary IP agent interface on host "30052."  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.create",     "params": {         "hostid": "30052",         "main": "0",         "type": "1",         "useip": "1",         "ip": "127.0.0.1",         "dns": "",         "port": "10050",     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "interfaceids": [             "30062"         ]     },     "id": 1 } ```
es	#### Crear una nueva interfaz  Crear una interfaz de agente IP secundaria en el equipo "30052."  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.create",     "params": {         "hostid": "30052",         "main": "0",         "type": "1",         "useip": "1",         "ip": "127.0.0.1",         "dns": "",         "port": "10050",     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "interfaceids": [             "30062"         ]     },     "id": 1 } ```

en-us	#### Create an icon map  Create an icon map to display hosts of different types.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "iconmap.create",     "params": {         "name": "Type icons",         "default_iconid": "2",         "mappings": [             {                 "inventory_link": 1,                 "expression": "server",                 "iconid": "3"             },             {                 "inventory_link": 1,                 "expression": "switch",                 "iconid": "4"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "iconmapids": [             "2"         ]     },     "id": 1 } ```
es	#### Crear un mapa de iconos  Cree un mapa de iconos para mostrar equipos de diferentes tipos.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "iconmap.create",     "params": {         "name": "Type icons",         "default_iconid": "2",         "mappings": [             {                 "inventory_link": 1,                 "expression": "server",                 "iconid": "3"             },             {                 "inventory_link": 1,                 "expression": "switch",                 "iconid": "4"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "iconmapids": [             "2"         ]     },     "id": 1 } ```

en-us	#### Create an image  Create a cloud icon.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "image.create",     "params": {         "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 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "imageids": [             "188"         ]     },     "id": 1 } ```
es	#### Crear una imagen  Crea un icono de nube.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "image.create",     "params": {         "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 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "imageids": [             "188"         ]     },     "id": 1 } ```

en-us	#### Create an interface with SNMP details  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.create",     "params": {         "hostid": "10456",         "main": "0",         "type": "2",         "useip": "1",         "ip": "127.0.0.1",         "dns": "",         "port": "1601",         "details": {             "version": "2",             "bulk": "1",             "community": "{$SNMP_COMMUNITY}"         }     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "interfaceids": [             "30063"         ]     },     "id": 1 } ```
es	#### Crear una interfaz con detalles SNMP  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.create",     "params": {         "hostid": "10456",         "main": "0",         "type": "2",         "useip": "1",         "ip": "127.0.0.1",         "dns": "",         "port": "1601",         "details": {             "version": "2",             "bulk": "1",             "community": "{$SNMP_COMMUNITY}"         }     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "interfaceids": [             "30063"         ]     },     "id": 1 } ```

en-us	 Create another child service of Zabbix cluster with name "Zabbix server node 2".   Set the Problem tags as:   - Name: component - Operation: Equals - Value: HA node 2  Switch to the *Tags* tab and add a service tag: `Zabbix server:node 2`.  Save the new service. 
es	 Cree otro servicio secundario del clúster Zabbix con el nombre "Nodo 2 del servidor Zabbix".  Establezca las etiquetas de problema como:  - Nombre: componente - Operación: Igual - Valor: HA nodo 2  Cambie a la pestaña *Etiquetas* y agregue una etiqueta de servicio: `Servidor Zabbix:nodo 2`.  Guarde el nuevo servicio.

en-us	#### Create an SSH script  Create an SSH script with public key authentication that can be executed on a host and has a context menu.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "script.create",     "params": {         "name": "SSH script",         "command": "my script command",         "type": 2,         "username": "John",         "publickey": "pub.key",         "privatekey": "priv.key",         "password": "secret",         "port": "12345",         "scope": 2,         "menu_path": "All scripts/SSH",         "usrgrpid": "7",         "groupid": "4"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "scriptids": [             "5"         ]     },     "id": 1 } ```
es	#### Crear un script SSH  Cree un script SSH con autenticación de clave pública que se pueda ejecutar en un equipo y tiene un menú contextual.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "script.create",     "params": {         "name": "SSH script",         "command": "my script command",         "type": 2,         "username": "John",         "publickey": "pub.key",         "privatekey": "priv.key",         "password": "secret",         "port": "12345",         "scope": 2,         "menu_path": "All scripts/SSH",         "usrgrpid": "7",         "groupid": "4"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "scriptids": [             "5"         ]     },     "id": 1 } ```

en-us	#### Create a passive proxy  Create a passive proxy "Passive proxy" and assign two hosts to be monitored by it.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "proxy.create",     "params": {         "host": "Passive proxy",         "status": "6",         "interface": {             "ip": "127.0.0.1",             "dns": "",             "useip": "1",             "port": "10051"         },         "hosts": [             {                 "hostid": "10192"             },             {                 "hostid": "10139"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "proxyids": [             "10284"         ]     },     "id": 1 } ```
es	#### Crear un proxy pasivo  Cree un proxy pasivo "Proxy pasivo" y asigne dos equipos para que los supervise.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "proxy.create",     "params": {         "host": "Proxy pasivo",         "status": "6",         "interface": {             "ip": "127.0.0.1",             "dns": "",             "useip": "1",             "port": "10051"         },         "hosts": [             {                 "hostid": "10192"             },             {                 "hostid": "10139"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "proxyids": [             "10284"         ]     },     "id": 1 } ```

en-us	 # Create a plugin (tutorial)
es	# Crear un complemento (tutorial)

en-us	#### Create a token  Create an enabled token that never expires and authenticates user of ID 2.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "token.create",     "params": {         "name": "Your token",         "userid": "2"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "tokenids": [             "188"         ]     },     "id": 1 } ```  Create a disabled token that expires at January 21st, 2021. This token will authenticate current user.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "token.create",     "params": {         "name": "Your token",         "status": "1",         "expires_at": "1611238072"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "tokenids": [             "189"         ]     },     "id": 1 } ```
es	#### Crear un token  Cree un token habilitado que nunca caduque y autentique al usuario de ID 2.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "token.create",     "params": {         "name": "Your token",         "userid": "2"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "tokenids": [             "188"         ]     },     "id": 1 } ```  Cree un token deshabilitado que caduque el 21 de enero de 2021. Este token autenticará al usuario actual.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "token.create",     "params": {         "name": "Your token",         "status": "1",         "expires_at": "1611238072"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "tokenids": [             "189"         ]     },     "id": 1 } ```

en-us	#### Create a trigger action  Create a trigger action that will begin once a trigger (with the word "memory" in its name) from host "10084" goes into a PROBLEM state. The action will have 4 configured operations. The first and immediate operation will send a message to all users in user group "7" via media type "1". If the event is not resolved in 30 minutes, the second operation will run [script](/manual/web_interface/frontend_sections/alerts/scripts#configuring-a-global-script) "5" (script with scope "Action operation") on all hosts in group "2". If the event is resolved, a recovery operation will notify all users who received any messages regarding the problem. If the event is updated, an acknowledge/update operation will notify (with a custom subject and message) all users who received any messages regarding the problem.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "action.create",     "params": {         "name": "Trigger action",         "eventsource": 0,         "esc_period": "30m",         "filter": {             "evaltype": 0,             "conditions": [                 {                     "conditiontype": 1,                     "operator": 0,                     "value": "10084"                 },                 {                     "conditiontype": 3,                     "operator": 2,                     "value": "memory"                 }             ]         },         "operations": [             {                 "operationtype": 0,                 "esc_step_from": 1,                 "esc_step_to": 1,                 "opmessage_grp": [                     {                         "usrgrpid": "7"                     }                 ],                 "opmessage": {                     "default_msg": 1,                     "mediatypeid": "1"                 }             },             {                 "operationtype": 1,                 "esc_step_from": 2,                 "esc_step_to": 2,                 "opconditions": [                     {                         "conditiontype": 14,                         "operator": 0,                         "value": "0"                     }                 ],                 "opcommand_grp": [                     {                         "groupid": "2"                     }                 ],                 "opcommand": {                     "scriptid": "5"                 }             }         ],         "recovery_operations": [             {                 "operationtype": "11",                 "opmessage": {                     "default_msg": 1                 }             }         ],         "update_operations": [             {                 "operationtype": "12",                 "opmessage": {                     "default_msg": 0,                     "message": "Custom update operation message body",                     "subject": "Custom update operation message subject"                 }             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "actionids": [             "17"         ]     },     "id": 1 } ```
es	#### Crear una acción de iniciador  Cree una acción que se ejecutará cuando un iniciador del equipo "10084" que tiene la palabra "memoria" en su nombre entra en estado de problema. La acción primero debe enviar un mensaje a todos los usuarios del grupo de usuarios "7". Si el evento no se resuelve en 4 minutos, ejecutará  el script "3" en todos los equipos del grupo "2". Al desencadenar la recuperación, notificará a todos los usuarios que hayan recibido cualquier mensaje sobre el problema anterior. Al activar la actualización, un mensaje personalizado con asunto y cuerpo se enviará a todos los que dejaron reconocimientos y comentarios a través de todo tipo de medios.  Solicitud:  ```json { ."jsonrpc":"2.0", ."method":"action.create", ."params":{ ."name":"Trigger action", ."eventsource":0, ."status":0, ."esc_period"."2m", ."filter":{ ."evaltype":0, ."conditions":[ .{ ."conditiontype":1, ."operator":0, ."value":"10084" .}, .{ ."conditiontype":3, ."operator":2, ."value":"memory" .} .] .}, ."operations":[ .{ ."operationstype":0, ."esc_period":"0s", ."esc_step_from":1, ."esc_step_to":2, ."evaltype":0, ."opmessage_grp":[ .{ ."usrgrpid":"7" .} .], ."opmessage":{ ."default_msg":1, ."mediatypeid":"1" .} .}, .{ ."operationtype":1, ."esc_step_from":3, ."esc_step_to":4, ."evaltype":0, ."opconditions":[ .{ ."conditiontype":14, ."operator":0, ."value":"0" .} .], ."opcommand_grp":[ .{ ."groupid":"2" .} .], ."opcommand":{ ."scriptid":"3" .} .} .], ."recovery_operations":[ .{ ."operationtype":"11", ."opmessage":{ ."default_msg":1 .} .}. .], ."update_operations":[ .{ ."operationtype":"12", ."opmessage":{ ."default_msg":0, ."message"."Cuerpo del mensaje de la operación de actualización personalizado", ."subject":"Asunto del mensaje de la operación de actualización personalizado" .} .} .], ."pause_suppressed":"0", ."notify_if_canceled":"0" .}, ."auth":"038e1d7b1735c6a5436ee9eae095879e", ."id":1 } ```  Respuesta:  ```json {  · "jsonrpc": "2.0",  · "result": {  · "actionids": [  · "17"  · ]  · },  · "id": 1 } ```

en-us	#### Create a trigger map  Create a map with trigger element, which contains two triggers.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "map.create",     "params": {         "name": "Trigger map",         "width": 600,         "height": 600,         "selements": [             {                 "elements": [                     {"triggerid": "12345"},                     {"triggerid": "67890"}                 ],                 "elementtype": 2,                 "iconid_off": "2"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "sysmapids": [             "10"         ]     },     "id": 1 } ```
es	#### Crear un mapa de iniciadores  Crear un mapa con elemento de iniciador, que contienen dos iniciadores.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "map.create",     "params": {         "name": "Trigger map",         "width": 600,         "height": 600,         "selements": [             {                 "elements": [                     {"triggerid": "12345"},                     {"triggerid": "67890"}                 ],                 "elementtype": 2,                 "iconid_off": "2"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "sysmapids": [             "10"         ]     },     "id": 1 } ```

en-us	#### Create a URL type script  Create a URL type script that for host scope and remains in same window and has confirmation text.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "script.create",     "params": {         "name": "URL script",         "type": 6,         "scope": 2,         "url": "http://zabbix/ui/zabbix.php?action=host.edit&hostid={HOST.ID}",         "confirmation": "Edit host {HOST.NAME}?",         "new_window": 0     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "scriptids": [             "56"         ]     },     "id": 1 } ```
es	#### Crear un script de tipo URL  Cree un script de tipo URL que para el alcance del equipo permanezca en la misma ventana y tenga un texto de confirmación.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "script.create",     "params": {         "name": "URL script",         "type": 6,         "scope": 2,         "url": "http://zabbix/ui/zabbix.php?action=host.edit&hostid={HOST.ID}",         "confirmation": "Edit host {HOST.NAME}?",         "new_window": 0     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "scriptids": [             "56"         ]     },     "id": 1 } ```

en-us	#### Create a webhook script  Create a webhook script that sends HTTP request to external service.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "script.create",     "params": {         "name": "Webhook script",         "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}",         "type": 5,         "timeout": "40s",         "parameters": [             {                 "name": "token",                 "value": "{$WEBHOOK.TOKEN}"             },             {                 "name": "host",                 "value": "{HOST.HOST}"             },             {                 "name": "v",                 "value": "2.2"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "scriptids": [             "3"         ]     },     "id": 1 } ```
es	#### Crear un script de webhook  Cree un script de webhook que envíe una solicitud HTTP a un servicio externo.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "script.create",     "params": {         "name": "Webhook script",         "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}",         "type": 5,         "timeout": "40s",         "parameters": [             {                 "name": "token",                 "value": "{$WEBHOOK.TOKEN}"             },             {                 "name": "host",                 "value": "{HOST.HOST}"             },             {                 "name": "v",                 "value": "2.2"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "scriptids": [             "3"         ]     },     "id": 1 } ```

en-us	# Create a widget (tutorial)
es	# Crear un widget (tutorial)

en-us	#### Create HTTP agent item  Create POST request method item with JSON response preprocessing.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {         "url":"http://127.0.0.1/http.php",         "query_fields": [             {                 "mode":"json"             },             {                 "min": "10"             },             {                 "max": "100"             }         ],         "interfaceid": "1",         "type": 19,         "hostid": "10254",         "delay": "5s",         "key_": "json",         "name": "HTTP agent example JSON",         "value_type": 0,         "output_format": 1,         "preprocessing": [             {                 "type": 12,                 "params": "$.random",                 "error_handler": 0,                 "error_handler_params": ""             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "23865"         ]     },     "id": 1 } ```
es	#### Crear una métrica de agente HTTP  Cree una métrica de método de solicitud POST con preprocesamiento de respuesta JSON.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {         "url":"http://127.0.0.1/http.php",         "query_fields": [             {                 "mode":"json"             },             {                 "min": "10"             },             {                 "max": "100"             }         ],         "interfaceid": "1",         "type": 19,         "hostid": "10254",         "delay": "5s",         "key_": "json",         "name": "HTTP agent example JSON",         "value_type": 0,         "output_format": 1,         "preprocessing": [             {                 "type": 12,                 "params": "$.random",                 "error_handler": 0,                 "error_handler_params": ""             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "23865"         ]     },     "id": 1 } ```

en-us	#### Create HTTP agent item prototype  Create item prototype with URL using user macro, query fields and custom headers.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "itemprototype.create",     "params": {         "type": "19",         "hostid": "10254",         "ruleid": "28256",         "interfaceid": "2",         "name": "api item prototype example",         "key_": "api_http_item",         "value_type": 3,         "url": "{$URL_PROTOTYPE}",         "query_fields": [             {                 "min": "10"             },             {                 "max": "100"             }         ],         "headers": {             "X-Source": "api"         },         "delay": "35"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "28305"         ]     },     "id": 1 } ```
es	#### Crear prototipo de métrica de agente HTTP  Cree un prototipo de métrica con URL utilizando macro de usuario, campos de consulta y encabezados personalizados.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "itemprototype.create",     "params": {         "type": "19",         "hostid": "10254",         "ruleid": "28256",         "interfaceid": "2",         "name": "api item prototype example",         "key_": "api_http_item",         "value_type": 3,         "url": "{$URL_PROTOTYPE}",         "query_fields": [             {                 "min": "10"             },             {                 "max": "100"             }         ],         "headers": {             "X-Source": "api"         },         "delay": "35"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "28305"         ]     },     "id": 1 } ```

en-us	#### Create MySQL user  To monitor a MySQL server, Zabbix requires access to it and its processes. Your MySQL installation already has a user with the required level of access (the user "zabbix" that was created when installing Zabbix), however, this user has more privileges than necessary for simple monitoring (privileges to DROP databases, DELETE entries from tables, etc.). Therefore, a MySQL user for the purpose of *only* monitoring the MySQL server needs to be created.  1\. Connect to the MySQL client, create a "zbx_monitor" user (replace *<password>* for the "zbx_monitor" user with a password of your choice), and [GRANT](https://dev.mysql.com/doc/refman/8.0/en/grant.html) the necessary privileges to the user:      mysql -u root -p     # Enter password:      mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';     mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';     mysql> quit;  Once the user is created, you can move on to the next step.
es	#### Crear usuario MySQL  Para monitorear un servidor MySQL, Zabbix requiere acceso a él y a sus procesos. Su instalación de MySQL ya tiene un usuario con el nivel de acceso requerido (el usuario "zabbix" que se creó al instalar Zabbix), sin embargo, este usuario tiene más privilegios de los necesarios para un monitoreo simple (privilegios para BORRAR bases de datos, ELIMINAR entradas de tablas, etc.). Por lo tanto, es necesario crear un usuario de MySQL con el propósito de *sólo* monitorear el servidor MySQL.  1\. Conéctese al cliente MySQL, cree un usuario "zbx_monitor" (reemplace *<contraseña>* para el usuario "zbx_monitor" con una contraseña de su elección), y [CONCEDA](https://dev.mysql.com/doc/refman/8.0/en/grant.html) los privilegios necesarios al usuario:      mysql -u root -p     # Introducir la contraseña:      mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';     mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';     mysql> quit;  Una vez creado el usuario, puede pasar al siguiente paso.

en-us	#### Create script item  Create a simple data collection using a script item.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {         "name": "Script example",         "key_": "custom.script.item",         "hostid": "12345",         "type": 21,         "value_type": 4,         "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",         "parameters": [             {                 "name": "host",                 "value": "{HOST.CONN}"             }         ],         "timeout": "6s",         "delay": "30s"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "23865"         ]     },     "id": 1 } ```
es	#### Crear una métrica de script  Cree una colección de datos simple utilizando una métrica de script.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {         "name": "Script example",         "key_": "custom.script.item",         "hostid": "12345",         "type": 21,         "value_type": 4,         "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",         "parameters": [             {                 "name": "host",                 "value": "{HOST.CONN}"             }         ],         "timeout": "6s",         "delay": "30s"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "23865"         ]     },     "id": 1 } ```

en-us	#### Create script item prototype  Create a simple data collection using a script item prototype.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "itemprototype.create",     "params": {         "name": "Script example",         "key_": "custom.script.itemprototype",         "hostid": "12345",         "type": 21,         "value_type": 4,         "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",         "parameters": [             {                 "name": "host",                 "value": "{HOST.CONN}"             }         ],         "timeout": "6s",         "delay": "30s"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "23865"         ]     },     "id": 1 } ```
es	#### Crear prototipo de métrica de script  Cree una recopilación de datos sencilla utilizando un prototipo de métrica de script.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "itemprototype.create",     "params": {         "name": "Script example",         "key_": "custom.script.itemprototype",         "hostid": "12345",         "type": 21,         "value_type": 4,         "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",         "parameters": [             {                 "name": "host",                 "value": "{HOST.CONN}"             }         ],         "timeout": "6s",         "delay": "30s"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "23865"         ]     },     "id": 1 } ```

en-us	#### Create script LLD rule  Create a simple data collection using a script LLD rule.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.create",     "params": {         "name": "Script example",         "key_": "custom.script.lldrule",         "hostid": "12345",         "type": 21,         "value_type": 4,         "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",         "parameters": [{             "name": "host",             "value": "{HOST.CONN}"         }],         "timeout": "6s",         "delay": "30s"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "23865"         ]     },     "id": 1 } ```
es	#### Crear regla LLD de secuencia de comandos  Cree una recopilación de datos simple utilizando una regla LLD de script.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.create",     "params": {         "name": "Script example",         "key_": "custom.script.lldrule",         "hostid": "12345",         "type": 21,         "value_type": 4,         "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",         "parameters": [{             "name": "host",             "value": "{HOST.CONN}"         }],         "timeout": "6s",         "delay": "30s"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "23865"         ]     },     "id": 1 } ```

en-us	#### Creating a connector  Create a connector to export trigger events with a tag filter. HTTP authentication will be performed using Bearer token.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "connector.create",     "params": [         {             "name": "Export of events",             "data_type": 1,             "url": "{$DATA_EXPORT_URL}",             "authtype": 5,             "token": "{$DATA_EXPORT_BEARER_TOKEN}",             "tags": [                 {                     "tag": "service",                     "operator": 0,                     "value": "mysqld"                 }             ]         }     ],     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "connectorid": [             "3"         ]     },     "id": 1 } ```
es	#### Creando un conector  Cree un conector para exportar eventos de iniciadores con un filtro de etiquetas. La autenticación HTTP se realizará mediante el token Bearer.  [Solicitud](/manual/api#performing-requests):  ```json { "jsonrpc": "2.0", "method": "connector.create", "params": [ { "name": "Export of events", "data_type": 1, "url": "{$DATA_EXPORT_URL}", "authtype": 5, "token": "{$DATA_EXPORT_BEARER_TOKEN}", "tags": [ { "tag": "service", "operator": 0, "value": "mysqld" } ] } ], "id": 1 } ```  Respuesta:  ```json { "jsonrpc": "2.0", "result": { "connectorid": [ "3" ] }, "id": 1 } ```

en-us	#### Creating a dashboard  Create a dashboard named "My dashboard" with one Problems widget with tags and using two types of sharing (user group and user) on a single dashboard page.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "dashboard.create",     "params": {         "name": "My dashboard",         "display_period": 30,         "auto_start": 1,         "pages": [             {                 "widgets": [                     {                         "type": "problems",                         "x": 0,                         "y": 0,                         "width": 12,                         "height": 5,                         "view_mode": 0,                         "fields": [                             {                                 "type": 1,                                 "name": "tags.tag.0",                                 "value": "service"                             },                             {                                 "type": 0,                                 "name": "tags.operator.0",                                 "value": 1                             },                             {                                 "type": 1,                                 "name": "tags.value.0",                                 "value": "zabbix_server"                             }                         ]                     }                 ]             }         ],         "userGroups": [             {                 "usrgrpid": "7",                 "permission": 2             }         ],         "users": [             {                 "userid": "4",                 "permission": 3             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "dashboardids": [             "2"         ]     },     "id": 1 } ```
es	#### Creando un tablero  Cree un tablero llamado "Mi tablero" con un widget de Problemas con etiquetas y usando dos tipos de uso compartido (grupo de usuarios y usuario) en una sola página del tablero.  [Solicitud](/manual/api#performing-requests):  ```json { "jsonrpc": "2.0", "method": "dashboard.create", "params": { "name": "My dashboard", "display_period": 30, "auto_start": 1, "pages": [ { "widgets": [ { "type": "problems", "x": 0, "y": 0, "width": 12, "height": 5, "view_mode": 0, "fields": [ { "type": 1, "name": "tags.tag.0", "value": "service" }, { "type": 0, "name": "tags.operator.0", "value": 1 }, { "type": 1, "name": "tags.value.0", "value": "zabbix_server" } ] } ] } ], "userGroups": [ { "usrgrpid": "7", "permission": 2 } ], "users": [ { "userid": "4", "permission": 3 } ] }, "id": 1 } ```  Respuesta:  ```json { "jsonrpc": "2.0", "result": { "dashboardids": [ "2" ] }, "id": 1 } ```

en-us	#### Creating a dashboard  It is possible to create a new dashboard in two ways:  -   Click on *Create dashboard*, when viewing all dashboards -   Select *Create new* from the action menu, when viewing a single     dashboard  You will be first asked to enter general dashboard parameters:  ![dashboard\_properties.png](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/dashboard_properties.png)  |Parameter|Description| |--|--------| |*Owner*|Select system user that will be the dashboard owner.| |*Name*|Enter dashboard name.| |*Default page display period*|Select period for how long a dashboard page is displayed before rotating to the next page in a [slideshow](#creating_a_slideshow).| |*Start slideshow automatically*|Mark this checkbox to run a slideshow automatically one more than one dashboard page exists.|  When you click on *Apply*, an empty dashboard is opened:  ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/dashboard_add.png){width="600"}  To populate the dashboard, you can add widgets and pages.  Click on the *Save changes* button to save the dashboard. If you click on *Cancel*, the dashboard will not be created.
es	#### Creando un tablero  Es posible crear un nuevo tablero de dos maneras:  -   Haga clic en *Crear tablero*, cuando vea todos los tableros -   Seleccione *Crear nuevo* en el menú de acciones, cuando vea un único     tablero  Primero se le pedirá que ingrese los parámetros generales del tablero:  ![dashboard\_properties.png](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/dashboard_properties.png)  |Parámetro|Descripción| |--|--------| |*Propietario*|Seleccione el usuario del sistema que será el propietario del tablero.| |*Nombre*|Ingrese el nombre del tablero.| |*Período de visualización de página predeterminado*|Seleccione el período durante el cual se muestra una página del tablero antes de pasar a la página siguiente en una [presentación de diapositivas](#creating_a_slideshow).| |*Iniciar presentación de diapositivas automáticamente*|Marque esta casilla de verificación para ejecutar una presentación de diapositivas automáticamente cuando exista más de una página del tablero.|  Al hacer clic en *Aplicar*, se abre un tablero vacío:  ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/dashboard_add.png){width="600"}  Para completar el tablero, puede agregar widgets y páginas.  Haga clic en el botón *Guardar cambios* para guardar el tablero. Si hace clic en *Cancelar*, el tablero no se creará.

en-us	#### Creating a global macro  Create a global macro "{$SNMP\_COMMUNITY}" with value "public".  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "usermacro.createglobal",     "params":  {         "macro": "{$SNMP_COMMUNITY}",         "value": "public"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "globalmacroids": [             "6"         ]     },     "id": 1 } ```
es	#### Creando una macro global  Cree una macro global "{$SNMP\_COMMUNITY}" con el valor "public".  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "usermacro.createglobal",     "params":  {         "macro": "{$SNMP_COMMUNITY}",         "value": "public"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "globalmacroids": [             "6"         ]     },     "id": 1 } ```

en-us	#### Creating a graph  Create a graph with two items.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "graph.create",     "params": {         "name": "MySQL bandwidth",         "width": 900,         "height": 200,         "gitems": [             {                 "itemid": "22828",                 "color": "00AA00"             },             {                 "itemid": "22829",                 "color": "3333FF"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "graphids": [             "652"         ]     },     "id": 1 } ```
es	#### Creando un gráfico  Crea un gráfico con dos elementos.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "graph.create",     "params": {         "name": "MySQL bandwidth",         "width": 900,         "height": 200,         "gitems": [             {                 "itemid": "22828",                 "color": "00AA00"             },             {                 "itemid": "22829",                 "color": "3333FF"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "graphids": [             "652"         ]     },     "id": 1 } ```

en-us	#### Creating a graph prototype  Create a graph prototype with two items.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "graphprototype.create",     "params": {         "name": "Disk space usage {#FSNAME}",         "width": 900,         "height": 200,         "gitems": [             {                 "itemid": "22828",                 "color": "00AA00"             },             {                 "itemid": "22829",                 "color": "3333FF"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "graphids": [             "652"         ]     },     "id": 1 } ```
es	#### Creando un prototipo de gráfico  Crea un prototipo de gráfico con dos métricas.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "graphprototype.create",     "params": {         "name": "Disk space usage {#FSNAME}",         "width": 900,         "height": 200,         "gitems": [             {                 "itemid": "22828",                 "color": "00AA00"             },             {                 "itemid": "22829",                 "color": "3333FF"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "graphids": [             "652"         ]     },     "id": 1 } ```

en-us	#### Creating a host  Create a host called "Linux server" with an IP interface and tags, add it to a group, link a template to it and set the MAC addresses in the host inventory.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "host.create",     "params": {         "host": "Linux server",         "interfaces": [             {                 "type": 1,                 "main": 1,                 "useip": 1,                 "ip": "192.168.3.1",                 "dns": "",                 "port": "10050"             }         ],         "groups": [             {                 "groupid": "50"             }         ],         "tags": [             {                 "tag": "Host name",                 "value": "Linux server"             }         ],         "templates": [             {                 "templateid": "20045"             }         ],         "macros": [             {                 "macro": "{$USER_ID}",                 "value": "123321"             },             {                 "macro": "{$USER_LOCATION}",                 "value": "0:0:0",                 "description": "latitude, longitude and altitude coordinates"             }         ],         "inventory_mode": 0,         "inventory": {             "macaddress_a": "01234",             "macaddress_b": "56768"         }     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "107819"         ]     },     "id": 1 } ```
es	#### Creando un equipo  Cree un equipo llamado "servidor Linux" con una interfaz IP y etiquetas, agregue a un grupo, vincularle una plantilla y configure las direcciones MAC en el inventario de equipo.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "host.create",     "params": {         "host": "Linux server",         "interfaces": [             {                 "type": 1,                 "main": 1,                 "useip": 1,                 "ip": "192.168.3.1",                 "dns": "",                 "port": "10050"             }         ],         "groups": [             {                 "groupid": "50"             }         ],         "tags": [             {                 "tag": "Host name",                 "value": "Linux server"             }         ],         "templates": [             {                 "templateid": "20045"             }         ],         "macros": [             {                 "macro": "{$USER_ID}",                 "value": "123321"             },             {                 "macro": "{$USER_LOCATION}",                 "value": "0:0:0",                 "description": "latitude, longitude and altitude coordinates"             }         ],         "inventory_mode": 0,         "inventory": {             "macaddress_a": "01234",             "macaddress_b": "56768"         }     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "107819"         ]     },     "id": 1 } ```

en-us	#### Creating a host group  Create a host group called "Linux servers".  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "hostgroup.create",     "params": {         "name": "Linux servers"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "groupids": [             "107819"         ]     },     "id": 1 } ```
es	#### Creando un grupo de equipos  Cree un grupo de equipos llamado "servidores Linux".  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "hostgroup.create",     "params": {         "name": "servidores Linux"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "groupids": [             "107819"         ]     },     "id": 1 } ```

en-us	#### Creating a host group  ::: noteimportant Only Super Admin users can create host groups. :::  To create a host group in Zabbix frontend, do the following:  -   Go to: *Data collection* → *Host groups* -   Click on *Create host group* in the upper right corner of the screen -   Enter the group name in the form  ![](../../../../assets/en/manual/config/host_group.png)  To create a nested host group, use the '/' forward slash separator, for example `Europe/Latvia/Riga/Zabbix servers`. You can create this group even if none of the three parent host groups (`Europe/Latvia/Riga/`) exist. In this case creating these parent host groups is up to the user; they will not be created automatically.<br>Leading and trailing slashes, several slashes in a row are not allowed. Escaping of '/' is not supported.
es	#### Creando un grupo de equipos  ::: noteimportant Solo los usuarios superadministradores pueden crear grupos de equipos. :::  Para crear un grupo de equipos en la interfaz de Zabbix, haga lo siguiente:  - Ir a: *Recopilación de datos* → *Grupos de equipos* - Haga clic en *Crear grupo de equipos* en la esquina superior derecha de la pantalla - Ingrese el nombre del grupo en el formulario.  ![](../../../../assets/en/manual/config/host_group.png)  Para crear un grupo de equipos anidados, utilice la barra diagonal '/', por ejemplo, "servidores de Europa/Letonia/Riga/Zabbix". Puede crear este grupo incluso si no existe ninguno de los tres grupos de equipos principales (`Europa/Letonia/Riga/`). En este caso, la creación de estos grupos de equipos principales depende del usuario; no se crearán automáticamente.<br>Barras iniciales y finales, no se permiten varias barras seguidas. No se admite el escape de '/'.

en-us	#### Creating a host inventory item  Create a Zabbix agent item to populate the host's "OS" inventory field.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {         "name": "uname",         "key_": "system.uname",         "hostid": "30021",         "type": 0,         "interfaceid": "30007",         "value_type": 1,         "delay": "10s",         "inventory_link": 5     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "24759"         ]     },     "id": 1 } ```
es	#### Creando un métrica de inventario de equipo  Cree una métrica de agente Zabbix para completar el campo de inventario "SO" del equipo.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {         "name": "uname",         "key_": "system.uname",         "hostid": "30021",         "type": 0,         "interfaceid": "30007",         "value_type": 1,         "delay": "10s",         "inventory_link": 5     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "24759"         ]     },     "id": 1 } ```

en-us	#### Creating a host macro  Create a host macro "{$SNMP\_COMMUNITY}" with the value "public" on host "10198".  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "usermacro.create",     "params": {         "hostid": "10198",         "macro": "{$SNMP_COMMUNITY}",         "value": "public"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "hostmacroids": [             "11"         ]     },     "id": 1 } ```
es	#### Creando una macro de equipo  Cree una macro de equipo "{$SNMP\_COMMUNITY}" con el valor "público" en el equipo "10198".  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "usermacro.create",     "params": {         "hostid": "10198",         "macro": "{$SNMP_COMMUNITY}",         "value": "public"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "hostmacroids": [             "11"         ]     },     "id": 1 } ```

en-us	#### Creating a host prototype  Create a host prototype "{\#VM.NAME}" on LLD rule "23542" with a group prototype "{\#HV.NAME}", tag pair "Datacenter": "{\#DATACENTER.NAME}" and custom SNMPv2 interface 127.0.0.1:161 with community {$SNMP\_COMMUNITY}. Link it to host group "2".  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "hostprototype.create",     "params": {         "host": "{#VM.NAME}",         "ruleid": "23542",         "custom_interfaces": "1",         "groupLinks": [             {                 "groupid": "2"             }         ],         "groupPrototypes": [             {                 "name": "{#HV.NAME}"             }         ],         "tags": [             {                 "tag": "Datacenter",                 "value": "{#DATACENTER.NAME}"             }         ],         "interfaces": [             {                 "main": "1",                 "type": "2",                 "useip": "1",                 "ip": "127.0.0.1",                 "dns": "",                 "port": "161",                 "details": {                     "version": "2",                     "bulk": "1",                     "community": "{$SNMP_COMMUNITY}"                 }             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "10103"         ]     },     "id": 1 } ```
es	#### Creando un prototipo de equipo  Cree un prototipo de equipo "{\#VM.NAME}" en la regla LLD "23542" con un grupo prototipo "{\#HV.NAME}", etiquetas "Datacenter": "{\#DATACENTER.NAME}" e interfaz SNMPv2 personalizada 127.0.0.1:161 con la comunidad {$SNMP\_COMMUNIDAD}. Vincúlelo al grupo de equipo "2".  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "hostprototype.create",     "params": {         "host": "{#VM.NAME}",         "ruleid": "23542",         "custom_interfaces": "1",         "groupLinks": [             {                 "groupid": "2"             }         ],         "groupPrototypes": [             {                 "name": "{#HV.NAME}"             }         ],         "tags": [             {                 "tag": "Datacenter",                 "value": "{#DATACENTER.NAME}"             }         ],         "interfaces": [             {                 "main": "1",                 "type": "2",                 "useip": "1",                 "ip": "127.0.0.1",                 "dns": "",                 "port": "161",                 "details": {                     "version": "2",                     "bulk": "1",                     "community": "{$SNMP_COMMUNITY}"                 }             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "10103"         ]     },     "id": 1 } ```

en-us	#### Creating a host with PSK encryption  Create a host called "PSK host" with PSK encryption configured. Note that the host has to be [pre-configured to use PSK](/manual/encryption/using_pre_shared_keys#configuring-psk-for-server-agent-communication-example).  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "host.create",     "params": {         "host": "PSK host",         "interfaces": [             {                 "type": 1,                 "ip": "192.168.3.1",                 "dns": "",                 "port": "10050",                 "useip": 1,                 "main": 1             }         ],         "groups": [             {                 "groupid": "2"             }         ],         "tls_accept": 2,         "tls_connect": 2,         "tls_psk_identity": "PSK 001",         "tls_psk": "1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "10590"         ]     },     "id": 1 } ```
es	#### Creando un equipo con cifrado PSK  Cree un equipo llamado "host PSK" con el cifrado PSK configurado. Tenga en cuenta que el equipo debe estar [preconfigurado para usar PSK](/manual/encryption/using_pre_shared_keys#configuring-psk-for-server-agent-communication-example).  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "host.create",     "params": {         "host": "PSK host",         "interfaces": [             {                 "type": 1,                 "ip": "192.168.3.1",                 "dns": "",                 "port": "10050",                 "useip": 1,                 "main": 1             }         ],         "groups": [             {                 "groupid": "2"             }         ],         "tls_accept": 2,         "tls_connect": 2,         "tls_psk_identity": "PSK 001",         "tls_psk": "1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "10590"         ]     },     "id": 1 } ```

en-us	#### Creating a host with SNMP interface  Create a host called "SNMP host" with an SNMPv3 interface with details.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "host.create",     "params": {         "host": "SNMP host",         "interfaces": [             {                 "type": 2,                 "main": 1,                 "useip": 1,                 "ip": "127.0.0.1",                 "dns": "",                 "port": "161",                 "details": {                     "version": 3,                     "bulk": 0,                     "securityname": "mysecurityname",                     "contextname": "",                     "securitylevel": 1                 }             }         ],         "groups": [             {                 "groupid": "4"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "10658"         ]     },     "id": 1 } ```
es	#### Creando un equipo con interfaz SNMP  Cree un equipo llamado "host SNMP" con una interfaz SNMPv3 con detalles.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "host.create",     "params": {         "host": "SNMP host",         "interfaces": [             {                 "type": 2,                 "main": 1,                 "useip": 1,                 "ip": "127.0.0.1",                 "dns": "",                 "port": "161",                 "details": {                     "version": 3,                     "bulk": 0,                     "securityname": "mysecurityname",                     "contextname": "",                     "securitylevel": 1                 }             }         ],         "groups": [             {                 "groupid": "4"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "10658"         ]     },     "id": 1 } ```

en-us	#### Creating a LLD rule with macro paths  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.create",     "params": {         "name": "LLD rule with LLD macro paths",         "key_": "lld",         "hostid": "10116",         "type": 0,         "interfaceid": "13",         "delay": "30s",         "lld_macro_paths": [             {                 "lld_macro": "{#MACRO1}",                 "path": "$.path.1"             },             {                 "lld_macro": "{#MACRO2}",                 "path": "$.path.2"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "27665"         ]     },     "id": 1 } ```
es	#### Creando una regla LLD con rutas de macro  [Solicitud](/manual/api#performing-requests):  ```json { "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "name": "LLD rule with LLD macro paths", "key_": "lld", "hostid": "10116", "type": 0, "interfaceid": "13", "delay": "30s", "lld_macro_paths": [ { "lld_macro": "{#MACRO1}", "path": "$.path.1" }, { "lld_macro": "{#MACRO2}", "path": "$.path.2" } ] }, "id": 1 } ```  Respuesta:  ```json { "jsonrpc": "2.0", "result": { "itemids": [ "27665" ] }, "id": 1 } ```

en-us	#### Creating a LLD rule with overrides  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.create",     "params": {         "name": "Discover database host",         "key_": "lld.with.overrides",         "hostid": "10001",         "type": 0,         "value_type": 3,         "delay": "60s",         "interfaceid": "1155",         "overrides": [             {                 "name": "Discover MySQL host",                 "step": "1",                 "stop": "1",                 "filter": {                     "evaltype": "2",                     "conditions": [                         {                             "macro": "{#UNIT.NAME}",                             "operator": "8",                             "value": "^mysqld\\.service$"                         },                         {                             "macro": "{#UNIT.NAME}",                             "operator": "8",                             "value": "^mariadb\\.service$"                         }                     ]                 },                 "operations": [                     {                         "operationobject": "3",                         "operator": "2",                         "value": "Database host",                         "opstatus": {                             "status": "0"                         },                         "optemplate": [                             {                                 "templateid": "10170"                             }                         ],                         "optag": [                             {                                 "tag": "Database",                                 "value": "MySQL"                             }                         ]                     }                 ]             },             {                 "name": "Discover PostgreSQL host",                 "step": "2",                 "stop": "1",                 "filter": {                     "evaltype": "0",                     "conditions": [                         {                             "macro": "{#UNIT.NAME}",                             "operator": "8",                             "value": "^postgresql\\.service$"                         }                     ]                 },                 "operations": [                     {                         "operationobject": "3",                         "operator": "2",                         "value": "Database host",                         "opstatus": {                             "status": "0"                         },                         "optemplate": [                             {                                 "templateid": "10263"                             }                         ],                         "optag": [                             {                                 "tag": "Database",                                 "value": "PostgreSQL"                             }                         ]                     }                 ]             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "30980"         ]     },     "id": 1 } ```
es	#### Creando una regla LLD con anulaciones  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.create",     "params": {         "name": "Discover database host",         "key_": "lld.with.overrides",         "hostid": "10001",         "type": 0,         "value_type": 3,         "delay": "60s",         "interfaceid": "1155",         "overrides": [             {                 "name": "Discover MySQL host",                 "step": "1",                 "stop": "1",                 "filter": {                     "evaltype": "2",                     "conditions": [                         {                             "macro": "{#UNIT.NAME}",                             "operator": "8",                             "value": "^mysqld\\.service$"                         },                         {                             "macro": "{#UNIT.NAME}",                             "operator": "8",                             "value": "^mariadb\\.service$"                         }                     ]                 },                 "operations": [                     {                         "operationobject": "3",                         "operator": "2",                         "value": "Database host",                         "opstatus": {                             "status": "0"                         },                         "optemplate": [                             {                                 "templateid": "10170"                             }                         ],                         "optag": [                             {                                 "tag": "Database",                                 "value": "MySQL"                             }                         ]                     }                 ]             },             {                 "name": "Discover PostgreSQL host",                 "step": "2",                 "stop": "1",                 "filter": {                     "evaltype": "0",                     "conditions": [                         {                             "macro": "{#UNIT.NAME}",                             "operator": "8",                             "value": "^postgresql\\.service$"                         }                     ]                 },                 "operations": [                     {                         "operationobject": "3",                         "operator": "2",                         "value": "Database host",                         "opstatus": {                             "status": "0"                         },                         "optemplate": [                             {                                 "templateid": "10263"                             }                         ],                         "optag": [                             {                                 "tag": "Database",                                 "value": "PostgreSQL"                             }                         ]                     }                 ]             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "30980"         ]     },     "id": 1 } ```

en-us	#### Creating a LLD rule with preprocessing  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.create",     "params": {         "name": "Discovery rule with preprocessing",         "key_": "lld.with.preprocessing",         "hostid": "10001",         "ruleid": "27665",         "type": 0,         "value_type": 3,         "delay": "60s",         "interfaceid": "1155",         "preprocessing": [             {                 "type": 20,                 "params": "20",                 "error_handler": 0,                 "error_handler_params": ""             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "44211"         ]     },     "id": 1 } ```
es	#### Creando una regla LLD con preprocesamiento  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.create",     "params": {         "name": "Discovery rule with preprocessing",         "key_": "lld.with.preprocessing",         "hostid": "10001",         "ruleid": "27665",         "type": 0,         "value_type": 3,         "delay": "60s",         "interfaceid": "1155",         "preprocessing": [             {                 "type": 20,                 "params": "20",                 "error_handler": 0,                 "error_handler_params": ""             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "44211"         ]     },     "id": 1 } ```

en-us	#### Creating a maintenance  Create a maintenance with data collection for host group with ID "2" and with problem tags **service:mysqld** and **error**. It must be active from 22.01.2013 till 22.01.2014, come in effect each Sunday at 18:00 and last for one hour.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "maintenance.create",     "params": {         "name": "Sunday maintenance",         "active_since": 1358844540,         "active_till": 1390466940,         "tags_evaltype": 0,         "groups": [             {"groupid": "2"}         ],         "timeperiods": [             {                 "period": 3600,                 "timeperiod_type": 3,                 "start_time": 64800,                 "every": 1,                 "dayofweek": 64             }         ],         "tags": [             {                 "tag": "service",                 "operator": "0",                 "value": "mysqld"             },             {                 "tag": "error",                 "operator": "2",                 "value": ""             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "maintenanceids": [             "3"         ]     },     "id": 1 } ```
es	#### Creando un mantenimiento  Cree un mantenimiento con recopilación de datos para el grupo de equipos con ID "2" y con etiquetas de problema **service:mysqld** y **error**. Debe estar activo desde 22.01.2013 al 22.01.2014, entra en vigor cada domingo a las 18:00 durante una hora.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "maintenance.create",     "params": {         "name": "Sunday maintenance",         "active_since": 1358844540,         "active_till": 1390466940,         "tags_evaltype": 0,         "groups": [             {"groupid": "2"}         ],         "timeperiods": [             {                 "period": 3600,                 "timeperiod_type": 3,                 "start_time": 64800,                 "every": 1,                 "dayofweek": 64             }         ],         "tags": [             {                 "tag": "service",                 "operator": "0",                 "value": "mysqld"             },             {                 "tag": "error",                 "operator": "2",                 "value": ""             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "maintenanceids": [             "3"         ]     },     "id": 1 } ```

en-us	#### Creating a map  To create a map, do the following:  -   Go to *Monitoring → Maps* -   Go to the view with all maps -   Click on *Create map*  You can also use the *Clone* and *Full clone* buttons in the configuration form of an existing map to create a new map. Clicking on *Clone* will retain general layout attributes of the original map, but no elements. *Full clone* will retain both the general layout attributes and all elements of the original map.  The **Map** tab contains general map attributes:  ![](../../../../../assets/en/manual/config/visualization/map_config.png)  All mandatory input fields are marked with a red asterisk.  General map attributes:  |Parameter|Description| |--|--------| |*Owner*|Name of map owner.| |*Name*|Unique map name.| |*Width*|Map width in pixels.| |*Height*|Map height in pixels.| |*Background image*|Use background image:<br>**No image** - no background image (white background)<br>**Image** - selected image to be used as a background image. No scaling is performed. You may use a geographical map or any other image to enhance your map.| |*Automatic icon mapping*|You can set to use an automatic icon mapping, configured in *Administration → General → Icon mapping*. Icon mapping allows mapping certain icons against certain host inventory fields.| |*Icon highlighting*|If you check this box, map elements will receive highlighting.<br>Elements with an active trigger will receive a round background, in the same color as the highest severity trigger. Moreover, a thick green line will be displayed around the circle, if all problems are acknowledged.<br>Elements with "disabled" or "in maintenance" status will get a square background, gray and orange respectively.<br>See also: [Viewing maps](/manual/web_interface/frontend_sections/monitoring/maps#viewing_maps)| |*Mark elements on trigger status change*|A recent change of trigger status (recent problem or resolution) will be highlighted with markers (inward-pointing red triangles) on the three sides of the element icon that are free of the label. Markers are displayed for 30 minutes.| |*Display problems*|Select how problems are displayed with a map element:<br>**Expand single problem** - if there is only one problem, the problem name is displayed. Otherwise, the total number of problems is displayed.<br>**Number of problems** - the total number of problems is displayed<br>**Number of problems and expand most critical one** - the name of the most critical problem and the total number of problems is displayed.<br>'Most critical' is determined based on problem severity and, if equal, problem event ID (higher ID or later problem displayed first). For a *trigger map element* it is based on problem severity and if equal, trigger position in the trigger list. In case of multiple problems of the same trigger, the most recent one will be displayed.| |*Advanced labels*|If you check this box you will be able to define separate label types for separate element types.| |*Map element label type*|Label type used for map elements:<br>**Label** - map element label<br>**IP address** - IP address<br>**Element name** - element name (for example, host name)<br>**Status only** - status only (OK or PROBLEM)<br>**Nothing** - no labels are displayed| |*Map element label location*|Label location in relation to the map element:<br>**Bottom** - beneath the map element<br>**Left** - to the left<br>**Right** - to the right<br>**Top** - above the map element| |*Problem display*|Display problem count as:<br>**All** - full problem count will be displayed<br>**Separated** - unacknowledged problem count will be displayed separated as a number of the total problem count<br>**Unacknowledged only** - only the unacknowledged problem count will be displayed| |*Minimum trigger severity*|Problems below the selected minimum severity level will not be displayed on the map.<br>For example, with *Warning* selected, changes with *Information* and *Not classified* level triggers will not be reflected in the map.<br>This parameter is supported starting with Zabbix 2.2.| |*Show suppressed problems*|Mark the checkbox to display problems that would otherwise be suppressed (not shown) because of host maintenance.| |*URLs*|URLs for each element type can be defined (with a label). These will be displayed as links when a user clicks on the element in the map viewing mode.<br>Macros can be used in map URL names and values. For a full list, see [supported macros](/manual/appendix/macros/supported_by_location) and search for 'map URL names and values'.|
es	#### Creando un mapa  Para crear un mapa, haga lo siguiente:  - Ir a *Monitoreo → Mapas* - Ir a la vista con todos los mapas - Haz clic en *Crear mapa*  También puede usar los botones *Clonar* y *Clonar completo* en el formulario de configuración de un mapa existente para crear un nuevo mapa. haciendo clic en *Clone* conservará los atributos generales de diseño del mapa original, pero sin elementos *Clon completo* conservará los atributos de diseño general y todos los elementos del mapa original.  La pestaña **Mapa** contiene atributos generales del mapa:  ![](../../../../../assets/en/manual/config/visualization/map_config.png)  Todos los campos de entrada obligatorios están marcados con un asterisco rojo.  Atributos generales del mapa:  |Parámetro|Descripción| |--|--------| |*Propietario*|Nombre del propietario del mapa.| |*Nombre*|Nombre único del mapa.| |*Ancho*|Ancho del mapa en píxeles.| |*Altura*|Altura del mapa en píxeles.| |*Imagen de fondo*|Usar imagen de fondo:<br>**Sin imagen**: sin imagen de fondo (fondo blanco)<br>**Imagen**: imagen seleccionada para usar como imagen de fondo. No se realiza escalado. Puede utilizar un mapa geográfico o cualquier otra imagen para mejorar su mapa.| |*Asignación automática de iconos*|Puede configurar el uso de una asignación automática de iconos, configurada en *Administración → General → Asignación de iconos*. El mapeo de íconos permite mapear ciertos íconos contra ciertos campos de inventario de host.| |*Icono resaltado*|Si marca esta casilla, los elementos del mapa se resaltarán.<br>Los elementos con un activador activo recibirán un fondo redondo, del mismo color que el activador de mayor gravedad. Además, se mostrará una línea verde gruesa alrededor del círculo, si se reconocen todos los problemas.<br>Los elementos con el estado "deshabilitado" o "en mantenimiento" tendrán un fondo cuadrado, gris y naranja respectivamente.<br>Ver también: [Ver mapas](/manual/web_interface/frontend_sections/monitoring/maps#viewing_maps)| |*Marcar elementos en el cambio de estado del activador*|Un cambio reciente del estado del activador (problema o resolución reciente) se resaltará con marcadores (triángulos rojos que apuntan hacia adentro) en los tres lados del icono del elemento que no tienen la etiqueta. Los marcadores se muestran durante 30 minutos.| |*Mostrar problemas*|Seleccione cómo se muestran los problemas con un elemento del mapa:<br>**Expandir un solo problema**: si solo hay un problema, se muestra el nombre del problema. De lo contrario, se muestra el número total de problemas.<br>**Número de problemas**: se muestra el número total de problemas<br>**Número de problemas y expandir el más crítico**: el nombre del más crítico problema y se muestra el número total de problemas.<br>'Más crítico' se determina según la gravedad del problema y, si es igual, el ID del evento del problema (el ID más alto o el problema posterior se muestra primero). Para un *elemento de mapa de activación*, se basa en la gravedad del problema y, si es igual, la posición de activación en la lista de activación. En caso de múltiples problemas del mismo activador, se mostrará el más reciente.| |*Etiquetas avanzadas*|Si marca esta casilla, podrá definir tipos de etiquetas independientes para tipos de elementos independientes.| |*Tipo de etiqueta de elemento de mapa*|Tipo de etiqueta utilizada para elementos de mapa:<br>**Etiqueta** - etiqueta de elemento de mapa<br>**Dirección IP** - Dirección IP<br>**Nombre de elemento** - elemento nombre (por ejemplo, nombre de host)<br>**Solo estado**: solo estado (OK o PROBLEMA)<br>**Nada**: no se muestran etiquetas| |*Ubicación de la etiqueta del elemento del mapa*|Ubicación de la etiqueta en relación con el elemento del mapa:<br>**Inferior**: debajo del elemento del mapa<br>**Izquierda**: a la izquierda<br>**Derecha** - a la derecha<br>**Arriba** - encima del elemento del mapa| |*Visualización de problemas*|Mostrar recuento de problemas como:<br>**Todos**: se mostrará el recuento completo de problemas<br>**Separados**: el recuento de problemas no reconocidos se mostrará separado como un número del recuento total de problemas <br>**Solo no reconocidos**: solo se mostrará el número de problemas no reconocidos| |*Gravedad mínima del disparador*|Los problemas por debajo del nivel de gravedad mínimo seleccionado no se mostrarán en el mapa.<br>Por ejemplo, con *Advertencia* seleccionada, los cambios con disparadores de nivel *Información* y *No clasificado* no se reflejarán en el mapa.<br>Este parámetro es compatible a partir de Zabbix 2.2.| |*Mostrar problemas suprimidos*|Marque la casilla de verificación para mostrar los problemas que, de otro modo, se suprimirían (no se mostrarían) debido al mantenimiento del host.| |*URLs*|Se pueden definir URLs para cada tipo de elemento (con una etiqueta). Estos se mostrarán como enlaces cuando un usuario haga clic en el elemento en el modo de visualización del mapa.<br>Las macros se pueden usar en los nombres y valores de URL del mapa. Para obtener una lista completa, consulte [macros compatibles](/manual/appendix/macros/supported_by_location) y busque 'asignar nombres y valores de URL'.|

en-us	#### Creating an email media type  Create a new email media type with a custom SMTP port and message templates.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "mediatype.create",     "params": {         "type": "0",         "name": "Email",         "smtp_server": "mail.example.com",         "smtp_helo": "example.com",         "smtp_email": "zabbix@example.com",         "smtp_port": "587",         "content_type": "1",         "message_templates": [             {                 "eventsource": "0",                 "recovery": "0",                 "subject": "Problem: {EVENT.NAME}",                 "message": "Problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" started at {EVENT.TIME}."             },             {                 "eventsource": "0",                 "recovery": "1",                 "subject": "Resolved in {EVENT.DURATION}: {EVENT.NAME}",                 "message": "Problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}."             },             {                 "eventsource": "0",                 "recovery": "2",                 "subject": "Updated problem in {EVENT.AGE}: {EVENT.NAME}",                 "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}."             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "mediatypeids": [             "7"         ]     },     "id": 1 } ```
es	#### Crear un tipo de medio de correo electrónico  Cree un nuevo tipo de medio de correo electrónico con un puerto SMTP personalizado y una plantilla de mensaje.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "mediatype.create",     "params": {         "type": "0",         "name": "Email",         "smtp_server": "mail.example.com",         "smtp_helo": "example.com",         "smtp_email": "zabbix@example.com",         "smtp_port": "587",         "content_type": "1",         "message_templates": [             {                 "eventsource": "0",                 "recovery": "0",                 "subject": "Problem: {EVENT.NAME}",                 "message": "Problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" started at {EVENT.TIME}."             },             {                 "eventsource": "0",                 "recovery": "1",                 "subject": "Resolved in {EVENT.DURATION}: {EVENT.NAME}",                 "message": "Problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}."             },             {                 "eventsource": "0",                 "recovery": "2",                 "subject": "Updated problem in {EVENT.AGE}: {EVENT.NAME}",                 "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}."             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "mediatypeids": [             "7"         ]     },     "id": 1 } ```

en-us	#### Creating a new global regular expression.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "regexp.create",     "params": {       "name": "Storage devices for SNMP discovery",       "test_string": "/boot",       "expressions": [         {           "expression": "^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$",           "expression_type": "4",           "case_sensitive": "1"         }       ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "regexpids": [             "16"         ]     },     "id": 1 } ```
es	#### Creando una nueva expresión regular global.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "regexp.create",     "params": {       "name": "Storage devices for SNMP discovery",       "test_string": "/boot",       "expressions": [         {           "expression": "^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$",           "expression_type": "4",           "case_sensitive": "1"         }       ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "regexpids": [             "16"         ]     },     "id": 1 } ```

en-us	#### Creating a new item  Now, create a new [item](/manual/api/reference/item/object) on the host "Zabbix server" using the data you have obtained from the previous `host.get` request. This can be done using the [item.create](/manual/api/reference/item/create) method:  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"item.create","params":{"name":"Free disk space on /home/joe/","key_":"vfs.fs.size[/home/joe/,free]","hostid":"10084","type":0,"value_type":3,"interfaceid":"1","delay":30},"id":3}' ```  A successful response will contain the ID of the newly created item, which can be used to reference the item in the following requests:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "24759"         ]     },     "id": 3 } ```  ::: notetip The `item.create` method as well as other *create methods* can also accept arrays of objects and create multiple items with one API call. :::
es	#### Creando una nueva métrica  Ahora, cree una nueva [métrica](/manual/api/reference/item/object) en el equipo "Zabbix server" usando los datos que ha obtenido del `host.get` en la solicitud anterior. Esto se puede hacer usando el método [item.create](/manual/api/reference/item/create):  ```bash curl --request POST \ --url 'https://example.com/zabbix/api_jsonrpc.php' \ --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \ --header 'Content-Type: application/json-rpc' \ --data '{"jsonrpc":"2.0","method":"item.create","params":{"name":"Free disk space on /home/joe/","key_":"vfs.fs.size[/home/joe/,free]","hostid":"10084","type":0,"value_type":3,"interfaceid":"1","delay":30},"id":3}' ```  Una respuesta exitosa contendrá el ID de la métrica recién creada, que se puede utilizar para hacer referencia a la métrica en las siguientes solicitudes:  ```json { "jsonrpc": "2.0", "result": { "itemids": [ "24759" ] }, "id": 3 } ```  ::: notetip El método `item.create` así como otros *métodos de creación* también  pueden aceptar matrices de objetos y crear varios elementos con una única llamada a la API. :::

en-us	#### Creating an item  Create a numeric Zabbix agent item with 2 item tags to monitor free disk space on host with ID "30074".  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {         "name": "Free disk space on /home/joe/",         "key_": "vfs.fs.size[/home/joe/,free]",         "hostid": "30074",         "type": 0,         "value_type": 3,         "interfaceid": "30084",         "tags": [             {                 "tag": "Disk usage"             },             {                 "tag": "Equipment",                 "value": "Workstation"             }         ],         "delay": "30s"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "24758"         ]     },     "id": 1 } ```
es	#### Creando una métrica  Cree una métrica numérica de agente de Zabbix con 2 etiquetas de métrica para monitorear el espacio libre en disco en el host con ID "30074".  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {         "name": "Free disk space on /home/joe/",         "key_": "vfs.fs.size[/home/joe/,free]",         "hostid": "30074",         "type": 0,         "value_type": 3,         "interfaceid": "30084",         "tags": [             {                 "tag": "Disk usage"             },             {                 "tag": "Equipment",                 "value": "Workstation"             }         ],         "delay": "30s"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "24758"         ]     },     "id": 1 } ```

en-us	#### Creating an item prototype  Create an item prototype to monitor free disk space on a discovered file system. Discovered items should be numeric Zabbix agent items updated every 30 seconds.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "itemprototype.create",     "params": {         "name": "Free disk space on {#FSNAME}",         "key_": "vfs.fs.size[{#FSNAME},free]",         "hostid": "10197",         "ruleid": "27665",         "type": 0,         "value_type": 3,         "interfaceid": "112",         "delay": "30s"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "27666"         ]     },     "id": 1 } ```
es	#### Creando un prototipo de métrica  Cree un prototipo de métrica para monitorear el espacio libre en disco en un sistema de  archivos descubierto. Las métricas descubiertas deben ser métricas numéricas del agente Zabbix actualizados cada 30 segundos.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "itemprototype.create",     "params": {         "name": "Free disk space on {#FSNAME}",         "key_": "vfs.fs.size[{#FSNAME},free]",         "hostid": "10197",         "ruleid": "27665",         "type": 0,         "value_type": 3,         "interfaceid": "112",         "delay": "30s"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "27666"         ]     },     "id": 1 } ```

en-us	#### Creating an item prototype with preprocessing  Create an item using change per second and a custom multiplier as a second step.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "itemprototype.create",     "params": {         "name": "Incoming network traffic on {#IFNAME}",         "key_": "net.if.in[{#IFNAME}]",         "hostid": "10001",         "ruleid": "27665",         "type": 0,         "value_type": 3,         "delay": "60s",         "units": "bps",         "interfaceid": "1155",         "preprocessing": [             {                 "type": 10,                 "params": "",                 "error_handler": 0,                 "error_handler_params": ""             },             {                 "type": 1,                 "params": "8",                 "error_handler": 2,                 "error_handler_params": "10"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "44211"         ]     },     "id": 1 } ```
es	#### Creando un prototipo de métrica con preprocesamiento  Crea una métrica usando el cambio por segundo y un multiplicador personalizado como segundo paso.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "itemprototype.create",     "params": {         "name": "Incoming network traffic on {#IFNAME}",         "key_": "net.if.in[{#IFNAME}]",         "hostid": "10001",         "ruleid": "27665",         "type": 0,         "value_type": 3,         "delay": "60s",         "units": "bps",         "interfaceid": "1155",         "preprocessing": [             {                 "type": 10,                 "params": "",                 "error_handler": 0,                 "error_handler_params": ""             },             {                 "type": 1,                 "params": "8",                 "error_handler": 2,                 "error_handler_params": "10"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "44211"         ]     },     "id": 1 } ```

en-us	#### Creating an item with preprocessing  Create an item using custom multiplier.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {         "name": "Device uptime",         "key_": "sysUpTime",         "hostid": "11312",         "type": 4,         "snmp_oid": "SNMPv2-MIB::sysUpTime.0",         "value_type": 1,         "delay": "60s",         "units": "uptime",         "interfaceid": "1156",         "preprocessing": [             {                 "type": 1,                 "params": "0.01",                 "error_handler": 1,                 "error_handler_params": ""             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "44210"         ]     },     "id": 1 } ```
es	#### Creando una métrica con preprocesamiento  Crea una métrica usando un multiplicador personalizado.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {         "name": "Device uptime",         "key_": "sysUpTime",         "hostid": "11312",         "type": 4,         "snmp_oid": "SNMPv2-MIB::sysUpTime.0",         "value_type": 1,         "delay": "60s",         "units": "uptime",         "interfaceid": "1156",         "preprocessing": [             {                 "type": 1,                 "params": "0.01",                 "error_handler": 1,                 "error_handler_params": ""             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "44210"         ]     },     "id": 1 } ```

en-us	#### Creating an LLD rule  Create a Zabbix agent LLD rule to discover mounted file systems. Discovered items will be updated every 30 seconds.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "discoveryrule.create",     "params": {         "name": "Mounted filesystem discovery",         "key_": "vfs.fs.discovery",         "hostid": "10197",         "type": 0,         "interfaceid": "112",         "delay": "30s"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "27665"         ]     },     "id": 1 } ```
es	#### Creando una regla LLD  Cree una regla LLD del agente Zabbix para descubrir sistemas de archivos montados. Las métricas descubiertas se actualizarán cada 30 segundos.  [Solicitud](/manual/api#performing-requests):  ```json { "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "name": "Mounted filesystem discovery", "key_": "vfs.fs.discovery", "hostid": "10197", "type": 0, "interfaceid": "112", "delay": "30s" }, "id": 1 } ```  Respuesta:  ```json { "jsonrpc": "2.0", "result": { "itemids": [ "27665" ] }, "id": 1 } ```

en-us	#### Creating an SLA  Instruct to create an SLA entry for: * tracking uptime for SQL-engine related services; * custom schedule of all weekdays excluding last hour on Saturday; * an effective date of the last day of the year 2022; * with 1 hour and 15 minutes long planned downtime starting at midnight on the 4th of July; * SLA weekly report calculation will be on; * the minimum acceptable SLO will be 99.9995%.
es	#### Creando un SLA  Desea crear una entrada SLA para: * seguimiento del tiempo de actividad de los servicios relacionados con el motor SQL; * horario personalizado de todos los días de la semana excepto la última hora del sábado; * una fecha de vigencia del último día del año 2022; * con un tiempo de inactividad planificado de 1 hora y 15 minutos a partir de la medianoche del 4 de julio; * El cálculo del informe semanal del SLA estará activado; * el SLO mínimo aceptable será 99,9995%.

en-us	 ##### Creating application  1\. Log into your account at [Microsoft Azure](https://portal.azure.com). For testing purposes, you may create a free trial account in Microsoft Azure.  2\. From the main menu (see top left of the screen) select *Azure Active Directory*.  3\. Select *Enterprise applications* -> *Add new application* -> *Create your own application*.  4\. Add the name of your app and select the *Integrate any other application...* option. After that, click on *Create*.  ![](../../../../assets/en/manual/appendix/install/azure_create_app.png){width="600"}
es	 ##### Creando aplicación  1\. Inicie sesión en su cuenta en [Microsoft Azure](https://portal.azure.com). Para fines de prueba, puede crear una cuenta de prueba gratuita en Microsoft Azure.  2\. En el menú principal (ver parte superior izquierda de la pantalla), seleccione *Azure Active Directory*.  3\. Seleccione *Aplicaciones empresariales* -> *Agregar nueva aplicación* -> *Crea tu propia aplicación*.  4\. Añada el nombre de su aplicación y seleccione la opción *Integrar cualquier otra aplicación...*. Después de eso, haga clic en *Crear*.  ![](../../../../assets/en/manual/appendix/install/azure_create_app.png){width="600"}

en-us	 ##### Creating application  1\. Log into your account at OneLogin. For testing purposes, you may create a free developer account in OneLogin.  2\. In the OneLogin web interface navigate to *Applications → Applications*.  3\. Click on "Add App" and search for the appropriate app. The guidelines in this page are based on the *SCIM Provisioner with SAML (SCIM v2 Enterprise, full SAML)* app example.  4\. To begin with, you may want to customize the display name of your app. You may also want to add the icon and app details. After that, click on *Save*.
es	 ##### Creando aplicación  1\. Inicie sesión en su cuenta en OneLogin. Para fines de prueba, puede crear una cuenta de desarrollador gratuita en OneLogin.  2\. En la interfaz web de OneLogin, navegue hasta *Aplicaciones → Aplicaciones*.  3\. Haga clic en "Agregar aplicación" y busque la aplicación adecuada. Las pautas de esta página se basan en el ejemplo de aplicación *SCIM Provisioner con SAML (SCIM v2 Enterprise, SAML completo)*.  4\. Para empezar, es posible que desee personalizar el nombre a mostrar de su aplicación. Es posible que también desee agregar el ícono y los detalles de la aplicación. Después de eso, haga clic en *Guardar*.

en-us	#### Creating a role  Create a role with type "User" and denied access to two UI elements.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "role.create",     "params": {         "name": "Operator",         "type": "1",         "rules": {             "ui": [                 {                     "name": "monitoring.hosts",                     "status": "0"                 },                 {                     "name": "monitoring.maps",                     "status": "0"                 }             ]         }     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "roleids": [             "5"         ]     },     "id": 1 } ```
es	#### Creando un rol  Cree un rol con el tipo "Usuario" y acceso denegado a dos elementos de la interfaz de usuario.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "role.create",     "params": {         "name": "Operator",         "type": "1",         "rules": {             "ui": [                 {                     "name": "monitoring.hosts",                     "status": "0"                 },                 {                     "name": "monitoring.maps",                     "status": "0"                 }             ]         }     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "roleids": [             "5"         ]     },     "id": 1 } ```

en-us	#### Creating a scheduled report  Create a weekly report that will be prepared for the previous week every Monday-Friday at 12:00 from 2021-04-01 to 2021-08-31.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "report.create",     "params": {         "userid": "1",         "name": "Weekly report",         "dashboardid": "1",         "period": "1",         "cycle": "1",         "start_time": "43200",         "weekdays": "31",         "active_since": "2021-04-01",         "active_till": "2021-08-31",         "subject": "Weekly report",         "message": "Report accompanying text",         "status": "1",         "description": "Report description",         "users": [             {                 "userid": "1",                 "access_userid": "1",                 "exclude": "0"             },             {                 "userid": "2",                 "access_userid": "0",                 "exclude": "1"             }         ],         "user_groups": [             {                 "usrgrpid": "7",                 "access_userid": "0"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "reportids": [             "1"         ]     },     "id": 1 } ```
es	#### Creando un informe programado  Crear un informe semanal que se preparará para la semana anterior de lunes a viernes a las 12:00 horas del 01-04-2021 al 31-08-2021.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "report.create",     "params": {         "userid": "1",         "name": "Weekly report",         "dashboardid": "1",         "period": "1",         "cycle": "1",         "start_time": "43200",         "weekdays": "31",         "active_since": "2021-04-01",         "active_till": "2021-08-31",         "subject": "Weekly report",         "message": "Report accompanying text",         "status": "1",         "description": "Report description",         "users": [             {                 "userid": "1",                 "access_userid": "1",                 "exclude": "0"             },             {                 "userid": "2",                 "access_userid": "0",                 "exclude": "1"             }         ],         "user_groups": [             {                 "usrgrpid": "7",                 "access_userid": "0"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "reportids": [             "1"         ]     },     "id": 1 } ```