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

en-us	#### Creating a script media type  Create a new script media type with a custom value for the number of attempts and the interval between them.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "mediatype.create",     "params": {         "type": "1",         "name": "Push notifications",         "exec_path": "push-notification.sh",         "maxattempts": "5",         "attempt_interval": "11s",         "parameters": [             {                 "sortorder": "0",                 "value": "{ALERT.SENDTO}"             },             {                 "sortorder": "1",                 "value": "{ALERT.SUBJECT}"             },             {                 "sortorder": "2",                 "value": "{ALERT.MESSAGE}"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "mediatypeids": [             "8"         ]     },     "id": 1 } ```
es	#### Creando un tipo de medio de secuencia de comandos  Cree un nuevo tipo de medio de secuencia de comandos con un valor personalizado para el número de intentos y el intervalo entre ellos.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "mediatype.create",     "params": {         "type": "1",         "name": "Push notifications",         "exec_path": "push-notification.sh",         "maxattempts": "5",         "attempt_interval": "11s",         "parameters": [             {                 "sortorder": "0",                 "value": "{ALERT.SENDTO}"             },             {                 "sortorder": "1",                 "value": "{ALERT.SUBJECT}"             },             {                 "sortorder": "2",                 "value": "{ALERT.MESSAGE}"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "mediatypeids": [             "8"         ]     },     "id": 1 } ```

en-us	#### Creating a service  Create a service that will be switched to problem state, if at least one child has a problem.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "service.create",     "params": {         "name": "Server 1",         "algorithm": 1,         "sortorder": 1     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "serviceids": [             "5"         ]     },     "id": 1 } ```
es	#### Creando un servicio  Cree un servicio que cambiará al estado de problema, si al menos un servicio dependiente tiene un problema.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "service.create",     "params": {         "name": "Server 1",         "algorithm": 1,         "sortorder": 1     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "serviceids": [             "5"         ]     },     "id": 1 } ```

en-us	#### Creating a slideshow  A slideshow will run automatically if the dashboard contains two or more pages (see [Adding pages](#adding_pages)) and if one of the following is true:  -   The *Start slideshow automatically* option is marked in dashboard     properties -   The dashboard URL contains a `slideshow=1` parameter  The pages rotate according to the intervals given in the properties of the dashboard and individual pages. Click on:  -   *Stop slideshow* - to stop the slideshow -   *Start slideshow* - to start the slideshow  ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/dashboard_page_tabs.png)  Slideshow-related controls are also available in [kiosk mode](#viewing_and_editing_a_dashboard) (where only the page content is shown):  -   ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/slideshow_stop_kiosk.png) -     stop slideshow -   ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/slideshow_start_kiosk.png) -     start slideshow -   ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/slideshow_back_kiosk.png) -     go back one page -   ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/slideshow_next_kiosk.png) -     go to the next page
es	#### Creando una presentación de diapositivas  Se ejecutará una presentación de diapositivas automáticamente si el tablero contiene dos o más páginas (ver [Agregar páginas](#adding_pages)) y se cumple uno de los siguientes:  - La opción *Iniciar presentación de diapositivas automáticamente* está marcada en las     propiedades del tablero - La URL del panel contiene un parámetro `slideshow=1`  Las páginas rotan según los intervalos indicados en las propiedades del tablero y las páginas individuales. Haga clic en:  -   *Detener presentación de diapositivas* - para detener la presentación de diapositivas -   *Iniciar presentación de diapositivas* - para iniciar la presentación de diapositivas  ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/dashboard_page_tabs.png)  Los controles relacionados con la presentación de diapositivas también están disponibles en [el modo kiosko](#viewing_and_editing_a_dashboard) (donde solo se muestra el contenido de la página):  - ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/slideshow_stop_kiosk.png) -     detener la presentación de diapositivas - ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/slideshow_start_kiosk.png) -     Empezar la presentación de diapositivas - ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/slideshow_back_kiosk.png) -     ir a la página anterior - ![](../../../../assets/en/manual/web_interface/frontend_sections/dashboards/slideshow_next_kiosk.png) -     ir a la página siguiente

en-us	#### Creating a task  Create a task `Execute now` for two items. One is an item, the other is a low-level discovery rule.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "task.create",     "params": [         {             "type": 6,             "request": {                 "itemid": "10092"             }         },         {             "type": 6,             "request": {                 "itemid": "10093"             }         }     ],     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "taskids": [             "1",             "2"         ]     },     "id": 1 } ```  Create a task `Refresh proxy configuration` for two proxies.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "task.create",     "params": [         {             "type": 2,             "request": {                 "proxy_hostids": ["10459", "10460"]             }         }     ],     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "taskids": [             "1"         ]     },     "id": 1 } ```  Create a task `diagnostic information`.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "task.create",     "params": [         {             "type": 1,             "request": {                 "alerting": {                     "stats": [                         "alerts"                     ],                     "top": {                         "media.alerts": 10                     }                 },                 "lld": {                     "stats": "extend",                     "top": {                         "values": 5                     }                 }             },             "proxy_hostid": 0         }     ],     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "taskids": [             "3"         ]     },     "id": 1 } ```
es	#### Creando una tarea  Cree una tarea "Ejecutar ahora" para dos métricas. Una es una métrica y la otra es una regla de descubrimiento de bajo nivel.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "task.create",     "params": [         {             "type": 6,             "request": {                 "itemid": "10092"             }         },         {             "type": 6,             "request": {                 "itemid": "10093"             }         }     ],     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "taskids": [             "1",             "2"         ]     },     "id": 1 } ```  Crear una tarea `Refrescar la configuración del proxy` para dos proxies.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "task.create",     "params": [         {             "type": 2,             "request": {                 "proxy_hostids": ["10459", "10460"]             }         }     ],     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "taskids": [             "1"         ]     },     "id": 1 } ```  Crear una tarea `diagnostic information`.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "task.create",     "params": [         {             "type": 1,             "request": {                 "alerting": {                     "stats": [                         "alerts"                     ],                     "top": {                         "media.alerts": 10                     }                 },                 "lld": {                     "stats": "extend",                     "top": {                         "values": 5                     }                 }             },             "proxy_hostid": 0         }     ],     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "taskids": [             "3"         ]     },     "id": 1 } ```

en-us	#### Creating a template  Create a template with tags and link two templates to this template.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "template.create",     "params": {         "host": "Linux template",         "groups": {             "groupid": 1         },         "templates": [             {                 "templateid": "11115"             },             {                 "templateid": "11116"             }         ],         "tags": [             {                 "tag": "Host name",                 "value": "{HOST.NAME}"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "templateids": [             "11117"         ]     },     "id": 1 } ```
es	#### Creando una plantilla  Cree una plantilla con etiquetas y vincule dos plantillas a esta plantilla.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "template.create",     "params": {         "host": "Linux template",         "groups": {             "groupid": 1         },         "templates": [             {                 "templateid": "11115"             },             {                 "templateid": "11116"             }         ],         "tags": [             {                 "tag": "Host name",                 "value": "{HOST.NAME}"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "templateids": [             "11117"         ]     },     "id": 1 } ```

en-us	#### Creating a template dashboard  Create a template dashboard named “Graphs” with one Graph widget on a single dashboard page.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "templatedashboard.create",     "params": {         "templateid": "10318",         "name": "Graphs",         "pages": [             {                 "widgets": [                     {                         "type": "graph",                         "x": 0,                         "y": 0,                         "width": 12,                         "height": 5,                         "view_mode": 0,                         "fields": [                             {                                 "type": 6,                                 "name": "graphid",                                 "value": "1123"                             }                         ]                     }                 ]              }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "dashboardids": [             "32"         ]     },     "id": 1 } ```
es	#### Creando una plantilla de tablero  Cree una plantilla de tablero llamada "Gráficos" con un widget de gráfico en una página única del tablero.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "templatedashboard.create",     "params": {         "templateid": "10318",         "name": "Gráficos",         "pages": [             {                 "widgets": [                     {                         "type": "graph",                         "x": 0,                         "y": 0,                         "width": 12,                         "height": 5,                         "view_mode": 0,                         "fields": [                             {                                 "type": 6,                                 "name": "graphid",                                 "value": "1123"                             }                         ]                     }                 ]              }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "dashboardids": [             "32"         ]     },     "id": 1 } ```

en-us	#### Creating a template group  Create a template group called "Templates/Databases".  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "templategroup.create",     "params": {         "name": "Templates/Databases"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "groupids": [             "107820"         ]     },     "id": 1 } ```
es	#### Creando un grupo de plantillas  Cree un grupo de plantillas llamado "Plantillas/Bases de datos".  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "templategroup.create",     "params": {         "name": "Plantillas/Bases de datos"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "groupids": [             "107820"         ]     },     "id": 1 } ```

en-us	#### Creating a template group  ::: noteimportant Only Super Admin users can create template groups. :::  To create a template group in Zabbix frontend, do the following:  1. Go to: *Data collection → Template groups*. 2. Click on *Create template group* in the upper right corner of the screen. 3. Enter the group name in the form.  ![](../../../../assets/en/manual/config/template_group.png)  To create a nested template group, use the '/' forward slash separator, for example `Linux servers/Databases/MySQL`. You can create this group even if none of the two parent template groups (`Linux servers/Databases/`) exist. In this case creating these parent template 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	#### Crear un grupo de plantillas  ::: noteimportant Solo los usuarios superadministradores pueden crear grupos de plantillas. :::  Para crear un grupo de plantillas en la interfaz de Zabbix, haga lo siguiente:  1. Vaya a: *Recopilación de datos → Grupos de plantillas*. 2. Haga clic en *Crear grupo de plantillas* en la esquina superior derecha de la pantalla. 3. Ingrese el nombre del grupo en el formulario.  ![](../../../../assets/en/manual/config/template_group.png)  Para crear un grupo de plantillas anidadas, utilice el separador de barra diagonal '/', por ejemplo, `Servidores Linux/Bases de datos/MySQL`. Puede crear este grupo incluso si ninguno de los dos grupos de plantillas principales (`Servidores Linux/Bases de datos/`) existe. En este caso, la creación de estos grupos de plantillas principales depende del usuario; no se crearán automáticamente.<br>No se permiten varias barras seguidas ni al principio ni al final. No se admite el escape de '/'.

en-us	#### Creating a template  To create a template, do the following:  1. Go to *Data collection* → *Templates*. 2. Click on *Create template*. 3. Edit template attributes.  The **Template** tab contains general template attributes.  ![](../../../../assets/en/manual/config/template_a.png){width=600}  All mandatory input fields are marked with a red asterisk.  Template attributes:  |Parameter|Description| |--|--------| |*Template name*|Unique template name.<br>Alphanumerics, spaces, dots, dashes, and underscores are allowed.<br>Leading and trailing spaces are not allowed.| |*Visible name*|If you set this name, it will be the one visible in lists, maps, etc.| |*Templates*|Link one or more templates to this template. All entities (items, triggers, etc.) will be inherited from the linked templates.<br>To link a new template, start typing the template name in the *Link new templates* field. A list of matching templates will appear; scroll down to select. Alternatively, you may click on *Select* next to the field and select templates from the list in a pop-up window. The templates that are selected in the *Link new templates* field will be linked to the template when the template configuration form is saved or updated.<br>To unlink a template, use one of the two options in the *Linked templates* block:<br>*Unlink* - unlink the template, but preserve its entities (items, triggers, etc.);<br>*Unlink and clear* - unlink the template and remove all of its entities (items, triggers, etc.).| |*Template groups*|Groups the template belongs to. | |*Description*|Template description.| |*Vendor and version*|Template vendor and version; displayed only when updating existing templates ([out-of-the-box templates](/manual/config/templates_out_of_the_box) provided by Zabbix, [imported templates](/manual/xml_export_import/templates#importing), or templates modified through the [Template API](/manual/api/reference/template)) if the template configuration contains such information.<br>Cannot be modified in Zabbix frontend.<br>For out-of-the-box templates, version is displayed as follows: major version of Zabbix, delimiter ("-"), revision number (increased with each new version of the template, and reset with each major version of Zabbix). For example, 6.4-0, 6.4-5, 7.0-0, 7.0-3.|  The **Tags** tab allows you to define template-level [tags](/manual/config/tagging). All problems of hosts linked to this template will be tagged with the values entered here.  ![](../../../../assets/en/manual/config/template_c.png)  User macros, {INVENTORY.\*} macros, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} and {HOST.ID} macros are supported in tags.  The **Macros** tab allows you to define template-level [user macros](/manual/config/macros/user_macros) as a name-value pairs. Note that macro values can be kept as plain text, secret text, or Vault secret. Adding a description is also supported.  ![](../../../../assets/en/manual/config/template_d1.png)  If you select the *Inherited and template macros* option, you may also view macros from linked templates and global macros that the template will inherit, as well as the values that the macros will resolve to.  ![](../../../../assets/en/manual/config/template_d2.png)  For convenience, links to the respective templates, as well as a link to global macro configuration is provided. It is also possible to edit a linked template macro or global macro on the template level, effectively creating a copy of the macro on the template.  The **Value mapping** tab allows to configure human-friendly representation of item data in [value mappings](/manual/config/items/mapping).  Buttons:  |   |   | |--|--------| |![](../../../../assets/en/manual/config/button_add.png)|Add the template. The added template should appear in the list.| |![](../../../../assets/en/manual/config/button_update.png)|Update the properties of an existing template.| |![](../../../../assets/en/manual/config/button_clone.png)|Create another template based on the properties of the current template, including the entities (items, triggers, etc.) inherited from linked templates, but excluding template vendor and version.| |![](../../../../assets/en/manual/config/button_full.png)|Create another template based on the properties of the current template, including the entities (items, triggers, etc.) both inherited from linked templates and directly attached to the current template, but excluding template vendor and version.| |![](../../../../assets/en/manual/config/button_delete.png)|Delete the template; entities of the template (items, triggers, etc.) remain with the linked hosts.| |![](../../../../assets/en/manual/config/button_clear.png)|Delete the template and all its entities from linked hosts.| |![](../../../../assets/en/manual/config/button_cancel.png)|Cancel the editing of template properties.|
es	#### Creando una plantilla  Para crear una plantilla, haga lo siguiente:  1. Vaya a *Recopilación de datos* → *Plantillas*. 2. Haga clic en *Crear plantilla*. 3. Edite los atributos de la plantilla.  La pestaña **Plantilla** contiene atributos generales de plantilla.  ![](../../../../assets/en/manual/config/template_a.png){width=600}  Todos los campos de entrada obligatorios están marcados con un asterisco rojo.  Atributos de plantilla:  |Parámetro|Descripción| |--|--------| |*Nombre de plantilla*|Nombre de plantilla único.<br>Se permiten caracteres alfanuméricos, espacios, puntos, guiones y guiones bajos.<br>No se permiten espacios iniciales ni finales.| |*Nombre visible*|Si estableces este nombre, será el visible en listas, mapas, etc.| |*Plantillas*|Vincula una o más plantillas a esta plantilla. Todas las entidades (métricas, iniciaores, etc.) se heredarán de las plantillas vinculadas.<br>Para vincular una nueva plantilla, comience a escribir el nombre de la plantilla en el campo *Vincular nuevas plantillas*. Aparecerá una lista de plantillas coincidentes; desplácese hacia abajo para seleccionar. Alternativamente, puede hacer clic en *Seleccionar* junto al campo y seleccionar plantillas de la lista en una ventana emergente. Las plantillas que se seleccionan en el campo *Vincular nuevas plantillas* se vincularán a la plantilla cuando se guarde o actualice el formulario de configuración de la plantilla.<br>Para desvincular una plantilla, use una de las dos opciones en el bloque *Plantillas vinculadas* :<br>*Desvincular*: desvincula la plantilla, pero conserva sus entidades (elementos, desencadenantes, etc.);<br>*Desvincula y borra*: desvincula la plantilla y elimina todas sus entidades (elementos, desencadenantes, etc.). ).| |*Grupos de plantillas*|Grupos a los que pertenece la plantilla. | |*Descripción*|Descripción de la plantilla.| |*Proveedor y versión*|Proveedor y versión de la plantilla; se muestra solo al actualizar las plantillas existentes ([plantillas listas para usar](/manual/config/templates_out_of_the_box) proporcionadas por Zabbix, [plantillas importadas](/manual/xml_export_import/templates#importing), o plantillas modificadas a través de [ API de plantilla](/manual/api/reference/template)) si la configuración de la plantilla contiene dicha información.<br>No se puede modificar en la interfaz de Zabbix.<br>Para las plantillas listas para usar, la versión se muestra de la siguiente manera : versión principal de Zabbix, delimitador ("-"), número de revisión (aumentado con cada nueva versión de la plantilla y restablecido con cada versión principal de Zabbix). Por ejemplo, 6,4-0, 6,4-5, 7,0-0, 7,0-3.|  La pestaña **Etiquetas** le permite definir [etiquetas](/manual/config/tagging) a nivel  de plantilla. Todos los problemas de equipos vinculados a esta plantilla se etiquetarán con los valores ingresados aquí.  ![](../../../../assets/en/manual/config/template_c.png)  Las macros de usuario, la macros {INVENTORY.\*}, {HOST.HOST}, {HOST.NAME}, las macros {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} y {HOST.ID} están soportadas en las etiquetas.  La pestaña **Macros** le permite definir [macros de usuario](/manual/config/macros/user_macros) a nivel de plantilla como parejas nombre-valor. Tenga en cuenta que los valores de macro se pueden mantener como texto sin formato, texto secreto o secreto Vault. También se admite agregar una descripción.  ![](../../../../assets/en/manual/config/template_d1.png)  Si selecciona la opción *Macros heredadas y de plantilla*, también puede ver macros de plantillas vinculadas y macros globales que la plantilla heredará, así como los valores a los que se resolverán las macros.  ![](../../../../assets/en/manual/config/template_d2.png)  Para mayor comodidad, se proporcionan enlaces a las plantillas respectivas, así como un enlace a la configuración macro global. También es posible editar una macro de plantilla vinculada o una macro global en el nivel de plantilla, creando efectivamente una copia de la macro en la plantilla.  La pestaña **Asignación de valores** permite configurar la representación de los datos de la métrica mediante [asignaciones de valores](/manual/config/items/mapping).  Botones:  | | | |--|--------| |![](../../../../assets/en/manual/config/button_add.png)|Agregar la plantilla. La plantilla agregada debería aparecer en la lista.| |![](../../../../assets/en/manual/config/button_update.png)|Actualizar las propiedades de una plantilla existente.| |![](../../../../assets/en/manual/config/button_clone.png)|Cree otra plantilla basada en las propiedades de la plantilla actual, incluidas las entidades (elementos, activadores, etc.) heredados de plantillas vinculadas, pero excluyendo el proveedor y la versión de la plantilla.| |![](../../../../assets/en/manual/config/button_full.png)|Cree otra plantilla basada en las propiedades de la plantilla actual, incluidas las entidades (elementos, activadores, etc.), ambos heredados de plantillas vinculadas y adjuntos directamente a la plantilla actual, pero excluyendo el proveedor y la versión de la plantilla.| |![](../../../../assets/en/manual/config/button_delete.png)|Eliminar la plantilla; Las entidades de la plantilla (elementos, activadores, etc.) permanecen con los hosts vinculados.| |![](../../../../assets/en/manual/config/button_clear.png)|Eliminar la plantilla y todas sus entidades de los hosts vinculados.| |![](../../../../assets/en/manual/config/button_cancel.png)|Cancelar la edición de las propiedades de la plantilla.|

en-us	#### Creating a trigger  Create a trigger with a single trigger dependency.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "trigger.create",     "params": [         {             "description": "Processor load is too high on {HOST.NAME}",             "expression": "last(/Linux server/system.cpu.load[percpu,avg1])>5",             "dependencies": [                 {                     "triggerid": "17367"                 }             ]         },         {             "description": "Service status",             "expression": "length(last(/Linux server/log[/var/log/system,Service .* has stopped]))<>0",             "dependencies": [                 {                     "triggerid": "17368"                 }             ],             "tags": [                 {                     "tag": "service",                     "value": "{{ITEM.VALUE}.regsub(\"Service (.*) has stopped\", \"\\1\")}"                 },                 {                     "tag": "error",                     "value": ""                 }             ]         }     ],     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "17369",             "17370"         ]     },     "id": 1 } ```
es	#### Creando un iniciador  Cree un iniciador con una única dependencia del iniciador.  [Solicitud](/manual/api#performing-requests):  ```json { "jsonrpc": "2.0", "method": "trigger.create", "params": [ { "description": "Processor load is too high on {HOST.NAME}", "expression": "last(/Linux server/system.cpu.load[percpu,avg1])>5", "dependencies": [ { "triggerid": "17367" } ] }, { "description": "Service status", "expression": "length(last(/Linux server/log[/var/log/system,Service .* has stopped]))<>0", "dependencies": [ { "triggerid": "17368" } ], "tags": [ { "tag": "service", "value": "{{ITEM.VALUE}.regsub(\"Service (.*) has stopped\", \"\\1\")}" }, { "tag": "error", "value": "" } ] } ], "id": 1 } ```  Respuesta:  ```json { "jsonrpc": "2.0", "result": { "triggerids": [ "17369", "17370" ] }, "id": 1 } ```

en-us	#### Creating a trigger prototype  Create a trigger prototype to detect when a file system has less than 20% free disk space.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "triggerprototype.create",     "params": {         "description": "Free disk space is less than 20% on volume {#FSNAME}",         "expression": "last(/Zabbix server/vfs.fs.size[{#FSNAME},pfree])<20",         "tags": [             {                 "tag": "volume",                 "value": "{#FSNAME}"             },             {                 "tag": "type",                 "value": "{#FSTYPE}"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "17372"         ]     },     "id": 1 } ```
es	#### Creando un prototipo de iniciador  Cree un prototipo de iniciador para detectar cuando un sistema de archivos tiene menos de 20% de espacio libre en disco.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "triggerprototype.create",     "params": {         "description": "Free disk space is less than 20% on volume {#FSNAME}",         "expression": "last(/Zabbix server/vfs.fs.size[{#FSNAME},pfree])<20",         "tags": [             {                 "tag": "volume",                 "value": "{#FSNAME}"             },             {                 "tag": "type",                 "value": "{#FSTYPE}"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "17372"         ]     },     "id": 1 } ```

en-us	#### Creating a user  Create a new user, add him to a user group and create a new media for him.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "user.create",     "params": {         "username": "John",         "passwd": "Doe123",         "roleid": "5",         "usrgrps": [             {                 "usrgrpid": "7"             }         ],         "medias": [             {                 "mediatypeid": "1",                 "sendto": [                     "support@company.com"                 ],                 "active": 0,                 "severity": 63,                 "period": "1-7,00:00-24:00"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "userids": [             "12"         ]     },     "id": 1 } ```
es	#### Creando un usuario  Cree un nuevo usuario, agréguelo a un grupo de usuarios y cree un nuevo medio para él.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "user.create",     "params": {         "username": "John",         "passwd": "Doe123",         "roleid": "5",         "usrgrps": [             {                 "usrgrpid": "7"             }         ],         "medias": [             {                 "mediatypeid": "1",                 "sendto": [                     "support@company.com"                 ],                 "active": 0,                 "severity": 63,                 "period": "1-7,00:00-24:00"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "userids": [             "12"         ]     },     "id": 1 } ```

en-us	##### Creating a user directory  Create a user directory to authenticate users with StartTLS over LDAP. Note that to authenticate users over LDAP, [LDAP authentication](/manual/api/reference/authentication/object#authentication-object) must be enabled.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "userdirectory.create",     "params": {         "idp_type": "1",         "name": "LDAP API server #1",         "host": "ldap://local.ldap",         "port": "389",         "base_dn": "ou=Users,dc=example,dc=org",         "bind_dn": "cn=ldap_search,dc=example,dc=org",         "bind_password": "ldapsecretpassword",         "search_attribute": "uid",         "start_tls": "1"     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "userdirectoryids": [             "3"         ]     },     "id": 1 } ```
es	##### Creando un directorio de usuarios  Cree un directorio de usuarios para autenticar usuarios con StartTLS sobre LDAP. Tenga en cuenta que para autenticar usuarios a través de LDAP, se debe habilitar la [autenticación LDAP](/manual/api/reference/authentication/object#authentication-object).  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "userdirectory.create",     "params": {         "idp_type": "1",         "name": "LDAP API server #1",         "host": "ldap://local.ldap",         "port": "389",         "base_dn": "ou=Users,dc=example,dc=org",         "bind_dn": "cn=ldap_search,dc=example,dc=org",         "bind_password": "ldapsecretpassword",         "search_attribute": "uid",         "start_tls": "1"     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "userdirectoryids": [             "3"         ]     },     "id": 1 } ```

en-us	##### Creating a user directory (JIT provisioning enabled)  Create a user directory to authenticate users over LDAP (with JIT provisioning enabled). Note that to authenticate users over LDAP, [LDAP authentication](/manual/api/reference/authentication/object#authentication-object) must be enabled.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "userdirectory.create",     "params": {             "idp_type": "1",             "name": "AD server",             "provision_status": "1",             "description": "",             "host": "host.example.com",             "port": "389",             "base_dn": "DC=zbx,DC=local",             "search_attribute": "sAMAccountName",             "bind_dn": "CN=Admin,OU=Users,OU=Zabbix,DC=zbx,DC=local",             "start_tls": "0",             "search_filter": "",             "group_basedn": "OU=Zabbix,DC=zbx,DC=local",             "group_name": "CN",             "group_member": "member",             "group_filter": "(%{groupattr}=CN=%{ref},OU=Users,OU=Zabbix,DC=zbx,DC=local)",             "group_membership": "",             "user_username": "givenName",             "user_lastname": "sn",             "user_ref_attr": "CN",             "provision_media": [                 {                     "name": "example.com",                     "mediatypeid": "1",                     "attribute": "user@example.com"                 }             ],             "provision_groups": [                 {                     "name": "*",                     "roleid": "4",                     "user_groups": [                         {                             "usrgrpid": "8"                         }                     ]                 },                 {                     "name": "Zabbix administrators",                     "roleid": "2",                     "user_groups": [                         {                             "usrgrpid": "7"                         },                         {                             "usrgrpid": "8"                         }                     ]                 }             ]         },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "userdirectoryids": [             "2"         ]     },     "id": 1 } ```
es	##### Creación de un directorio de usuarios (aprovisionamiento JIT habilitado)  Cree un directorio de usuarios para autenticar usuarios a través de LDAP (con el aprovisionamiento JIT habilitado). Tenga en cuenta que para autenticar usuarios a través de LDAP, se debe habilitar la [autenticación LDAP](/manual/api/reference/authentication/object#authentication-object).  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "userdirectory.create",     "params": {             "idp_type": "1",             "name": "AD server",             "provision_status": "1",             "description": "",             "host": "host.example.com",             "port": "389",             "base_dn": "DC=zbx,DC=local",             "search_attribute": "sAMAccountName",             "bind_dn": "CN=Admin,OU=Users,OU=Zabbix,DC=zbx,DC=local",             "start_tls": "0",             "search_filter": "",             "group_basedn": "OU=Zabbix,DC=zbx,DC=local",             "group_name": "CN",             "group_member": "member",             "group_filter": "(%{groupattr}=CN=%{ref},OU=Users,OU=Zabbix,DC=zbx,DC=local)",             "group_membership": "",             "user_username": "givenName",             "user_lastname": "sn",             "user_ref_attr": "CN",             "provision_media": [                 {                     "name": "example.com",                     "mediatypeid": "1",                     "attribute": "user@example.com"                 }             ],             "provision_groups": [                 {                     "name": "*",                     "roleid": "4",                     "user_groups": [                         {                             "usrgrpid": "8"                         }                     ]                 },                 {                     "name": "Zabbix administrators",                     "roleid": "2",                     "user_groups": [                         {                             "usrgrpid": "7"                         },                         {                             "usrgrpid": "8"                         }                     ]                 }             ]         },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "userdirectoryids": [             "2"         ]     },     "id": 1 } ```

en-us	#### Creating a user group  Create a user group *Operation managers* with denied access to host group "2", and add a user to it.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "usergroup.create",     "params": {         "name": "Operation managers",         "hostgroup_rights": {             "id": "2",             "permission": 0         },         "users": [             {                 "userid": "12"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "usrgrpids": [             "20"         ]     },     "id": 1 } ```
es	#### Creando un grupo de usuarios  Cree un grupo de usuarios *Administradores de operaciones* con acceso denegado al grupo de equipo "2" y agréguele un usuario.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "usergroup.create",     "params": {         "name": "Administradores de operaciones",         "hostgroup_rights": {             "id": "2",             "permission": 0         },         "users": [             {                 "userid": "12"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "usrgrpids": [             "20"         ]     },     "id": 1 } ```

en-us	#### Creating a value map  Create one value map with two mappings.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "valuemap.create",     "params": {         "hostid": "50009",         "name": "Service state",         "mappings": [             {                 "type": "1",                 "value": "1",                 "newvalue": "Up"             },             {                 "type": "5",                 "newvalue": "Down"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "valuemapids": [             "1"         ]     },     "id": 1 } ```
es	#### Creando un mapa de valores  Cree un mapa de valores con dos asignaciones.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "valuemap.create",     "params": {         "hostid": "50009",         "name": "Service state",         "mappings": [             {                 "type": "1",                 "value": "1",                 "newvalue": "Up"             },             {                 "type": "5",                 "newvalue": "Down"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "valuemapids": [             "1"         ]     },     "id": 1 } ```

en-us	#### Creating a webhook media type  Create a new webhook media type.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "mediatype.create",     "params": {         "type": "4",         "name": "Webhook",         "script": "var Webhook = {\r\n    token: null,\r\n    to: null,\r\n    subject: null,\r\n    message: null,\r\n\r\n    sendMessage: function() {\r\n        // some logic\r\n    }\r\n}",         "parameters": [             {                 "name": "Message",                 "value": "{ALERT.MESSAGE}"             },             {                 "name": "Subject",                 "value": "{ALERT.SUBJECT}"             },             {                 "name": "To",                 "value": "{ALERT.SENDTO}"             },             {                 "name": "Token",                 "value": "<Token>"             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "mediatypeids": [             "9"         ]     },     "id": 1 } ```
es	#### Creando un tipo de medio  webhook  Crea un nuevo tipo de medio webhook.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "mediatype.create",     "params": {         "type": "4",         "name": "Webhook",         "script": "var Webhook = {\r\n    token: null,\r\n    to: null,\r\n    subject: null,\r\n    message: null,\r\n\r\n    sendMessage: function() {\r\n        // some logic\r\n    }\r\n}",         "parameters": [             {                 "name": "Message",                 "value": "{ALERT.MESSAGE}"             },             {                 "name": "Subject",                 "value": "{ALERT.SUBJECT}"             },             {                 "name": "To",                 "value": "{ALERT.SENDTO}"             },             {                 "name": "Token",                 "value": "<Token>"             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "mediatypeids": [             "9"         ]     },     "id": 1 } ```

en-us	#### Creating a web scenario  Create a web scenario to monitor the company home page. The scenario will have two steps, to check the home page and the "About" page and make sure they return the HTTP status code 200.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "httptest.create",     "params": {         "name": "Homepage check",         "hostid": "10085",         "steps": [             {                 "name": "Homepage",                 "url": "http://example.com",                 "status_codes": "200",                 "no": 1             },             {                 "name": "Homepage / About",                 "url": "http://example.com/about",                 "status_codes": "200",                 "no": 2             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "httptestids": [             "5"         ]     },     "id": 1 } ```
es	#### Creando un escenario web  Crear un escenario web para monitorear la página de inicio de la empresa. El escenario tendrá dos pasos, verificar la página de inicio y la página "Acerca de" y asegúrese de que devuelvan el código de estado HTTP 200.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "httptest.create",     "params": {         "name": "Homepage check",         "hostid": "10085",         "steps": [             {                 "name": "Homepage",                 "url": "http://example.com",                 "status_codes": "200",                 "no": 1             },             {                 "name": "Homepage / Acerca de",                 "url": "http://example.com/about",                 "status_codes": "200",                 "no": 2             }         ]     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "httptestids": [             "5"         ]     },     "id": 1 } ```

en-us	### Creating custom LLD rules  It is also possible to create a completely custom LLD rule, discovering any type of entities - for example, databases on a database server.  To do so, a custom item should be created that returns JSON, specifying found objects and optionally - some properties of them. The amount of macros per entity is not limited - while the built-in discovery rules return either one or two macros (for example, two for filesystem discovery), it is possible to return more.  The required JSON format is best illustrated with an example. Suppose we are running an old Zabbix 1.8 agent (one that does not support "vfs.fs.discovery"), but we still need to discover file systems. Here is a simple Perl script for Linux that discovers mounted file systems and outputs JSON, which includes both file system name and type. One way to use it would be as a UserParameter with key "vfs.fs.discovery\_perl":  ``` {.perl} #!/usr/bin/perl  $first = 1;  print "[\n";  for (`cat /proc/mounts`) {     ($fsname, $fstype) = m/\S+ (\S+) (\S+)/;      print "\t,\n" if not $first;     $first = 0;      print "\t{\n";     print "\t\t\"{#FSNAME}\":\"$fsname\",\n";     print "\t\t\"{#FSTYPE}\":\"$fstype\"\n";     print "\t}\n"; }  print "]\n"; ```  ::: noteimportant Allowed symbols for LLD macro names are **0-9** , **A-Z** , **\_** , **.**\ \ Lowercase letters are not supported in the names. :::  An example of its output (reformatted for clarity) is shown below. JSON for custom discovery checks has to follow the same format.  ``` {.javascript} [     { "{#FSNAME}":"/",                           "{#FSTYPE}":"rootfs"   },     { "{#FSNAME}":"/sys",                        "{#FSTYPE}":"sysfs"    },     { "{#FSNAME}":"/proc",                       "{#FSTYPE}":"proc"     },     { "{#FSNAME}":"/dev",                        "{#FSTYPE}":"devtmpfs" },     { "{#FSNAME}":"/dev/pts",                    "{#FSTYPE}":"devpts"   },     { "{#FSNAME}":"/lib/init/rw",                "{#FSTYPE}":"tmpfs"    },     { "{#FSNAME}":"/dev/shm",                    "{#FSTYPE}":"tmpfs"    },     { "{#FSNAME}":"/home",                       "{#FSTYPE}":"ext3"     },     { "{#FSNAME}":"/tmp",                        "{#FSTYPE}":"ext3"     },     { "{#FSNAME}":"/usr",                        "{#FSTYPE}":"ext3"     },     { "{#FSNAME}":"/var",                        "{#FSTYPE}":"ext3"     },     { "{#FSNAME}":"/sys/fs/fuse/connections",    "{#FSTYPE}":"fusectl"  } ] ```  In previous example it is required that the keys match the LLD macro names used in prototypes, the alternative is to extract LLD macro values using JSONPath `{#FSNAME}` → `$.fsname` and `{#FSTYPE}` → `$.fstype`, thus making such script possible:  ``` {.perl} #!/usr/bin/perl   $first = 1;   print "[\n";   for (`cat /proc/mounts`) {     ($fsname, $fstype) = m/\S+ (\S+) (\S+)/;       print "\t,\n" if not $first;     $first = 0;       print "\t{\n";     print "\t\t\"fsname\":\"$fsname\",\n";     print "\t\t\"fstype\":\"$fstype\"\n";     print "\t}\n"; }   print "]\n"; ```  An example of its output (reformatted for clarity) is shown below. JSON for custom discovery checks has to follow the same format.  ``` {.javascript} [     { "fsname":"/",                           "fstype":"rootfs"   },     { "fsname":"/sys",                        "fstype":"sysfs"    },     { "fsname":"/proc",                       "fstype":"proc"     },     { "fsname":"/dev",                        "fstype":"devtmpfs" },     { "fsname":"/dev/pts",                    "fstype":"devpts"   },     { "fsname":"/lib/init/rw",                "fstype":"tmpfs"    },     { "fsname":"/dev/shm",                    "fstype":"tmpfs"    },     { "fsname":"/home",                       "fstype":"ext3"     },     { "fsname":"/tmp",                        "fstype":"ext3"     },     { "fsname":"/usr",                        "fstype":"ext3"     },     { "fsname":"/var",                        "fstype":"ext3"     },     { "fsname":"/sys/fs/fuse/connections",    "fstype":"fusectl"  } ] ```  Then, in the discovery rule's "Filter" field, we could specify "{\#FSTYPE}" as a macro and "rootfs|ext3" as a regular expression.  ::: noteclassic You don't have to use macro names FSNAME/FSTYPE with custom LLD rules, you are free to use whatever names you like. In case JSONPath is used then LLD row will be an array element that can be an object, but it can be also another array or a value.  :::  Note that, if using a user parameter, the return value is limited to 16MB. For more details, see [data limits for LLD return values](/manual/discovery/low_level_discovery/notes#data-limits-for-return-values).
es	### Creación de reglas LLD personalizadas  También es posible crear una regla LLD completamente personalizada, descubriendo cualquier tipo de entidades, por ejemplo, bases de datos en un servidor de bases de datos.  Para hacerlo, se debe crear un elemento personalizado que devuelva JSON, especificando objetos encontrados y, opcionalmente, algunas propiedades de los mismos. La cantidad de macros por entidad no está limitada, mientras que las reglas de descubrimiento integradas devuelven una o dos macros (por ejemplo, dos para el descubrimiento del sistema  de archivos), es posible devolver más.  El formato JSON requerido se ilustra mejor con un ejemplo. Supongamos que queremos ejecutar un agente antiguo Zabbix 1.8 (uno que no admite "vfs.fs.discovery"), pero necesitamos descubrir los sistemas de archivos. Aquí tenemos un script Perl simple para Linux que descubre sistemas de archivos montados y genera el JSON, que incluye tanto el nombre como el tipo del sistema de archivos. Una manera de usarlo sería como un parámetro de usuario con la clave "vfs.fs.discovery\_perl":  ``` {.perl} #!/usr/bin/perl  $first = 1;  print "[\n";  for (`cat /proc/mounts`) {     ($fsname, $fstype) = m/\S+ (\S+) (\S+)/;      print "\t,\n" if not $first;     $first = 0;      print "\t{\n";     print "\t\t\"{#FSNAME}\":\"$fsname\",\n";     print "\t\t\"{#FSTYPE}\":\"$fstype\"\n";     print "\t}\n"; }  print "]\n"; ```  ::: noteimportant Los símbolos permitidos para los nombres de macros LLD son **0-9**, **A-Z** , **\_** , **.**\ \ No se admiten letras minúsculas en los nombres. :::  A continuación se muestra un ejemplo de su resultado (reformateado para mayor claridad). El JSON para las comprobaciones de descubrimiento personalizadas debe seguir el mismo formato.  ``` {.javascript} [     { "{#FSNAME}":"/", "{#FSTYPE}":"rootfs" },     { "{#FSNAME}":"/sys", "{#FSTYPE}":"sysfs" },     { "{#FSNAME}":"/proc", "{#FSTYPE}":"proc" },     { "{#FSNAME}":"/dev", "{#FSTYPE}":"devtmpfs" },     { "{#FSNAME}":"/dev/pts", "{#FSTYPE}":"devpts" },     { "{#FSNAME}":"/lib/init/rw", "{#FSTYPE}":"tmpfs" },     { "{#FSNAME}":"/dev/shm", "{#FSTYPE}":"tmpfs" },     { "{#FSNAME}":"/home", "{#FSTYPE}":"ext3" },     { "{#FSNAME}":"/tmp", "{#FSTYPE}":"ext3" },     { "{#FSNAME}":"/usr", "{#FSTYPE}":"ext3" },     { "{#FSNAME}":"/var", "{#FSTYPE}":"ext3" },     { "{#FSNAME}":"/sys/fs/fuse/connections", "{#FSTYPE}":"fusectl" } ] ```  En el ejemplo anterior se requiere que las claves coincidan con los nombres de macro LLD  utilizados en los prototipos, la alternativa es extraer los valores de macro LLD usando JSONPath `{#FSNAME}` → `$.fsname` y `{#FSTYPE}` → `$.fstype`, haciendo así posible dicho script:  ``` {.perl} #!/usr/bin/perl   $first = 1;   print "[\n";   for (`cat /proc/mounts`) {     ($fsname, $fstype) = m/\S+ (\S+) (\S+)/;       print "\t,\n" if not $first;     $first = 0;       print "\t{\n";     print "\t\t\"fsname\":\"$fsname\",\n";     print "\t\t\"fstype\":\"$fstype\"\n";     print "\t}\n"; }   print "]\n"; ```  A continuación se muestra un ejemplo de su resultado (reformateado para mayor claridad). El JSON para comprobaciones de descubrimiento personalizadas debe seguir el mismo formato.  ``` {.javascript} [     { "fsname": "/", "fstype": "rootfs" },     { "fsname": "/sys", "fstype": "sysfs" },     { "fsname": "/proc", "fstype": "proc" },     { "fsname": "/dev", "fstype": "devtmpfs" },     { "fsname":"/dev/pts", "fstype":"devpts" },     { "fsname": "/lib/init/rw", "fstype": "tmpfs" },     { "fsname": "/dev/shm", "fstype": "tmpfs" },     { "fsname":"/home", "fstype":"ext3" },     { "fsname": "/tmp", "fstype": "ext3" },     { "fsname": "/usr", "fstype": "ext3" },     { "fsname": "/var", "fstype": "ext3" },     { "fsname":"/sys/fs/fuse/connections", "fstype":"fusectl" } ] ```  Luego, en el campo "Filtro" de la regla de descubrimiento, podríamos especificar "{\#FSTYPE}" como macro y "rootfs|ext3" como expresión regular.  ::: noteclassic No es necesario utilizar nombres de macro FSNAME/FSTYPE con las reglas de LLD personalizadas, tiene la libertad de usar los nombres que quiera. En caso  de que se use JSONPath, la fila LLD será un elemento de matriz que puede ser un objeto, pero también puede ser otra matriz o un valor. :::  Tenga en cuenta que, si utiliza un parámetro de usuario, el valor de retorno está limitado a 16 MB. Para obtener más detalles, consulte los [límites de datos para valores de retorno de LLD](/manual/discovery/low_level_discovery/notes#data-limits-for-return-values).

en-us	##### Creating database  [Create](/manual/appendix/install/db_scripts) a separate database for Zabbix proxy.  Zabbix server and Zabbix proxy cannot use the same database. If they are installed on the same host, the proxy database must have a different name.
es	##### Creando una base de datos  [Crear](/manual/appendix/install/db_scripts) una base de datos separada para Zabbix proxy.  El servidor Zabbix y el proxy Zabbix no pueden utilizar la misma base de datos. Si están instalados en el mismo equipo, la base de datos del proxy debe tener un nombre distinto.

en-us	##### Creating database  [Create](/manual/appendix/install/db_scripts) a separate database for Zabbix proxy.  Zabbix server and Zabbix proxy cannot use the same database. If they are installed on the same host, the proxy database must have a different name.
es	##### Creando una base de datos  [Crear](/manual/appendix/install/db_scripts) una base de datos separada para Zabbix proxy.  El servidor Zabbix y el proxy Zabbix no pueden utilizar la misma base de datos. Si están instalados en el mismo equipo, la base de datos del proxy debe tener un nombre distinto.

en-us	#### Creating database  Zabbix [server](/manual/concepts/server) and [proxy](/manual/concepts/proxy) daemons require a database. Zabbix [agent](/manual/concepts/agent) does not need a database.  To create a database, follow the instructions for [MySQL](/manual/appendix/install/db_scripts#mysql) or [PostgreSQL](/manual/appendix/install/db_scripts#postgresql). An SQLite3 database (supported for Zabbix proxy only) will be created automatically and does not require additional installation steps.  ::: notewarning Separate databases are required for Zabbix server and Zabbix proxy; they cannot share the same database. If a server and a proxy are installed on the same host, their databases must be created with different names! :::
es	#### Creando la base de datos  Los demonios del [servidor](/manual/concepts/server) y [proxy](/manual/concepts/proxy) Zabbix requieren una base de datos. El [agente](/manual/concepts/agent) Zabbix no necesita una base de datos.  Para crear una base de datos, siga las instrucciones de [MySQL](/manual/appendix/install/db_scripts#mysql) o [PostgreSQL](/manual/appendix/install/db_scripts#postgresql). Se creará automáticamente una base de datos SQLite3 (compatible solo con el proxy Zabbix) y no requiere pasos de instalación adicionales.  ::: notewarning Se requieren bases de datos separadas para el servidor Zabbix y el proxy Zabbix; no pueden compartir la misma base de datos. Si un servidor y un proxy están instalados en el mismo equipo, sus bases de datos deben crearse con nombres diferentes. :::

en-us	#### Creating dependent item  Create a dependent item for the master item with ID 24759. Only dependencies on the same host are allowed, therefore master and the dependent item should have the same hostid.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {       "hostid": "30074",       "name": "Dependent test item",       "key_": "dependent.item",       "type": 18,       "master_itemid": "24759",       "value_type": 2     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "44211"         ]     },     "id": 1 } ```
es	#### Creando elemento dependiente  Cree una métrica dependiente para la métrica principal con ID 24759. Sólo se permiten dependencias en el mismo equipo, por lo tanto, la métrica principal y la dependiente deben tener el mismo ID de host.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "item.create",     "params": {       "hostid": "30074",       "name": "Dependent test item",       "key_": "dependent.item",       "type": 18,       "master_itemid": "24759",       "value_type": 2     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "44211"         ]     },     "id": 1 } ```

en-us	#### Creating dependent item prototype  Create Dependent item prototype for Master item prototype with ID 44211. Only dependencies on same host (template/discovery rule) are allowed, therefore Master and Dependent item should have same hostid and ruleid.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "itemprototype.create",     "params": {       "hostid": "10001",       "ruleid": "27665",       "name": "Dependent test item prototype",       "key_": "dependent.prototype",       "type": 18,       "master_itemid": "44211",       "value_type": 3     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "44212"         ]     },     "id": 1 } ```
es	#### Creando prototipo de métrica dependiente  Cree un prototipo de métrica dependiente para el prototipo de métrica principal con ID 44211. Sólo se permiten dependencias en el mismo equipo (template/discovery rule), por lo tanto, la métrica princiopal y dependiente deben tener el mismo ID de equipo e ID de regla.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "itemprototype.create",     "params": {       "hostid": "10001",       "ruleid": "27665",       "name": "Dependent test item prototype",       "key_": "dependent.prototype",       "type": 18,       "master_itemid": "44211",       "value_type": 3     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "44212"         ]     },     "id": 1 } ```

en-us	#### Creating interfaces  Create an interface on two hosts.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.massadd",     "params": {         "hosts": [             {                 "hostid": "30050"             },             {                 "hostid": "30052"             }         ],         "interfaces": {             "dns": "",             "ip": "127.0.0.1",             "main": 0,             "port": "10050",             "type": 1,             "useip": 1         }     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "interfaceids": [             "30069",             "30070"         ]     },     "id": 1 } ```
es	#### Creando interfaces  Cree una interfaz en dos equipos.  [Solicitud](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "hostinterface.massadd",     "params": {         "hosts": [             {                 "hostid": "30050"             },             {                 "hostid": "30052"             }         ],         "interfaces": {             "dns": "",             "ip": "127.0.0.1",             "main": 0,             "port": "10050",             "type": 1,             "useip": 1         }     },     "id": 1 } ```  Respuesta:  ```json {     "jsonrpc": "2.0",     "result": {         "interfaceids": [             "30069",             "30070"         ]     },     "id": 1 } ```

en-us	#### Creating multiple triggers  Thus, if *create methods* accept arrays, you can add multiple [triggers](/manual/api/reference/trigger/object), for example, this one:   ```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":"trigger.create","params":[{"description":"Processor load is too high on {HOST.NAME}","expression":"last(/Linux server/system.cpu.load[percpu,avg1])>5",},{"description":"Too many processes on {HOST.NAME}","expression":"avg(/Linux server/proc.num[],5m)>300",}],"id":4}' ```  The successful response will contain the IDs of the newly created triggers:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "17369",             "17370"         ]     },     "id": 4 } ```
es	#### Creando múltiples iniciadores  Entonces, si los métodos de creación aceptan matrices, podemos agregar múltiples [iniciadores](/manual/api/reference/trigger/object) así:  ```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":"trigger.create","params":[{"description":"Processor load is too high on {HOST.NAME}","expression":"last(/Linux server/system.cpu.load[percpu,avg1])>5",},{"description":"Too many processes on {HOST.NAME}","expression":"avg(/Linux server/proc.num[],5m)>300",}],"id":4}' ```  Una respuesta exitosa contendrá los ID de los iniciadores recién creados:  ```json { "jsonrpc": "2.0", "result": { "triggerids": [ "17369", "17370" ] }, "id": 4 } ```

en-us	##### - Credentials (login:password)  System:  -   root:zabbix  Zabbix frontend:  -   Admin:zabbix  Database:  -   root:<random> -   zabbix:<random>  ::: noteclassic Database passwords are randomly generated during the installation process.\ Root password is stored inside the /root/.my.cnf file. It is not required to input a password under the "root" account. :::  To change the database user password, changes have to be made in the following locations:  -   MySQL; -   /etc/zabbix/zabbix\_server.conf; -   /etc/zabbix/web/zabbix.conf.php.  ::: noteclassic  Separate users `zabbix_srv` and `zabbix_web` are defined for the server and the frontend respectively.  :::
es	##### - Credenciales (inicio de sesión: contraseña)  Sistema:  - root: zabbix  Interfaz de Zabbix:  - Admin: zabbix  Base de datos:  -   root: <aleatorio> -   zabbix:<aleatorio>  ::: noteclassic Las contraseñas de la base de datos se generan aleatoriamente durante el proceso de instalación.\ La contraseña de root se almacena dentro del archivo /root/.my.cnf. Esto no es requerido para entrar una contraseña en la cuenta "root". :::  Para cambiar la contraseña de usuario de la base de datos, se deben realizar cambios en los siguientes lugares:  -   MySQL; -   /etc/zabbix/zabbix\_server.conf; -   /etc/zabbix/web/zabbix.conf.php.  ::: noteclassic  Se definen usuarios separados `zabbix_srv` y `zabbix_web` para el servidor y la interfaz respectivamente. :::

en-us	#### CRL expired or expires during server operation  [*OpenSSL*]{.underline}, in server log:  -   before expiration:  ```{=html} <!-- --> ```     cannot connect to proxy "proxy-openssl-1.0.1e": TCP successful, cannot establish TLS to [[127.0.0.1]:20004]:\         SSL_connect() returned SSL_ERROR_SSL: file s3_clnt.c line 1253: error:14090086:\         SSL routines:ssl3_get_server_certificate:certificate verify failed:\         TLS write fatal alert "certificate revoked"  -   after expiration:  ```{=html} <!-- --> ```     cannot connect to proxy "proxy-openssl-1.0.1e": TCP successful, cannot establish TLS to [[127.0.0.1]:20004]:\         SSL_connect() returned SSL_ERROR_SSL: file s3_clnt.c line 1253: error:14090086:\         SSL routines:ssl3_get_server_certificate:certificate verify failed:\         TLS write fatal alert "certificate expired"  The point here is that with valid CRL a revoked certificate is reported as "certificate revoked". When CRL expires the error message changes to "certificate expired" which is quite misleading.  [*GnuTLS*]{.underline}, in server log:  -   before and after expiration the same:  ```{=html} <!-- --> ```     cannot connect to proxy "proxy-openssl-1.0.1e": TCP successful, cannot establish TLS to [[127.0.0.1]:20004]:\           invalid peer certificate: The certificate is NOT trusted. The certificate chain is revoked.
es	#### CRL expiró o vence durante la operación del servidor  [*OpenSSL*]{.underline}, en el registro del servidor:  - antes del vencimiento:  ```{=html} <!-- --> ```     no se puede conectar al proxy "proxy-openssl-1.0.1e": TCP exitoso, no se puede establecer TLS en [[127.0.0.1]:20004]:\         SSL_connect() devolvió SSL_ERROR_SSL: archivo s3_clnt.c línea 1253: error:14090086:\         Rutinas SSL:ssl3_get_server_certificate:verificación del certificado fallida:\         TLS escribe alerta fatal "certificado revocado"  - después del vencimiento:  ```{=html} <!-- --> ```     no se puede conectar al proxy "proxy-openssl-1.0.1e": TCP exitoso, no se puede establecer TLS en [[127.0.0.1]:20004]:\         SSL_connect() devolvió SSL_ERROR_SSL: archivo s3_clnt.c línea 1253: error:14090086:\         Rutinas SSL:ssl3_get_server_certificate:verificación del certificado fallida:\         TLS escribe alerta fatal "certificado caducado"  Lo importante aquí es que con CRL válida se informa un certificado revocado como "certificado revocado". Cuando la CRL caduca, el mensaje de error cambia a "certificado caducado", lo cual es bastante engañoso.  [*GnuTLS*]{.underline}, en el registro del servidor:  - antes y después del vencimiento lo mismo:  ```{=html} <!-- --> ```     no se puede conectar al proxy "proxy-openssl-1.0.1e": TCP exitoso, no se puede establecer TLS en [[127.0.0.1]:20004]:\           Certificado de igual no válido: el certificado NO es de confianza. Se revoca la cadena de certificados.

en-us	### Cryptography
es	### Criptografía

en-us	 #### CSRF tokens  For enhanced security against CSRF (Cross Site Request Forgery) attacks, Zabbix frontend now uses randomly generated CSRF tokens instead of static session-based tokens.
es	 #### Tokens CSRF  Para mejorar la seguridad contra ataques CSRF (Cross Site Request Forgery), La interfaz de Zabbix ahora utiliza tokens CSRF generados aleatoriamente en lugar de tokens estáticos basados en sesiones.

en-us	#### CSRF tokens   For enhanced security against CSRF (Cross Site Request Forgery) attacks,  Zabbix frontend now uses randomly generated CSRF tokens instead of static session-based tokens. If your installation uses an IDS/IPS that checks for specific token names, it may be necessary to update its configuration to recognize the new token name,  `_csrf_token`, in order to avoid false positive detections.
es	#### Tokens CSRF   Para mejorar la seguridad contra ataques CSRF (Cross Site Request Forgery), La interfaz de Zabbix ahora utiliza tokens CSRF generados aleatoriamente en lugar de tokens estáticos basados en sesiones. Si su instalación utiliza un IDS/IPS que busca nombres de token específicos, puede ser necesario actualizar su configuración para reconocer el nuevo nombre del token. `_csrf_token`, para evitar detecciones de falsos positivos.

en-us	 ##### CSS styles  CSS files may contain a custom attribute `theme` to define different style for a specific frontend themes.  Available themes and their attribute values:  -   **Blue** - [theme='blue-theme'] -   **Dark** - [theme='dark-theme'] -   **High-contrast light** - [theme='hc-light'] -   **High-contrast dark** - [theme='hc-dark']  Example:  ```css .widget {     background-color: red; }   [theme='dark-theme'] .widget {     background-color: green; } ```
es	##### estilos CSS  Los archivos CSS pueden contener un atributo personalizado 'tema' para definir un estilo diferente para un tema de interfaz específico.  Temas disponibles y sus valores de atributo:  -**Azul** -  [theme='blue-theme'] -**Oscuro** - [theme='dark-theme'] -**Luz de alto contraste** - [theme='hc-light'] -**Oscuro de alto contraste** - [theme='hc-dark']  Ejemplo:  ```css .widget {     background-color: red; }   [theme='dark-theme'] .widget {     background-color: green; } ```

en-us	##### Custom copyright notice  To set a custom copyright notice, add `BRAND_FOOTER` to the array from the first listing. Please be aware that HTML is not supported here. Setting `BRAND_FOOTER` to an empty string will hide the copyright notice completely (but the footer will stay in place).  ```php 'BRAND_FOOTER' => '{text}', ```
es	##### Aviso de derechos de autor personalizado  Para configurar un aviso de derechos de autor personalizado, agregue `BRAND_FOOTER` a la matriz del primer listado. Tenga en cuenta que aquí no se admite HTML. Configurar `BRAND_FOOTER` en una cadena vacía ocultará completamente el aviso de copyright (pero el pie de página permanecerá en su lugar).  ```php 'BRAND_FOOTER' => '{texto}', ```

en-us	##### Custom help location  To replace the default *Help* link with a link of your choice, add `BRAND_HELP_URL` to the array from the first listing.  ```php 'BRAND_HELP_URL' => '{URL}' ```
es	##### Ubicación de ayuda personalizada  Para reemplazar el enlace de ayuda predeterminado con un enlace de su elección, agregue BRAND\_HELP\_URL a la matriz de la primera lista.  ``` {.php} 'BRAND_HELP_URL' => '{URL}', ```

en-us	### Custom interface  Custom interfaces are supported if `custom_interfaces` of [Host prototype object](#host-prototype) is set to "use host prototypes custom interfaces". The custom interface object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |type|integer|Interface type.<br><br>Possible values:<br>1 - Agent;<br>2 - SNMP;<br>3 - IPMI;<br>4 - JMX.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |useip|integer|Whether the connection should be made via IP.<br><br>Possible values:<br>0 - connect using host DNS name;<br>1 - connect using host IP address.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |ip|string|IP address used by the interface.<br>Can contain macros.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `useip` is set to "connect using host IP address"| |dns|string|DNS name used by the interface.<br>Can contain macros.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `useip` is set to "connect using host DNS name"| |port|string|Port number used by the interface.<br>Can contain user and LLD macros.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |main|integer|Whether the interface is used as default on the host.<br>Only one interface of some type can be set as default on a host.<br><br>Possible values:<br>0 - not default;<br>1 - default.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |details|array|Additional object for interface.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `type` is set to "SNMP"|
es	### Interfaz personalizada  Se admiten interfaces personalizadas si `custom_interfaces` del [objeto prototipo de equipo](#host-prototype) está configurado para "usar interfaces personalizadas de prototipos de equipo". El objeto de interfaz personalizada tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |type|entero|Tipo de interfaz.<br><br>Valores posibles:<br>1 - Agente;<br>2 - SNMP;<br>3 - IPMI;<br>4 - JMX.<br><br >[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio*| |useip|entero|Si la conexión debe realizarse a través de IP.<br><br>Valores posibles:<br>0: conectarse usando el nombre DNS del equipo;<br>1: conectarse usando la dirección IP del equipo.<br><br >[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio*| |ip|cadena|Dirección IP utilizada por la interfaz.<br>Puede contener macros.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si `useip` está configurado para "conectarse usando la dirección IP del host"| |dns|cadena|Nombre DNS utilizado por la interfaz.<br>Puede contener macros.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si `useip` está configurado para "conectarse usando el nombre DNS del host"| |port|cadena|Número de puerto utilizado por la interfaz.<br>Puede contener macros de usuario y LLD.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- * requerido*| |main|entero|Si la interfaz se utiliza como predeterminada en el equipo.<br>Solo se puede configurar una interfaz de algún tipo como predeterminada en un equipo.<br><br>Valores posibles:<br>0 - no predeterminado ;<br>1 - predeterminado.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio*| |details|matriz|Objeto adicional para interfaz.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si `type` está configurado en "SNMP" |

en-us	### Custom interface details  The details object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |version|integer|SNMP interface version.<br><br>Possible values:<br>1 - SNMPv1;<br>2 - SNMPv2c;<br>3 - SNMPv3.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |bulk|integer|Whether to use bulk SNMP requests.<br><br>Possible values:<br>0 - don't use bulk requests;<br>1 - *(default)* - use bulk requests.| |community|string|SNMP community.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* if `version` is set to "SNMPv1" or "SNMPv2c"| |max_repetitions|integer|Max repetition value for [native SNMP bulk requests](#native-snmp-bulk-requests) (GetBulkRequest-PDUs).<br>Used only for `discovery[]` and `walk[]` items in SNMPv2 and v3.<br><br>Default: 10.| |securityname|string|SNMPv3 security name.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* if `version` is set to "SNMPv3"| |securitylevel|integer|SNMPv3 security level.<br><br>Possible values:<br>0 - *(default)* - noAuthNoPriv;<br>1 - authNoPriv;<br>2 - authPriv.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* if `version` is set to "SNMPv3"| |authpassphrase|string|SNMPv3 authentication passphrase.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* if `version` is set to "SNMPv3" and `securitylevel` is set to "authNoPriv" or "authPriv"| |privpassphrase|string|SNMPv3 privacy passphrase.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* if `version` is set to "SNMPv3" and `securitylevel` is set to "authPriv"| |authprotocol|integer|SNMPv3 authentication protocol.<br><br>Possible values:<br>0 - *(default)* - MD5;<br>1 - SHA1;<br>2 - SHA224;<br>3 - SHA256;<br>4 - SHA384;<br>5 - SHA512.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* if `version` is set to "SNMPv3" and `securitylevel` is set to "authNoPriv" or "authPriv"| |privprotocol|integer|SNMPv3 privacy protocol. Used only by SNMPv3 interfaces.<br><br>Possible values:<br>0 - *(default)* - DES;<br>1 - AES128;<br>2 - AES192;<br>3 - AES256;<br>4 - AES192C;<br>5 - AES256C.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* if `version` is set to "SNMPv3" and `securitylevel` is set to "authPriv"| |contextname|string|SNMPv3 context name.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* if `version` is set to "SNMPv3"|
es	### Detalles de la interfaz personalizada  El objeto de detalles tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |version|entero|Versión de la interfaz SNMP.<br><br>Valores posibles:<br>1 - SNMPv1;<br>2 - SNMPv2c;<br>3 - SNMPv3.<br><br>[Comportamiento de la propiedad]( /manual/api/reference_commentary#property-behavior):<br>- *obligatorio*| |bulk|entero|Si se deben usar solicitudes SNMP masivas.<br><br>Valores posibles:<br>0 - no usar solicitudes masivas;<br>1 - *(predeterminado)* - usar solicitudes masivas.| |community|cadena|Comunidad SNMP.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* si `versión` está configurada en "SNMPv1" o " SNMPv2c"| |max_repetitions|entero|Valor máximo de repetición para [solicitudes masivas SNMP nativas](#native-snmp-bulk-requests) (GetBulkRequest-PDU).<br>Se usa solo para elementos `discovery[]` y `walk[]` en SNMPv2 y v3.<br><br>Predeterminado: 10.| |securityname|cadena|nombre de seguridad SNMPv3.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *compatible* si la `version` está configurada en "SNMPv3"| |securitylevel|entero|Nivel de seguridad SNMPv3.<br><br>Valores posibles:<br>0 - *(predeterminado)* - noAuthNoPriv;<br>1 - authNoPriv;<br>2 - authPriv.<br><br >[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *compatible* si `version` está configurada en "SNMPv3"| |authpassphrase|cadena|frase de contraseña de autenticación SNMPv3.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *compatible* si la `version` está configurada en "SNMPv3" y `securitylevel` está configurado en "authNoPriv" o "authPriv"| |privpassphrase|string|frase de contraseña de privacidad SNMPv3.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *compatible* si la `version` está configurada en "SNMPv3" y `securitylevel` está configurado en "authPriv"| |authprotocol|entero|Protocolo de autenticación SNMPv3.<br><br>Valores posibles:<br>0 - *(predeterminado)* - MD5;<br>1 - SHA1;<br>2 - SHA224;<br>3 - SHA256;<br>4 - SHA384;<br>5 - SHA512.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *compatible* si `version` está configurado en "SNMPv3" y `securitylevel` está configurado en "authNoPriv" o "authPriv"| |privprotocol|entero|Protocolo de privacidad SNMPv3. Utilizado solo por interfaces SNMPv3.<br><br>Valores posibles:<br>0 - *(predeterminado)* - DES;<br>1 - AES128;<br>2 - AES192;<br>3 - AES256;< br>4 - AES192C;<br>5 - AES256C.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *compatible* si `version` está configurada en "SNMPv3" y `securitylevel` están configurados en "authPriv"| |contextname|cadena|nombre de contexto SNMPv3.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *compatible* si `version` está configurada en "SNMPv3"|

en-us	 **Custom links**  [Host context menu](/manual/web_interface/menu/host_menu) and [event context menu](/manual/web_interface/menu/event_menu) can be customized further by adding custom links. In the *Alerts → [Scripts](/manual/web_interface/frontend_sections/alerts/scripts)* menu section, it is now possible to add a global script of the new type URL. If configured, such links will be visible in the context menu of matching hosts/problem events.
es	 **Enlaces personalizados**  El [menú contextual del equipo](/manual/web_interface/menu/host_menu) y el [menú contextual del evento](/manual/web_interface/menu/event_menu) se pueden personalizar aún más agregando enlaces personalizados. En la sección del menú *Alertas → [Scripts](/manual/web_interface/frontend_sections/alerts/scripts)*, Ahora es posible agregar un script global del nuevo tipo URL. Si se configuran, dichos enlaces serán visibles en el menú contextual de hosts coincidentes/eventos problemáticos.

en-us	##### Custom logo  To use a custom logo, add the following line to the array from the previous listing:  ```php 'BRAND_LOGO' => '{Path to an image on the disk or URL}', ```  Note that the path to the image on the disk should be relative to the Zabbix frontend root directory. So, for example, if the image is located in the same directory as the *brand.conf.php* file, then the path to the image should be: `'./local/conf/custom_logo.png'`.  There are two additional images of the Zabbix logo that can be overridden:  -   `BRAND_LOGO_SIDEBAR` - displayed when the sidebar is expanded; -   `BRAND_LOGO_SIDEBAR_COMPACT` - displayed when the sidebar is collapsed.  To override:  ```php 'BRAND_LOGO_SIDEBAR' => '{Path to an image on the disk or URL}', 'BRAND_LOGO_SIDEBAR_COMPACT' => '{Path to an image on the disk or URL}', ```  Any image format supported by modern browsers can be used: JPG, PNG, SVG, BMP, WebP, and GIF.  ::: noteclassic Custom logos will not be scaled, resized or modified in any other way, and will be displayed in their original size and proportions, except for the `BRAND_LOGO_SIDEBAR_COMPACT` that will be cropped (width: 24px; height: the same as `BRAND_LOGO_SIDEBAR`) to fit the collapsed sidebar. For reference, the following dimensions are used for Zabbix logos:<br><br>  -   `BRAND_LOGO`: 114x30px -   `BRAND_LOGO_SIDEBAR`: 91x24px -   `BRAND_LOGO_SIDEBAR_COMPACT`: 24x24px :::
es	##### Logotipo personalizado  Para usar un logotipo personalizado, agregue la siguiente línea a la matriz del listado anterior:  ```php 'BRAND_LOGO' => '{Ruta a una imagen en el disco o URL}', ```  Tenga en cuenta que la ruta a la imagen en el disco debe ser relativa al directorio raíz de la interfaz de Zabbix. Entonces, por ejemplo, si la imagen está ubicada en el mismo directorio que el archivo *brand.conf.php*, entonces la ruta a la imagen debe ser: `'./local/conf/custom_logo.png'`.  Hay dos imágenes adicionales del logotipo de Zabbix que se pueden sustituir:  - `BRAND_LOGO_SIDEBAR`: se muestra cuando se expande la barra lateral; - `BRAND_LOGO_SIDEBAR_COMPACT`: se muestra cuando la barra lateral está colapsada.  Para sustituir:  ```php 'BRAND_LOGO_SIDEBAR' => '{Ruta a una imagen en el disco o URL}', 'BRAND_LOGO_SIDEBAR_COMPACT' => '{Ruta a una imagen en el disco o URL}', ```  Se puede utilizar cualquier formato de imagen compatible con los navegadores modernos: JPG, PNG, SVG, BMP, WebP y GIF.  ::: noteclassic Los logotipos personalizados no se escalarán, cambiarán de tamaño ni modificarán de ninguna otra manera, y se mostrarán en su tamaño y proporciones originales. excepto `BRAND_LOGO_SIDEBAR_COMPACT` que se recortará (ancho: 24 px; alto: lo mismo que `BRAND_LOGO_SIDEBAR`) para que se ajuste a la barra lateral contraída. Como referencia, se utilizan las siguientes dimensiones para los logotipos de Zabbix:<br><br>  -`BRAND_LOGO`: 114x30px -`BRAND_LOGO_SIDEBAR`: 91x24px - `BRAND_LOGO_SIDEBAR_COMPACT`: 24x24px :::

en-us	#### Custom macros  The **LLD macros** tab allows to specify custom low-level discovery macros.  Custom macros are useful in cases when the returned JSON does not have the required macros already defined. So, for example:  -   The native `vfs.fs.discovery` key for filesystem discovery returns a     JSON with some pre-defined LLD macros such as {\#FSNAME},     {\#FSTYPE}. These macros can be used in item, trigger prototypes     (see subsequent sections of the page) directly; defining custom     macros is not needed; -   The `vfs.fs.get` agent item also returns a JSON with [filesystem     data](/manual/discovery/low_level_discovery/examples/mounted_filesystems),     but without any pre-defined LLD macros. In this case you may define     the macros yourself, and map them to the values in the JSON using     JSONPath:  ![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_c.png)  The extracted values can be used in discovered items, triggers, etc. Note that values will be extracted from the result of discovery and any preprocessing steps so far.  |Parameter|Description| |--|--------| |*LLD macro*|Name of the low-level discovery macro, using the following syntax: {\#MACRO}.| |*JSONPath*|Path that is used to extract LLD macro value from a LLD row, using JSONPath syntax.<br>For example, `$.foo` will extract "bar" and "baz" from this JSON: `[{"foo":"bar"}, {"foo":"baz"}]`<br>The values extracted from the returned JSON are used to replace the LLD macros in item, trigger, etc. prototype fields.<br>JSONPath can be specified using the dot notation or the bracket notation. Bracket notation should be used in case of any special characters and Unicode, like `$['unicode + special chars #1']['unicode + special chars #2']`.|
es	#### Macros personalizadas  La pestaña **Macros LLD** permite especificar macros de descubrimiento de bajo nivel personalizadas.  Las macros personalizadas son útiles en los casos en que el JSON devuelto no tiene las macros requeridas ya definidas. Así por ejemplo:  -   La clave nativa `vfs.fs.discovery` para el descubrimiento del sistema de archivos devuelve un     JSON con algunas macros LLD predefinidas como {\#FSNAME},     {\#FSTYPE}. Estas macros se pueden utilizar directamente en prototipos de métricas e      iniciadores (ver secciones siguientes de la página) ; no se requiere definir macros     personalizadas; -   La métrica del agente `vfs.fs.get` también devuelve un JSON con los [datis dek sistema de      archivos](/manual/discovery/low_level_discovery/examples/mounted_filesystems),     pero sin macros LLD predefinidas. En este caso usted puede definir     las macros usted mismo y asignarlas a los valores en el JSON usando     JSONPath:  ![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_c.png)  Los valores extraídos se pueden utilizar en métricas descubiertas, iniciadores, etc. Tenga en cuenta que los valores se extraerán del resultado del descubrimiento y de  cualquiera de los pasos de preprocesamiento hasta el momento.  |Parámetro|Descripción| |--|--------| |*Macro LLD*|Nombre de la macro de descubrimiento de bajo nivel, utilizando la siguiente sintaxis: {\#MACRO}.| |*JSONPath*|Ruta que se utiliza para extraer el valor de la macro LLD de una fila LLD, usando la sintaxis JSONPath.<br>Por ejemplo, `$.foo` extraerá "bar" y "baz" de este JSON: `[{ "foo":"bar"}, {"foo":"baz"}]`<br>Los valores extraídos del JSON devuelto se utilizan para reemplazar las macros LLD en los campos de prototipo de métricas, iniciadores, etc.<br> JSONPath se puede especificar utilizando la notación de puntos o la notación de corchetes. La notación entre corchetes debe usarse en caso de caracteres especiales y Unicode, como `$['unicode + caracteres especiales #1']['unicode + caracteres especiales #2']`.|

en-us	#### Custom script limit  Available custom script length depends on the database used:  |Database|Limit in characters|Limit in bytes| |---|---|---| |*MySQL*|65535|65535| |*PostgreSQL*|65535|not limited| |*Oracle*|2048|4000| |*SQLite (only Zabbix proxy)*|65535|not limited|
es	#### Límite de script personalizado  La longitud de los scripts personalizados disponibles depende de la base de datos utilizada:  |   |   |   | |---|---|---| |*Base de datos*|*Límite en caracteres*|*Limite en bytes*| |**MySQL**|65535|65535| |**Oracle Database**|2048|4000| |**PostgreSQL**|65535|ilimitada| |**SQLite (only Zabbix proxy)**|65535|ilimitada|

en-us	##### Custom themes  It is possible to change Zabbix frontend visual appearance by using custom themes. See the [instructions](/manual/web_interface/theming) on creating and applying your own themes.
es	##### Temas personalizados  Es posible cambiar la apariencia visual de la interfaz de Zabbix mediante el uso de temas personalizados. Ver las [instrucciones](/manual/web_interface/theming) sobre cómo crear y aplicar sus propios temas.

en-us	### CWidgetField  The *CWidgetField* class is a base class from which all form field classes (*CWidgetFieldCheckBox*, *CWidgetFieldTextArea*, *CWidgetFieldRadioButtonList*, etc.) are inherited. Classes extending *CWidgetField* are responsible for receiving, saving, and validating widget configuration values.  The following *CWidgetField* classes are available.  |CWidgetField class|Database field type|Description| |----|--|------------| |*CWidgetFieldCheckBox*|int32|Single checkbox.| |*CWidgetFieldCheckBoxList*|array of int32|Multiple checkboxes under a single configuration field.| |*CWidgetFieldColor*|string|Color selection field.| |*CWidgetFieldDatePicker*|string|Date selection field.| |*CWidgetFieldHostPatternSelect*|string|Multiselect field that allows to select one or multiple hosts. Supports defining host name patterns (all matching hosts will be selected).| |*CWidgetFieldIntegerBox*|int32|Field to enter an integer. Can be used to configure minimum and maximum values.| |*CWidgetFieldLatLng*|string|Text box that allows to enter comma-separated latitude, longitude, and map zoom level.| |*CWidgetFieldMultiSelectAction*|ID|Multiselect field for selecting actions (from the list of actions defined in the *Alerts → Actions*).| |*CWidgetFieldMultiSelectGraph*|ID|Multiselect field for selecting custom graphs.| |*CWidgetFieldMultiSelectGraphPrototype*|ID|Multiselect field for selecting custom graph prototypes.| |*CWidgetFieldMultiSelectGroup*|ID|Multiselect field for selecting host groups.| |*CWidgetFieldMultiSelectHost*|ID|Multiselect field for selecting hosts.| |*CWidgetFieldMultiSelectItem*|ID|Multiselect field for selecting items.| |*CWidgetFieldMultiSelectItemPrototype*|ID|Multiselect field for selecting item prototypes.| |*CWidgetFieldMultiSelectMediaType*|ID|Multiselect field for selecting media types.| |*CWidgetFieldMultiSelectService*|ID|Multiselect field for selecting services.| |*CWidgetFieldMultiSelectSla*|ID|Multiselect field for selecting SLAs.| |*CWidgetFieldMultiSelectUser*|ID|Multiselect field for selecting users.| |*CWidgetFieldNumericBox*|string|Field to enter a float number.| |*CWidgetFieldRadioButtonList*|int32|Radio box group that consists of one or more radio boxes.| |*CWidgetFieldRangeControl*|int32|Slider to select an integer type value.| |*CWidgetFieldSelect*|int32|Dropdown select box.| |*CWidgetFieldSeverities*|array of int32|*CWidgetFieldCheckBoxList* preset with trigger severities.| |*CWidgetFieldTags*|array of (string, int32, string)|Allows to configure one or more tag filter rows.| |*CWidgetFieldTextArea*|string|Text area for entering multi-line text.| |*CWidgetFieldTextBox*|string|Text box for entering single-line text.| |*CWidgetFieldTimeZone*|string|Dropdown with timezones.| |*CWidgetFieldUrl*|string|Text box that allows to enter URLs.|  The following *CWidgetField* classes have been created for particular widgets. These classes have very specific use cases, but they can also be reused if needed.  |CWidgetField class|Database field type|Description| |----|--|------------| |*CWidgetFieldColumnsList*|array of (multiple mixed)|For *Top hosts* widget. Create a table with custom columns of allowed types.| |*CWidgetFieldGraphDataSet*|array of (multiple mixed)|For *Graph* widget. Setup dataset configuration and all related options.| |*CWidgetFieldGraphOverride*|array of (multiple mixed)|For *Graph* widget. Setup overrides for specific hosts/items. Any dataset configuration can be overridden.| |*CWidgetFieldNavTree*|string|For *Map navigation tree* widget. Replaces widget view in edit mode with the map selection tree.| |*CWidgetFieldReference*|string|For *Map navigation tree* widget. Creates a unique identifier for this widget on dashboard. It is used to reference this widget from other widgets.| |*CWidgetFieldSelectResource*|ID|For *Map* widget. Allows to select Zabbix network map.| |*CWidgetFieldThresholds*|array of (string, string)|For *Top hosts* widget. Allows to configure color and number pairs.| |*CWidgetFieldWidgetSelect*|string|For *Map* widget. Allows to select a map navigation tree from the current dashboard. Must be used in combination with *CWidgetFieldReference* in the *Map navigation tree* widget.|
es	### CWidgetField  La clase *CWidgetField* es una clase base de la cual se heredan todas las clases de campos de formulario (*CWidgetFieldCheckBox*, *CWidgetFieldTextArea*, *CWidgetFieldRadioButtonList*, etc.). Las clases que extienden *CWidgetField* son responsables de recibir, guardar y validar los valores de configuración del widget.  Las siguientes clases *CWidgetField* están disponibles.  |Clase CWidgetField|Tipo de campo de base de datos|Descripción| |----|--|------------| |*CWidgetFieldCheckBox*|int32|Casilla de verificación única.| |*CWidgetFieldCheckBoxList*|matriz de int32|Varias casillas de verificación en un solo campo de configuración.| |*CWidgetFieldColor*|cadena|Campo de selección de color.| |*CWidgetFieldDatePicker*|cadena|Campo de selección de fecha.| |*CWidgetFieldHostPatternSelect*|string|Campo de selección múltiple que permite seleccionar uno o varios hosts. Admite la definición de patrones de nombres de host (se seleccionarán todos los hosts coincidentes).| |*CWidgetFieldIntegerBox*|int32|Campo para ingresar un número entero. Se puede utilizar para configurar valores mínimos y máximos.| |*CWidgetFieldLatLng*|cadena|Cuadro de texto que permite ingresar latitud, longitud y nivel de zoom del mapa separados por comas.| |*CWidgetFieldMultiSelectAction*|ID|Campo de selección múltiple para seleccionar acciones (de la lista de acciones definidas en *Alertas → Acciones*).| |*CWidgetFieldMultiSelectGraph*|ID|Campo de selección múltiple para seleccionar gráficos personalizados.| |*CWidgetFieldMultiSelectGraphPrototype*|ID|Campo de selección múltiple para seleccionar prototipos de gráficos personalizados.| |*CWidgetFieldMultiSelectGroup*|ID|Campo de selección múltiple para seleccionar grupos de hosts.| |*CWidgetFieldMultiSelectHost*|ID|Campo de selección múltiple para seleccionar hosts.| |*CWidgetFieldMultiSelectItem*|ID|Campo de selección múltiple para seleccionar métricas.| |*CWidgetFieldMultiSelectItemPrototype*|ID|Campo de selección múltiple para seleccionar prototipos de métricas.| |*CWidgetFieldMultiSelectMediaType*|ID|Campo de selección múltiple para seleccionar tipos de medios.| |*CWidgetFieldMultiSelectService*|ID|Campo de selección múltiple para seleccionar servicios.| |*CWidgetFieldMultiSelectSla*|ID|Campo de selección múltiple para seleccionar SLA.| |*CWidgetFieldMultiSelectUser*|ID|Campo de selección múltiple para seleccionar usuarios.| |*CWidgetFieldNumericBox*|string|Campo para ingresar un número flotante.| |*CWidgetFieldRadioButtonList*|int32|Grupo de cuadros de radio que consta de uno o más cuadros de radio.| |*CWidgetFieldRangeControl*|int32|Deslizador para seleccionar un valor de tipo entero.| |*CWidgetFieldSelect*|int32|Cuadro de selección desplegable.| |*CWidgetFieldSeverities*|matriz de int32|*CWidgetFieldCheckBoxList* preestablecido con gravedades de activación.| |*CWidgetFieldTags*|matriz de (string, int32, string)|Permite configurar una o más filas de filtro de etiquetas.| |*CWidgetFieldTextArea*|string|Área de texto para ingresar texto de varias líneas.| |*CWidgetFieldTextBox*|cadena|Cuadro de texto para ingresar texto de una sola línea.| |*CWidgetFieldTimeZone*|cadena|Desplegable con zonas horarias.| |*CWidgetFieldUrl*|cadena|Cuadro de texto que permite ingresar URL.|  Se han creado las siguientes clases *CWidgetField* para widgets particulares. Estas clases tienen casos de uso muy específicos, pero también se pueden reutilizar si es necesario.  |Clase CWidgetField|Tipo de campo de base de datos|Descripción| |----|--|------------| |*CWidgetFieldColumnsList*|matriz de (varios mixtos)|Para el widget *Hosts principales*. Cree una tabla con columnas personalizadas de tipos permitidos.| |*CWidgetFieldGraphDataSet*|matriz de (múltiples mixtos)|Para el widget *Graph*. Configurar la configuración del conjunto de datos y todas las opciones relacionadas.| |*CWidgetFieldGraphOverride*|matriz de (múltiples mixtos)|Para el widget *Graph*. Anulaciones de configuración para equipos/métricas específicos. Se puede anular cualquier configuración de conjunto de datos.| |*CWidgetFieldNavTree*|string|Para el widget *Árbol de navegación del mapa*. Reemplaza la vista del widget en modo de edición con el árbol de selección de mapas.| |*CWidgetFieldReference*|string|Para el widget *Árbol de navegación del mapa*. Crea un identificador único para este widget en el tablero. Se utiliza para hacer referencia a este widget desde otros widgets.| |*CWidgetFieldSelectResource*|ID|Para el widget *Mapa*. Permite seleccionar el mapa de red de Zabbix.| |*CWidgetFieldThresholds*|matriz de (cadena, cadena)|Para el widget *Host principales*. Permite configurar pares de colores y números.| |*CWidgetFieldWidgetSelect*|cadena|Para el widget *Mapa*. Permite seleccionar un árbol de navegación de mapas desde el tablero actual. Debe usarse en combinación con *CWidgetFieldReference* en el widget *Árbol de navegación del mapa*.|

en-us	### CWidgetFormView  The *CWidgetFormView* class is required for specifying the presentation logic of the fields defined in the *WidgetForm* class, determining their appearance and behavior when rendered in the configuration view.  The *CWidgetFormView* class supports the following methods:  -   *addField()* - receives an instance of the *CWidgetFieldView* class as a parameter;     each [*CWidgetField*](#cwidgetfield) class, has a respective *CWidgetFieldView* class for using in the widget configuration view. -   *includeJsFile()* - allows to add a JavaScript file to the widget configuration view. -   *addJavaScript()* - allows to add inline JavaScript that will be executed as soon as the widget configuration view is loaded.  The *CWidgetFormView* class should be located in the *views* directory.  **views/widget.edit.php example**  ```php <?php      /**  * My custom widget form view.  *  * @var CView $this  * @var array $data  */  use Zabbix\Widgets\Fields\CWidgetFieldGraphDataSet;  (new CWidgetFormView($data))     ->addField(         new CWidgetFieldMultiSelectItemView($data['fields']['itemid'], $data['captions']['items']['itemid'])     )     ->addField(         new CWidgetFieldTextBoxView($data['fields']['description']),         'js-advanced-configuration'     )     ->addField(         new CWidgetFieldColorView($data['fields']['chart_color']),         'js-advanced-configuration'     )     ->includeJsFile('widget.edit.js.php')     ->addJavaScript('my_widget_form.init('.json_encode([         'color_palette' => CWidgetFieldGraphDataSet::DEFAULT_COLOR_PALETTE     ], JSON_THROW_ON_ERROR).');')     ->show(); ```
es	### CWidgetFormView  La clase *CWidgetFormView* es necesaria para especificar la lógica de presentación de los campos definidos en la clase *WidgetForm*, determinando su apariencia y comportamiento cuando se representan en la vista de configuración.  La clase *CWidgetFormView* admite los siguientes métodos:  - *addField()* - recibe una instancia de la clase *CWidgetFieldView* como parámetro;     cada clase [*CWidgetField*](#cwidgetfield) tiene una clase *CWidgetFieldView* respectiva para usar en la vista de configuración del widget. - *includeJsFile()* - permite agregar un archivo JavaScript a la vista de configuración del widget. - *addJavaScript()* - permite agregar JavaScript en línea que se ejecutará tan pronto como se cargue la vista de configuración del widget.  La clase *CWidgetFormView* debe estar ubicada en el directorio *views*.  **ejemplo de views/widget.edit.php**  ```php <?php  /**  * My custom widget form view.  *  * @var CView $this  * @var array $data  */  use Zabbix\Widgets\Fields\CWidgetFieldGraphDataSet;  (new CWidgetFormView($data)) ->addField( new CWidgetFieldMultiSelectItemView($data['fields']['itemid'], $data['captions']['items']['itemid']) ) ->addField( new CWidgetFieldTextBoxView($data['fields']['description']), 'js-advanced-configuration' ) ->addField( new CWidgetFieldColorView($data['fields']['chart_color']), 'js-advanced-configuration' ) ->includeJsFile('widget.edit.js.php') ->addJavaScript('my_widget_form.init('.json_encode([ 'color_palette' => CWidgetFieldGraphDataSet::DEFAULT_COLOR_PALETTE ], JSON_THROW_ON_ERROR).');') ->show(); ```

en-us	# dashboard.create
es	# dashboard.create

en-us	# dashboard.delete
es	# dashboard.delete

en-us	# dashboard.get
es	# dashboard.get

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

en-us	### Dashboard page  The dashboard page object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |dashboard\_pageid|string|ID of the dashboard page.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *read-only*| |name|string|Dashboard page name.<br><br>Default: empty string.| |display\_period|integer|Dashboard page display period (in seconds).<br><br>Possible values: 0, 10, 30, 60, 120, 600, 1800, 3600.<br><br>Default: 0 (will use the default page display period).| |widgets|array|Array of the [dashboard widget](object#dashboard-widget) objects.|
es	### Página del tablero  El objeto de la página del tablero tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |dashboard\_pageid|cadena|ID de la página del tablero.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *solo lectura*| |name|cadena|Nombre de la página del panel.<br><br>Predeterminado: cadena vacía.| |display\_period|entero|Período de visualización de la página del panel (en segundos).<br><br>Valores posibles: 0, 10, 30, 60, 120, 600, 1800, 3600.<br><br>Predeterminado: 0 (Utilizará el período de visualización de página predeterminado).| |widgets|matriz|Matriz de los objetos [widget del tablero](object#dashboard-widget).|

en-us	 ##### Dashboard size  The minimum width of a dashboard is 1200 pixels. The dashboard will not shrink below this width; instead a  horizontal scrollbar is displayed if the browser window is smaller than that.  The maximum width of a dashboard is the browser window width. Dashboard widgets stretch horizontally to fit the window.  At the same time, a dashboard widget cannot be stretched horizontally beyond the window limits.  Technically the dashboard consists of 12 horizontal columns of always equal width that stretch/shrink dynamically (but  not to less than 1200 pixels total).  Vertically the dashboard may contain a maximum of 64 rows. Each row has a fixed height of 70 pixels. A widget may be  up to 32 rows high.
es	 ##### Tamaño del tablero  El ancho mínimo de un tablero es de 1200 píxeles. El tablero no se reducirá por debajo de este ancho; si la ventana del navegador es más pequeña que eso, se muestra una  barra de desplazamiento horizontal.  El ancho máximo de un tablero es el ancho de la ventana del navegador. Los widgets del tablero se extienden horizontalmente para adaptarse a la ventana. Al mismo tiempo, un widget de tablero no se puede extender horizontalmente más allá de los límites de la ventana.  Técnicamente, el tablero consta de 12 columnas horizontales de igual ancho que se estiran/encogen dinámicamente (pero no menos de 1200 píxeles en total).  Verticalmente el tablero puede contener un máximo de 64 filas. Cada fila tiene una altura fija de 70 píxeles. Un widget puede ser de hasta 32 filas de alto.

en-us	#### Dashboards  Manage dashboards and make scheduled reports based on them.  [Dashboard API](/manual/api/reference/dashboard) | [Template dashboard API](/manual/api/reference/templatedashboard) | [Report API](/manual/api/reference/report)
es	#### Tableros  Administre tableros y cree informes programados basados en ellos.  [API de Tablero](/manual/api/reference/dashboard) | [API de Plantilla de Tablero](/manual/api/reference/templatedashboard) | [API de informe](/manual/api/reference/report)

en-us	### Dashboard  The dashboard object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |dashboardid|string|ID of the dashboard.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *read-only*<br>- *required* for update operations| |name|string|Name of the dashboard.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* for create operations| |userid|string|Dashboard owner user ID.| |private|integer|Type of dashboard sharing.<br><br>Possible values:<br>0 - public dashboard;<br>1 - *(default)* private dashboard.| |display\_period|integer|Default page display period (in seconds).<br><br>Possible values: 10, 30, 60, 120, 600, 1800, 3600.<br><br>Default: 30.| |auto\_start|integer|Auto start slideshow.<br><br>Possible values:<br>0 - do not auto start slideshow;<br>1 - *(default)* auto start slideshow.|
es	### Tablero  El objeto del tablero tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |dashboardid|cadena|ID del tablero.<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 tablero.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio* para operaciones de creación| |userid|cadena|ID de usuario del propietario del tablero.| |private|entero|Tipo de panel compartido.<br><br>Valores posibles:<br>0 - tablero público;<br>1 - *(predeterminado)* tablero privado.| |display\_period|entero|Período de visualización de página predeterminado (en segundos).<br><br>Valores posibles: 10, 30, 60, 120, 600, 1800, 3600.<br><br>Predeterminado: 30.| |auto\_start|entero|Iniciar presentación de diapositivas automáticamente.<br><br>Valores posibles:<br>0 - no iniciar presentación de diapositivas automáticamente;<br>1 - *(predeterminado)* iniciar presentación de diapositivas automáticamente.|

en-us	# Dashboard  This class is designed to work with dashboards.  Object references:\  -   [Dashboard](/manual/api/reference/dashboard/object#dashboard) -   [Dashboard     page](/manual/api/reference/dashboard/object#dashboard_page) -   [Dashboard     widget](/manual/api/reference/dashboard/object#dashboard_widget) -   [Dashboard widget     field](/manual/api/reference/dashboard/object#dashboard_widget_field) -   [Dashboard     user](/manual/api/reference/dashboard/object#dashboard_user) -   [Dashboard user     group](/manual/api/reference/dashboard/object#dashboard_user_group)  Available methods:\  -   [dashboard.create](/manual/api/reference/dashboard/create) -     creating new dashboards -   [dashboard.delete](/manual/api/reference/dashboard/delete) -     deleting dashboards -   [dashboard.get](/manual/api/reference/dashboard/get) - retrieving     dashboards -   [dashboard.update](/manual/api/reference/dashboard/update) -     updating dashboards
es	# Tablero  Esta clase está diseñada para trabajar con tableros.  Referencias de objetos:\  - [Panel](/manual/api/reference/dashboard/object#dashboard) -   [Tablero     página](/manual/api/reference/dashboard/object#dashboard_page) -   [Tablero     widget](/manual/api/reference/dashboard/object#dashboard_widget) - [Widget de tablero     campo](/manual/api/reference/dashboard/object#dashboard_widget_field) -   [Tablero     usuario](/manual/api/reference/dashboard/object#dashboard_user) - [Usuario del panel     grupo](/manual/api/reference/dashboard/object#dashboard_user_group)  Métodos disponibles:\  - [dashboard.create](manual/api/reference/dashboard/create) -     creando nuevos tableros - [dashboard.delete](/manual/api/reference/dashboard/delete) -     eliminación de tableros - [dashboard.get](/manual/api/reference/dashboard/get) - recuperando     tableros - [dashboard.update](/manual/api/reference/dashboard/update) -     actualizar tableros

en-us	# dashboard.update
es	# dashboard.update

en-us	### Dashboard user group  List of dashboard permissions based on user groups. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |usrgrpid|string|User group ID.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |permission|integer|Type of permission level.<br><br>Possible values:<br>2 - read only;<br>3 - read-write.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*|
es	### Grupo de usuarios del tablero  Lista de permisos del tablero basados en grupos de usuarios. Tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |usrgrpid|string|ID de grupo de usuarios.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio*| |permission|entero|Tipo de nivel de permiso.<br><br>Valores posibles:<br>2 - solo lectura;<br>3 - lectura-escritura.<br><br>[Comportamiento de la propiedad](/manual/ api/reference_commentary#property-behavior):<br>- *obligatorio*|

en-us	### Dashboard user  List of dashboard permissions based on users. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |userid|string|User ID.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |permission|integer|Type of permission level.<br><br>Possible values:<br>2 - read only;<br>3 - read-write.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*|
es	### Usuario del tablero  Lista de permisos del tablero basados en usuarios. Tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |userid|cadena|ID de usuario.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio*| |permission|entero|Tipo de nivel de permiso.<br><br>Valores posibles:<br>2 - solo lectura;<br>3 - lectura-escritura.<br><br>[Comportamiento de la propiedad](/manual/ api/reference_commentary#property-behavior):<br>- *obligatorio*|

en-us	# Dashboard widget fields
es	# Campos del widget del tablero

en-us	### Dashboard widget field  The dashboard widget field object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |type|integer|Type of the widget field.<br><br>Possible values:<br>0 - Integer;<br>1 - String;<br>2 - Host group;<br>3 - Host;<br>4 - Item;<br>5 - Item prototype;<br>6 - Graph;<br>7 - Graph prototype;<br>8 - Map;<br>9 - Service;<br>10 - SLA;<br>11 - User;<br>12 - Action;<br>13 - Media type.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |name|string|Widget field name.<br><br>Possible values: see [Dashboard widget fields](/manual/api/reference/dashboard/widget_fields).<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |value|mixed|Widget field value depending on the type.<br><br>Possible values: see [Dashboard widget fields](/manual/api/reference/dashboard/widget_fields).<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*|
es	### Campo del widget del tablero  El objeto de campo del widget del tablero tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |type|entero|Tipo del campo del widget.<br><br>Valores posibles:<br>0 - Entero;<br>1 - Cadena;<br>2 - Grupo de equipos;<br>3 - Equipo;< br>4 - Métrica;<br>5 - Prototipo de métrica;<br>6 - Gráfico;<br>7 - Prototipo de gráfico;<br>8 - Mapa;<br>9 - Servicio;<br>10 - SLA; <br>11 - Usuario;<br>12 - Acción;<br>13 - Tipo de medio.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- * requerido*| |name|cadena|Nombre del campo del widget.<br><br>Valores posibles: consulte [Campos del widget del panel](/manual/api/reference/dashboard/widget_fields).<br><br>[Comportamiento de la propiedad](/manual /api/reference_commentary#property-behavior):<br>- *obligatorio*| |value|mixto|Valor del campo del widget según el tipo.<br><br>Valores posibles: consulte [Campos del widget del panel](/manual/api/reference/dashboard/widget_fields).<br><br>[Comportamiento de la propiedad ](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio*|

en-us	#### Dashboard widgets
es	#### Widgets del tablero

en-us	### Dashboard widget  The dashboard widget object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |widgetid|string|ID of the dashboard widget.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *read-only*| |type|string|Type of the dashboard widget.<br><br>Possible values:<br>actionlog - Action log;<br>clock - Clock;<br>*(deprecated)* dataover - Data overview;<br>discovery - Discovery status;<br>favgraphs - Favorite graphs;<br>favmaps - Favorite maps;<br>geomap - Geomap;<br>graph - Graph (classic);<br>graphprototype - Graph prototype;<br>hostavail - Host availability;<br>item - Item value;<br>map - Map;<br>navtree - Map Navigation Tree;<br>plaintext - Plain text;<br>problemhosts - Problem hosts;<br>problems - Problems;<br>problemsbysv - Problems by severity;<br>slareport - SLA report;<br>svggraph - Graph;<br>systeminfo - System information;<br>tophosts - Top hosts;<br>trigover - Trigger overview;<br>url - URL;<br>web - Web monitoring.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*| |name|string|Custom widget name.| |x|integer|A horizontal position from the left side of the dashboard.<br><br>Valid values range from 0 to 23.| |y|integer|A vertical position from the top of the dashboard.<br><br>Valid values range from 0 to 62.| |width|integer|The widget width.<br><br>Valid values range from 1 to 24.| |height|integer|The widget height.<br><br>Valid values range from 2 to 32.| |view\_mode|integer|The widget view mode.<br><br>Possible values:<br>0 - *(default)* default widget view;<br>1 - with hidden header;| |fields|array|Array of the [dashboard widget field](object#dashboard-widget-field) objects.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- see individual widgets in [Dashboard widget fields](/manual/api/reference/dashboard/widget_fields)|
es	### Widget del panel  El objeto del widget de tablero tiene las siguientes propiedades.  |Propiedad|[Tipo](/manual/api/reference_commentary#data_types)|Descripción| |--|--|------| |widgetid|cadena|ID del widget de tablero.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *solo lectura*| |type|cadena|Tipo de widget de tablero.<br><br>Valores posibles:<br>actionlog - Registro de acciones;<br>clock - Reloj;<br>*(obsoleto)* dataover - Descripción general de datos;<br >discovery - Estado del descubrimiento;<br>favgraphs - Gráficos favoritos;<br>favmaps - Mapas favoritos;<br>geomap - Geomap;<br>graph - Gráfico (clásico);<br>graphprototype - Prototipo de gráfico;<br> hostavail - Disponibilidad de equipo;<br>item - Valor de la métrica;<br>map - Mapa;<br>navtree - Árbol de navegación del mapa;<br>plaintext - Texto sin formato;<br>problemhosts - Equipos con problemas;<br>problems - Problemas;<br>problemsbysv - Problemas por gravedad;<br>slareport - Informe SLA;<br>svggraph - Gráfico;<br>systeminfo - Información del sistema;<br>tophosts - Equipos principales;<br>trigover - Descripción general del iniciador; <br>url - URL;<br>web - Monitoreo web.<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br>- *obligatorio*| |name|cadena|Nombre del widget personalizado.| |x|entero|Una posición horizontal desde el lado izquierdo del tablero.<br><br>Los valores válidos van de 0 a 23.| |y|entero|Una posición vertical desde la parte superior del tablero.<br><br>Los valores válidos van de 0 a 62.| |width|entero|El ancho del widget.<br><br>Los valores válidos oscilan entre 1 y 24.| |height|entero|La altura del widget.<br><br>Los valores válidos oscilan entre 2 y 32.| |view\_mode|entero|El modo de vista del widget.<br><br>Valores posibles:<br>0 - *(predeterminado)* vista predeterminada del widget;<br>1 - con encabezado oculto;| |fields|matriz|Matriz de los objetos [campo del widget de tablero](object#dashboard-widget-field).<br><br>[Comportamiento de la propiedad](/manual/api/reference_commentary#property-behavior):<br> - ver widgets individuales en [campos de widgets de tablero](/manual/api/reference/dashboard/widget_fields)|

en-us	#### dashboard  [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) Added new [dashboard widget field](/manual/api/reference/dashboard/object#dashboard-widget-field) types (11 - User, 12 - Action, 13 - Media type).\  Added new possible value combinations of the dashboard widget field object properties for different widget types:\ [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) `actionlog`: Added `"type": 11, "name": "userids", "value": <user ID>`.\ [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) `actionlog`: Added `"type": 12, "name": "actionids", "value": <action ID>`.\ [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) `actionlog`: Added `"type": 13, "name": "mediatypeids", "value": <media type ID>`.\ [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) `actionlog`: Added `"type": 0, "name": "statuses", "value": <0 - In progress; 1 - Sent/Executed; 2 - Failed>`.\ [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) `actionlog`: Added `"type": 1, "name": "message", "value": "<any string value>"`.\ [ZBXNEXT-7661](https://support.zabbix.com/browse/ZBXNEXT-7661) `item`: Added `"type": 1, "name": "thresholds.color.<N>", "value": "<hexadecimal color code>"`.\ [ZBXNEXT-7661](https://support.zabbix.com/browse/ZBXNEXT-7661) `item`: Added `"type": 1, "name": "thresholds.threshold.<N>", "value": "<any string value>"`.\ [ZBXNEXT-5491](https://support.zabbix.com/browse/ZBXNEXT-5491) `svggraph`: Added `"type": 1, "name": "ds.data_set_label.<N>", "value": "<any string value>"`.\ [ZBXNEXT-8165](https://support.zabbix.com/browse/ZBXNEXT-8165) `tophosts`: Added `"type": 0, "name": "columns.decimal_places.<N>", "value": <valid values range: 0-10>`.\
es	#### tablero  [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) Se agregaron nuevos tipos de [campo de widget de tablero](/manual/api/reference/dashboard/object#dashboard-widget-field) (11 - Usuario, 12 - Acción, 13 - Tipo de medio).\  Se agregaron nuevas combinaciones de valores posibles de las propiedades del objeto de campo del widget del panel para diferentes tipos de widget:\ [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) `actionlog`: Añadido `"type": 11, "name": "userids", "value": <user ID> `.\ [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) `actionlog`: Añadido `"tipo": 12, "nombre": "actionids", "valor": <ID de acción> `.\ [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) `actionlog`: Se agregó `"type": 13, "name": "mediatypeids", "value": <ID de tipo de medio >`.\ [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) `actionlog`: Añadido `"tipo": 0, "nombre": "estados", "valor": <0 - En progreso; 1 - Enviado/Ejecutado; 2 - Error>`.\ [ZBXNEXT-4714](https://support.zabbix.com/browse/ZBXNEXT-4714) `actionlog`: Añadido `"tipo": 1, "nombre": "mensaje", "valor": "<cualquier cadena valor>"`.\ [ZBXNEXT-7661](https://support.zabbix.com/browse/ZBXNEXT-7661) `item`: Añadido `"tipo": 1, "nombre": "umbrales.color.<N>", "valor ": "<código de color hexadecimal>"`.\ [ZBXNEXT-7661](https://support.zabbix.com/browse/ZBXNEXT-7661) `item`: Añadido `"tipo": 1, "nombre": "umbrales.umbral.<N>", "valor ": "<cualquier valor de cadena>"`.\ [ZBXNEXT-5491](https://support.zabbix.com/browse/ZBXNEXT-5491) `svggraph`: Se agregó `"tipo": 1, "nombre": "ds.data_set_label.<N>", "valor ": "<cualquier valor de cadena>"`.\ [ZBXNEXT-8165](https://support.zabbix.com/browse/ZBXNEXT-8165) `tophosts`: Se agregó `"tipo": 0, "nombre": "columnas.decimal_places.<N>", "valor ": <rango de valores válidos: 0-10>`.\

en-us	### Database creation  We assume that a *zabbix* database user with *password* password exists and has permissions to create database objects in ORCL service located on the *host* Oracle database server. Zabbix requires a Unicode database character set and a `UTF8` national character set. Check current settings:      sqlplus> select parameter,value from v$nls_parameters where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';  Now prepare the database:      shell> cd /path/to/zabbix-sources/database/oracle     shell> sqlplus zabbix/password@oracle_host/ORCL     sqlplus> @schema.sql     # stop here if you are creating database for Zabbix proxy     sqlplus> @images.sql     sqlplus> @data.sql  ::: notetip Please set the initialization parameter CURSOR\_SHARING=FORCE for best performance. :::
es	### Creación de base de datos  Suponemos que existe un usuario de base de datos *zabbix* con la contraseña *password*  y tiene permisos para crear objetos de base de datos en el servicio ORCL ubicado en el servidor de base de datos Oracle *host*. Zabbix requiere una base de datos con el juego de caracteres Unicode y un juego de caracteres nacional `UTF8`. Verifique los ajustes actuales:      sqlplus> select parameter,value from v$nls_parameters where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';  Ahora prepare la base de datos:      shell> cd /path/to/zabbix-sources/database/oracle     shell> sqlplus zabbix/password@oracle_host/ORCL     sqlplus> @schema.sql     # deténgase aquí si está creando una base de datos para el proxy Zabbix     sqlplus> @images.sql     sqlplus> @data.sql  ::: notetip Por favor configure el parámetro de inicialización CURSOR\_SHARING=FORCE para obtener un mejor rendimiento. :::

en-us	### Database credentials  Access to a secret with database credentials is configured for each Zabbix component separately.   #### Server and proxies  To obtain database credentials from the vault for Zabbix [server](/manual/appendix/config/zabbix_server) or [proxy](/manual/appendix/config/zabbix_proxy), specify the following configuration parameters in the configuration file:  -   `Vault` - which vault provider should be used; -   `VaultToken` - vault authentication token (see Zabbix server/proxy configuration file for details); -   `VaultURL` - vault server HTTP\[S\] URL; -   `VaultDBPath` - path to the vault secret containing database credentials; Zabbix server or proxy will retrieve the credentials by keys "password" and "username".  :::noteimportant Zabbix server also uses the `Vault`, `VaultToken` and `VaultURL` configuration parameters for vault authentication when processing vault secret macros. :::  Zabbix server and Zabbix proxy read the vault-related configuration parameters from *zabbix_server.conf* and *zabbix_proxy.conf* upon startup. Additionally, Zabbix server and Zabbix proxy will read the `VAULT_TOKEN` environment variable once during startup and will unset it so that it would not be available through forked scripts; it is an error if both `VaultToken` and `VAULT_TOKEN` parameters contain a value.
es	### Credenciales de base de datos  El acceso a un secreto con credenciales de base de datos se configura para cada componente de Zabbix por separado.  #### Servidor y servidores proxy  Para obtener las credenciales de la base de datos del almacén para el [servidor](/manual/appendix/config/zabbix_server) o [proxy](/manual/appendix/config/zabbix_proxy) Zabbix , especifique los siguientes parámetros de configuración en el archivo de configuración:  - `Vault`: qué proveedor de bóveda se debe utilizar; - `VaultToken`: token de autenticación de bóveda (consulte el archivo de configuración del servidor/proxy Zabbix para obtener más detalles); - `VaultURL` - URL HTTP\[S\] del servidor de bóveda; - `VaultDBPath`: ruta al secreto de la bóveda que contiene las credenciales de la base de datos; El servidor o proxy de Zabbix recuperará las credenciales mediante las claves "contraseña" y "nombre de usuario".  :::noteimportant El servidor Zabbix también utiliza los parámetros de configuración `Vault`, `VaultToken` y `VaultURL` para la autenticación de la bóveda al procesar macros secretas de la bóveda. :::  El servidor Zabbix y el proxy Zabbix leen los parámetros de configuración relacionados con la bóveda de *zabbix_server.conf* y *zabbix_proxy.conf* al inicio. Además, el servidor Zabbix y el proxy Zabbix leerán la variable de entorno `VAULT_TOKEN` una vez durante el inicio y la desactivarán para que no esté disponible a través de scripts bifurcados; es un error si los parámetros `VaultToken` y `VAULT_TOKEN` contienen un valor.

en-us	### Database credentials  Access to a secret with database credentials is configured for each Zabbix component separately.  #### Server and proxies  To obtain database credentials from the vault for Zabbix [server](/manual/appendix/config/zabbix_server) or [proxy](/manual/appendix/config/zabbix_proxy), specify the following configuration parameters in the configuration file:  -   `Vault` - which vault provider should be used; -   `VaultURL` - vault server HTTP\[S\] URL; -   `VaultDBPath` - query to the vault secret containing database credentials which will be retrieved by keys "Content" and "UserName"; -   `VaultTLSCertFile`, `VaultTLSKeyFile` - SSL certificate and key file names; setting up these options is not mandatory, but highly recommended.  :::noteimportant Zabbix server also uses the `Vault`, `VaultURL`, `VaultTLSCertFile` and `VaultTLSKeyFile` configuration parameters for vault authentication when processing vault secret macros. :::  Zabbix server and Zabbix proxy read the vault-related configuration parameters from *zabbix_server.conf* and *zabbix_proxy.conf* files upon startup.
es	### Credenciales de base de datos  El acceso a un secreto con credenciales de base de datos se configura para cada componente de Zabbix por separado.  #### Servidor y servidores proxy  Para obtener las credenciales de la base de datos del almacén para el [servidor](/manual/appendix/config/zabbix_server)  o [proxy](/manual/appendix/config/zabbix_proxy) Zabbix, especifique los siguientes parámetros de configuración en el archivo de configuración:  - `Vault`: qué proveedor de bóveda se debe utilizar; - `VaultURL` - URL HTTP\[S\] del servidor de bóveda; - `VaultDBPath`: consulta al secreto de la bóveda que contiene las credenciales de la base de datos que se recuperarán mediante las claves "Contenido" y "Nombre de usuario"; - `VaultTLSCertFile`, `VaultTLSKeyFile`: certificado SSL y nombres de archivos clave; Configurar estas opciones no es obligatorio, pero sí muy recomendable.  :::noteimportant El servidor Zabbix también utiliza los parámetros de configuración `Vault`, `VaultURL`, `VaultTLSCertFile` y `VaultTLSKeyFile` para la autenticación de la bóveda cuando se procesan macros secretas de la bóveda. :::  El servidor Zabbix y el proxy Zabbix leen los parámetros de configuración relacionados con la bóveda de los archivos *zabbix_server.conf* y *zabbix_proxy.conf* al inicio.

en-us	## Databases
es	## Bases de datos

en-us	## Databases
es	## Bases de datos

en-us	## Databases
es	## Bases de datos

en-us	## Databases
es	## Bases de datos

en-us	## Databases
es	## Bases de datos

en-us	## Databases
es	## Bases de datos

en-us	#### Database size  Zabbix configuration data require a fixed amount of disk space and do not grow much.  Zabbix database size mainly depends on these variables, which define the amount of stored historical data:  -   Number of processed values per second  This is the average number of new values Zabbix server receives every second. For example, if we have 3000 items for monitoring with a refresh rate of 60 seconds, the number of values per second is calculated as 3000/60 = **50**.  It means that 50 new values are added to Zabbix database every second.  -   Housekeeper settings for history  Zabbix keeps values for a fixed period of time, normally several weeks or months. Each new value requires a certain amount of disk space for data and index.  So, if we would like to keep 30 days of history and we receive 50 values per second, the total number of values will be around (**30**\*24\*3600)\* **50** = 129.600.000, or about 130M of values.  Depending on the database engine used, type of received values (floats, integers, strings, log files, etc), the disk space for keeping a single value may vary from 40 bytes to hundreds of bytes. Normally it is around 90 bytes per value for numeric items^**2**^. In our case, it means that 130M of values will require 130M \* 90 bytes = **10.9GB** of disk space.  ::: noteclassic The size of text/log item values is impossible to predict exactly, but you may expect around 500 bytes per value. :::  -   Housekeeper setting for trends  Zabbix keeps a 1-hour max/min/avg/count set of values for each item in the table **trends**. The data is used for trending and long period graphs. The one hour period can not be customized.  Zabbix database, depending on the database type, requires about 90 bytes per each total. Suppose we would like to keep trend data for 5 years. Values for 3000 items will require 3000\*24\*365\* **90** = **2.2GB** per year, or **11GB** for 5 years.  -   Housekeeper settings for events  Each Zabbix event requires approximately 250 bytes of disk space^**1**^. It is hard to estimate the number of events generated by Zabbix daily. In the worst-case scenario, we may assume that Zabbix generates one event per second.  For each recovered event, an event\_recovery record is created. Normally most of the events will be recovered so we can assume one event\_recovery record per event. That means additional 80 bytes per event.  Optionally events can have tags, each tag record requiring approximately 100 bytes of disk space^**1**^. The number of tags per event (\#tags) depends on configuration. So each will need an additional \#tags \* 100 bytes of disk space.  It means that if we want to keep 3 years of events, this would require 3\*365\*24\*3600\* (250+80+\#tags\*100) = **\~30GB**+\#tags\*100B disk space^**2**^.  ::: noteclassic  ^**1**^ More when having non-ASCII event names, tags and values.\ ^**2**^ The size approximations are based on MySQL and might be different for other databases.  :::  The table contains formulas that can be used to calculate the disk space required for Zabbix system:  |Parameter|Formula for required disk space (in bytes)| |---------|------------------------------------------| |*Zabbix configuration*|Fixed size. Normally 10MB or less.| |*History*|days\*(items/refresh rate)\*24\*3600\*bytes<br>items : number of items<br>days : number of days to keep history<br>refresh rate : average refresh rate of items<br>bytes : number of bytes required to keep single value, depends on database engine, normally \~90 bytes.| |*Trends*|days\*(items/3600)\*24\*3600\*bytes<br>items : number of items<br>days : number of days to keep history<br>bytes : number of bytes required to keep single trend, depends on the database engine, normally \~90 bytes.| |*Events*|days\*events\*24\*3600\*bytes<br>events : number of event per second. One (1) event per second in worst-case scenario.<br>days : number of days to keep history<br>bytes : number of bytes required to keep single trend, depends on the database engine, normally \~330 + average number of tags per event \* 100 bytes.|  So, the total required disk space can be calculated as:\ **Configuration + History + Trends + Events**\ The disk space will NOT be used immediately after Zabbix installation. Database size will grow then it will stop growing at some point, which depends on housekeeper settings.
es	#### Tamaño de la base de datos  Los datos de configuración de Zabbix requieren una cantidad fija de espacio en disco y no crece mucho.  El tamaño de la base de datos de Zabbix depende principalmente de estas variables, que definen la cantidad de datos históricos almacenados:  - Número de valores procesados por segundo  Este es el número promedio de valores nuevos que el servidor Zabbix recibe cada segundo. Por ejemplo, si tenemos 3000 métricas para monitorear con una velocidad de actualización de 60 segundos, el número de valores por segundo se calcula como 3000/60 = **50**.  Significa que se agregan 50 nuevos valores a la base de datos de Zabbix cada segundo.  - Configuración del limpiador para el historial.  Zabbix mantiene los valores durante un período de tiempo fijo, normalmente varias semanas o meses. Cada nuevo valor requiere una cierta cantidad de espacio en disco para datos e índice.  Entonces, si queremos conservar 30 días de historial y recibimos 50 valores por segundo, el número total de valores será de aproximadamente (**30**\*24\*3600)\* **50** = 129.600.000, o alrededor de 130 millones de valores.  Dependiendo del motor de base de datos utilizado, el tipo de valores recibidos (flotantes, enteros, cadenas, archivos de registro, etc.), el espacio en disco para mantener un único valor puede variar desde 40 bytes hasta cientos de bytes. normalmente esta alrededor 90 bytes por valor para métricas numéricas^**2**^. En nuestro caso, significa que 130 M de valores requerirán 130 M \* 90 bytes = **10,9 GB** de espacio en disco.  ::: noteclassic El tamaño de los valores de texto/elementos de registro es imposible de predecir exactamente, pero puede esperar alrededor de 500 bytes por valor. :::  - Configuración del limpiador para las tendencias.  Zabbix mantiene un conjunto de valores máximo/mínimo/promedio/recuento de 1 hora para cada métrica en la tabla de **tendencias**. Los datos se utilizan para gráficos de tendencias y períodos prolongados. El período de una hora no se puede personalizar.  La base de datos Zabbix, según el tipo de base de datos, requiere alrededor de 90 bytes por cada total. Supongamos que queremos conservar los datos de tendencias durante 5 años. Los valores para 3000 elementos requerirán 3000\*24\*365\* **90** = **2,2 GB** por año, o **11 GB** durante 5 años.  - Configuración del limpiador para eventos.  Cada evento de Zabbix requiere aproximadamente 250 bytes de espacio en disco^**1**^. Es difícil estimar la cantidad de eventos que genera Zabbix diariamente. En el peor de los casos, podemos suponer que Zabbix genera un evento por segundo.  Para cada evento recuperado, se crea un registro event\_recovery. Normalmente la mayoría de los eventos se recuperarán, por lo que podemos asumir un registro de event\_recovery por evento. Eso significa 80 bytes adicionales por evento.  Opcionalmente, los eventos pueden tener etiquetas; cada registro de etiqueta requiere aproximadamente 100 bytes de espacio en disco^**1**^. El número de etiquetas por evento (\#tags) Depende de la configuración. Por lo tanto, cada uno necesitará \#tags \* 100  bytes adicionales de espacio en disco.  Significa que si queremos conservar 3 años de eventos, esto requeriría 3\*365\*24\*3600\* (250+80+\#tags\*100) = **\~30GB**+\#tags\*100B  espacio en disco^**2**^.  ::: noteclassic  ^**1**^ Más cuando se tienen nombres de eventos, etiquetas y valores que no sean ASCII.\ ^**2**^ Las aproximaciones de tamaño se basan en MySQL y pueden ser diferentes para otras bases de datos. :::  La tabla contiene fórmulas que se pueden utilizar para calcular el espacio en disco requerido para el sistema Zabbix:  |Parámetro|Fórmula para el espacio en disco requerido (en bytes)| |---------|---------------------------------------------------| |*Configuración de Zabbix*|Tamaño fijo. Normalmente 10 MB o menos.| |*Historial*|días\*(métricas/frecuencia de actualización)\*24\*3600\*bytes<br>métricas: número de métricas<br>días: número de días para mantener el historial<br>frecuencia de actualización: actualización promedio tasa de métricas<br>bytes: número de bytes necesarios para mantener un valor único, depende del motor de la base de datos, normalmente \~90 bytes.| |*Tendencias*|días\*(métricas/3600)\*24\*3600\*bytes<br>elementos: número de métricas<br>días: número de días para mantener el historial<br>bytes: número de bytes necesarios para mantener una tendencia única, depende del motor de la base de datos, normalmente \~90 bytes.| |*Eventos*|días\*eventos\*24\*3600\*bytes<br>eventos: número de eventos por segundo. Un (1) evento por segundo en el peor de los casos.<br>días: número de días para mantener el historial<br>bytes: número de bytes necesarios para mantener una tendencia única, depende del motor de base de datos, normalmente \~330 + promedio número de etiquetas por evento \* 100 bytes.|  Entonces, el espacio total requerido en disco se puede calcular como:\ **Configuración + Historial + Tendencias + Eventos**\ El espacio en disco NO se utilizará inmediatamente después de la instalación de Zabbix. El tamaño de la base de datos crecerá y luego dejará de crecer en algún momento, lo que depende de la configuración del limpiador.

en-us	## Databases  #### Supported versions  PostgreSQL **16** and MariaDB **11.1** are now supported. See also: [Requirements](/manual/installation/requirements#third-party-external-surrounding-software).
es	## Bases de datos  #### Versiones compatibles  PostgreSQL **16** y MariaDB **11.1** ahora son compatibles. Consulte también: [Requisitos](/manual/instalación/requisitos#software-entorno-externo-de-terceros).

en-us	##### Database storage  All configuration information as well as the data gathered by Zabbix is stored in a database.
es	##### Almacenamiento en base de datos  Toda la información de configuración, así como los datos recopilados por Zabbix son almacenados en una base de datos.

en-us	#### Database TLS connection for MySQL on SLES 12  The packages for server/proxy installation on SUSE Linux Enterprise Server version 12 are now built using MariaDB Connector/C library, thus enabling the encryption of connection to MySQL using the DBTLSConnect [parameter](/manual/appendix/config/zabbix_server). The supported encryption values are "required" and "verify\_full".
es	#### Conexión TLS de base de datos para MySQL en SLES 12  Los paquetes para la instalación de servidor/proxy en SUSE Linux Enterprise Server versión 12 ahora se crean usando la librería MariaDB Connector/C, permitiendo así el cifrado de la conexión a MySQL utilizando el [parámetro](/manual/appendix/config/zabbix_server) DBTLSConnect. Los valores de cifrado admitidos son "required" y "verify\_full".

en-us	#### Database TLS connection with MariaDB  Database TLS connection is not supported with the 'verify\_ca' option for the DBTLSConnect [parameter](/manual/appendix/config/zabbix_server) if MariaDB is used.
es	#### Conexión de base de datos TLS con MariaDB  La conexión TLS de la base de datos no es compatible con la opción 'verify\_ca' para DBTLSConnect [parámetro](/manual/appendix/config/zabbix_server) si se utiliza MariaDB.

en-us	## Data collection  The Zabbix API allows you to manage the configuration of your monitoring system.
es	## Recopilación de datos  La API de Zabbix te permite gestionar la configuración de su sistema  de monitorización.

en-us	#### Data collection  Virtual machine monitoring consists of two steps:  1. Zabbix *vmware collector* processes collect virtual machine data - the processes obtain necessary information from VMware web services over the SOAP protocol, pre-process it, and store it in Zabbix server shared memory.  2. Zabbix *poller* processes retrieve data using Zabbix simple check [VMware monitoring item keys](/manual/vm_monitoring/vmware_keys).  Zabbix divides collected data into VMware configuration data and VMware performance counter data. Both types of data are collected independently by the *vmware collector* processes.  The following statistics are available based on the VMware performance counter information:  - Datastore - Disk device - CPU - Power - Network interface - Custom performance counter items  For the complete list of items that obtain data from VMware performance counters, see [*VMware monitoring item keys*](/manual/vm_monitoring/vmware_keys#footnotes).
es	#### Recopilación de datos  El monitoreo de máquinas virtuales consta de dos pasos:  1. Los procesos Zabbix *vmware Collector* recopilan datos de la máquina virtual: los procesos obtienen la información necesaria de los servicios web de VMware a través del protocolo SOAP, la procesan previamente y la almacenan en la memoria compartida del servidor Zabbix.  2. Los procesos *poller* de Zabbix recuperan datos mediante la verificación simple de Zabbix [claves de elementos de monitoreo de VMware] (/manual/vm_monitoring/vmware_keys).  Zabbix divide los datos recopilados en datos de configuración de VMware y datos de contador de rendimiento de VMware. Ambos tipos de datos se recopilan de forma independiente mediante los procesos *vmware Collector*.  Las siguientes estadísticas están disponibles según la información del contador de rendimiento de VMware:  - Almacén de datos - Dispositivo de disco - CPU - Poténcia - Interfaz de red - Métricas de contador de rendimiento personalizadas  Para obtener la lista completa de métricas que obtienen datos de los contadores de rendimiento de VMware, consulte [*Claves de elementos de monitoreo de VMware*](/manual/vm_monitoring/vmware_keys#footnotes).

en-us	#### Data collection with custom commands
es	#### Recopilación de datos con comandos personalizados

en-us	##### Data collection with parameters  Collect the content of a specific page and make use of parameters:   - Create an item with type "Script" and two parameters:     - **url : {$DOMAIN}** (the user macro {$DOMAIN} should be defined, preferably on the host level)     - **subpage : /release_notes**  ![](../../../../../assets/en/manual/config/items/itemtypes/script_example1.png){width=600}  - In the *Script* field, enter:   ```javascript var obj = JSON.parse(value); var url = obj.url; var subpage = obj.subpage; var request = new HttpRequest(); return request.get(url + subpage); ```
es	##### Recopilación de datos con parámetros.  Recopile el contenido de una página específica y utilice parámetros:  - Crea una métrica de tipo "Script" y dos parámetros:     - **url: {$DOMAIN}** (la macro de usuario {$DOMAIN} debe estar definida, preferiblemente a nivel de equipo)     - **subpage: /release_notes**  ![](../../../../../assets/en/manual/config/items/itemtypes/script_example1.png){width=600}  - En el campo *Script*, ingrese:  ```javascript var obj = JSON.parse(valor); var url = obj.url; var subpage = obj.subpage; var request = new HttpRequest(); return request.get(url + subpage); ```

en-us	#### Data flow  In addition it is important to take a step back and have a look at the overall data flow within Zabbix. In order to create an item that gathers data you must first create a host. Moving to the other end of the Zabbix spectrum you must first have an item to create a trigger. You must have a trigger to create an action. Thus if you want to receive an alert that your CPU load is too high on *Server X* you must first create a host entry for *Server X* followed by an item for monitoring its CPU, then a trigger which activates if the CPU is too high, followed by an action which sends you an email. While that may seem like a lot of steps, with the use of templating it really isn't. However, due to this design it is possible to create a very flexible setup.
es	#### Flujo de datos  Además, es importante dar un paso atrás y echar un vistazo a la flujo de datos general dentro de Zabbix. Para crear un elemento que reúna datos, primero debe crear un host. Moviéndose al otro extremo del Zabbix espectro, primero debe tener un elemento para crear un activador. Debes tener un disparador para crear una acción. Por lo tanto, si desea recibir una alerta de que su carga de CPU es demasiado alta en *Server X*, primero debe crear un host entrada para *Servidor X* seguido de un elemento para monitorear su CPU, luego un activador que se activa si la CPU es demasiado alta, seguido de una acción que le envía un correo electrónico. Si bien eso puede parecer muchos pasos, con el uso de plantillas realmente no lo es. Sin embargo, debido a este diseño es posible crear una configuración muy flexible.

en-us	#### Data limits for return values  There is no limit for low-level discovery rule JSON data if it is received directly by Zabbix server. This is because the return values are processed without being stored in a database.  There is also no limit for custom low-level discovery rules. However, if custom low-level discovery rule data is retrieved using a user parameter, the user parameter [return value limit](/manual/config/items/userparameters#command-result) applies.  If data has to go through Zabbix proxy, it has to store this data in the database. In such a case, [database limits](/manual/config/items/item#text-data-limits) apply.
es	#### Límites de datos para valores de retorno  No hay límite para los datos JSON de reglas de descubrimiento de bajo nivel si los recibe directamente el servidor Zabbix. Esto se debe a que los valores devueltos se procesan sin almacenarse en una base de datos.  Tampoco hay límite para reglas de descubrimiento personalizadas de bajo nivel. Sin embargo, si los datos de reglas de descubrimiento personalizadas de bajo nivel se recuperan mediante un parámetro de usuario, se aplica el [límite del valor de retorno](/manual/config/items/userparameters#command-result) al parámetro de usuario.  Si los datos tienen que pasar por el proxy Zabbix, debe almacenarlos en la base de datos. En tal caso, se aplican [límites de la base de datos](/manual/config/items/item#text-data-limits).

en-us	##### Data request  The `proxy data` request is sent by proxy to provide host interface availability, history, discovery and autoregistration data. This request is sent every `DataSenderFrequency` (proxy configuration parameter) seconds. Note that active proxy will still poll Zabbix server every second for remote command tasks (with an empty `proxy data` request).  |name|<|value type|description| |-|----------|----------|----------------------------------------| |proxy→server:|<|<|<| |**request**|<|*string*|'proxy data'| |**host**|<|*string*|Proxy name.| |**session**|<|*string*|Data session token.| |**interface availability**|<|*array*|*(optional)* Array of interface availability data objects.| | |**interfaceid**|*number*|Interface identifier.| |^|**available**|*number*|Interface availability:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - unknown<br>**1**, *INTERFACE\_AVAILABLE\_TRUE* - available<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - unavailable| |^|**error**|*string*|Interface error message or empty string.| |**history data**|<|*array*|*(optional)* Array of history data objects.| | |**itemid**|*number*|Item identifier.| |^|**clock**|*number*|Item value timestamp (seconds).| |^|**ns**|*number*|Item value timestamp (nanoseconds).| |^|**value**|*string*|*(optional)* Item value.| |^|**id**|*number*|Value identifier (ascending counter, unique within one data session).| |^|**timestamp**|*number*|*(optional)* Timestamp of log type items.| |^|**source**|*string*|*(optional)* Eventlog item source value.| |^|**severity**|*number*|*(optional)* Eventlog item severity value.| |^|**eventid**|*number*|*(optional)* Eventlog item eventid value.| |^|**state**|*string*|*(optional)* Item state:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE\_NOTSUPPORTED*| |^|**lastlogsize**|*number*|*(optional)* Last log size of log type items.| |^|**mtime**|*number*|*(optional)* Modification time of log type items.| |**discovery data**|<|*array*|*(optional)* Array of discovery data objects.| | |**clock**|*number*|Discovery data timestamp.| |^|**druleid**|*number*|Discovery rule identifier.| |^|**dcheckid**|*number*|Discovery check identifier or null for discovery rule data.| |^|**type**|*number*|Discovery check type:<br><br>**-1** discovery rule data<br>**0**, *SVC\_SSH* - SSH service check<br>**1**, *SVC\_LDAP* - LDAP service check<br>**2**, *SVC\_SMTP* - SMTP service check<br>**3**, *SVC\_FTP* - FTP service check<br>**4**, *SVC\_HTTP* - HTTP service check<br>**5**, *SVC\_POP* - POP service check<br>**6**, *SVC\_NNTP* - NNTP service check<br>**7**, *SVC\_IMAP* - IMAP service check<br>**8**, *SVC\_TCP* - TCP port availability check<br>**9**, *SVC\_AGENT* - Zabbix agent<br>**10**, *SVC\_SNMPv1* - SNMPv1 agent<br>**11**, *SVC\_SNMPv2* - SNMPv2 agent<br>**12**, *SVC\_ICMPPING* - ICMP ping<br>**13**, *SVC\_SNMPv3* - SNMPv3 agent<br>**14**, *SVC\_HTTPS* - HTTPS service check<br>**15**, *SVC\_TELNET* - Telnet availability check| |^|**ip**|*string*|Host IP address.| |^|**dns**|*string*|Host DNS name.| |^|**port**|*number*|*(optional)* Service port number.| |^|**key\_**|*string*|*(optional)* Item key for discovery check of type **9** *SVC\_AGENT*| |^|**value**|*string*|*(optional)* Value received from the service, can be empty for most services.| |^|**status**|*number*|*(optional)* Service status:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Service UP<br>**1**, *DOBJECT\_STATUS\_DOWN* - Service DOWN| |**autoregistration**|<|*array*|*(optional)* Array of autoregistration data objects.| | |**clock**|*number*|Autoregistration data timestamp.| |^|**host**|*string*|Host name.| |^|**ip**|*string*|*(optional)* Host IP address.| |^|**dns**|*string*|*(optional)* Resolved DNS name from IP address.| |^|**port**|*string*|*(optional)* Host port.| |^|**host\_metadata**|*string*|*(optional)* Host metadata sent by agent (based on HostMetadata or HostMetadataItem agent configuration parameter).| |**tasks**|<|*array*|*(optional)* Array of tasks.| | |**type**|*number*|Task type:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - remote command result| |^|**status**|*number*|Remote-command execution status:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - remote command completed successfully<br>**1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - remote command failed| |^|**error**|*string*|*(optional)* Error message.| |^|**parent\_taskid**|*number*|Parent task ID.| |**more**|<|*number*|*(optional)* 1 - there are more history data to send| |**clock**|<|*number*|*(optional)* Data transfer timestamp (seconds).| |**ns**|<|*number*|*(optional)* Data transfer timestamp (nanoseconds).| |**version**|<|*string*|Proxy version (<major>.<minor>.<build>).| |server→proxy:|<|<|<| |**response**|<|*string*|Request success information ('success' or 'failed').| |**upload**|<|*string*|Upload control for historical data (history, autoregistration, host availability, network discovery).<br><br>Possible values:<br>**enabled** - normal operation<br>**disabled** - server is not accepting data (possibly due to internal cache over limit)| |**tasks**|<|*array*|*(optional)* Array of tasks.| | |**type**|*number*|Task type:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - remote command| |^|**clock**|*number*|Task creation time.| |^|**ttl**|*number*|Time in seconds after which the task expires.| |^|**commandtype**|*number*|Remote-command type:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - use custom script<br>**1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - use IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - use SSH<br>**3**, *ZBX\_SCRIPT\_TYPE\_TELNET* - use Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - use global script (currently functionally equivalent to custom script)| |^|**command**|*string*|Remote command to execute.| |^|**execute\_on**|*number*|Execution target for custom scripts:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - execute script on agent<br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - execute script on server<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - execute script on proxy| |^|**port**|*number*|*(optional)* Port for Telnet and SSH commands.| |^|**authtype**|*number*|*(optional)* Authentication type for SSH commands.| |^|**username**|*string*|*(optional)* User name for Telnet and SSH commands.| |^|**password**|*string*|*(optional)* Password for Telnet and SSH commands.| |^|**publickey**|*string*|*(optional)* Public key for SSH commands.| |^|**privatekey**|*string*|*(optional)* Private key for SSH commands.| |^|**parent\_taskid**|*number*|Parent task ID.| |^|**hostid**|*number*|Target host ID.|  Example:  proxy→server:  ``` {.javascript} {  "request": "proxy data",  "host": "Zabbix proxy",  "session": "818cdd1b537bdc5e50c09ed4969235b6",  "interface availability": [{   "interfaceid": 1,   "available": 1,   "error": ""  }],  "history data": [{   "id": 1114,   "itemid": 44162,   "clock": 1665730632,   "ns": 798953105,   "value": "1"  }, {   "id": 1115,   "itemid": 44161,   "clock": 1665730633,   "ns": 811684663,   "value": "58"  }],  "auto registration": [{   "clock": 1665730633,   "host": "Zabbix server",   "ip": "127.0.0.1",   "dns": "localhost",   "port": "10053",   "host_metadata": "58",   "tls_accepted": 1  }],  "discovery data": [{   "clock": 1665732232,   "drule": 2,   "dcheck": 2,   "ip": "127.0.0.1",   "dns": "localhost",   "port": 10052,   "status": 1  }, {   "clock": 1665732232,   "drule": 2,   "dcheck": null,   "ip": "127.0.0.1",   "dns": "localhost",   "status": 1  }],  "host data": [{   "hostid": 10084,   "active_status": 1  }],  "tasks": [{   "type": 3,   "clock": 1665730985,   "ttl": 0,   "status": -1,   "info": "Remote commands are not enabled",   "parent_taskid": 3  }],  "version": "6.4.0",  "clock": 1665730643,  "ns": 65389964 } ```  server→proxy:  ``` {.javascript} {  "upload": "enabled",  "response": "success",  "tasks": [{   "type": 2,   "clock": 1665730986,   "ttl": 600,   "commandtype": 0,   "command": "ping -c 3 127.0.0.1; case $? in [01]) true;; *) false;; esac",   "execute_on": 2,   "port": 0,   "authtype": 0,   "username": "",   "password": "",   "publickey": "",   "privatekey": "",   "alertid": 0,   "parent_taskid": 4,   "hostid": 10084  }] } ```
es	##### Solicitud de datos  La solicitud de "datos de proxy" se envía por el proxy para proporcionar datos de disponibilidad, historial, descubrimiento y registro automático de la interfaz del equipo. Esta solicitud se envía cada segundos de `DataSenderFrequency` (parámetro de configuración de proxy). Tenga en cuenta que el proxy activo seguirá sondeando el servidor Zabbix cada segundo en busca de tareas de comando remotas (con una solicitud de "datos de proxy" vacía).  |nombre|<|tipo de valor|descripción| |-|----------|----------|----------------------------------------| |proxy→servidor:|<|<|<| |**request**|<|*cadena*|'datos de proxy'| |**host**|<|*cadena*|Nombre de proxy.| |**session**|<|*cadena*|Token de sesión de datos.| |**interface availability**|<|*matriz*|*(opcional)* Matriz de objetos de datos de disponibilidad de interfaz.| | |**interfaceid**|*número*|Identificador de interfaz.| |^|**available**|*número*|Disponibilidad de interfaz:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - desconocido<br>**1**, *INTERFACE\_AVAILABLE \_TRUE* - disponible<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - no disponible| |^|**error**|*cadena*|Mensaje de error de interfaz o cadena vacía.| |**history data**|<|*matriz*|*(opcional)* Matriz de objetos de datos históricos.| | |**itemid**|*número*|Identificador de métrica.| |^|**clock**|*número*|Marca de tiempo del valor de la métrica (segundos).| |^|**ns**|*número*|Marca de tiempo del valor de la métrica (nanosegundos).| |^|**value**|*cadena*|*(opcional)* Valor del artículo.| |^|**id**|*número*|Identificador de valor (contador ascendente, único dentro de una sesión de datos).| |^|**timestamp**|*número*|*(opcional)* Marca de tiempo de los elementos de tipo de registro.| |^|**source**|*cadena*|*(opcional)* Valor de origen del elemento de registro de eventos.| |^|**severity**|*número*|*(opcional)* Valor de gravedad del elemento del registro de eventos.| |^|**eventid**|*número*|*(opcional)* Valor de eventid del elemento de registro de eventos.| |^|**state**|*cadena*|*(opcional)* Estado del artículo:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE \_NOTSAPPORTADO*| |^|**lastlogsize**|*number*|*(opcional)* Último tamaño de registro de los elementos del tipo de registro.| |^|**mtime**|*number*|*(opcional)* Hora de modificación de los elementos del tipo de registro.| |**discovery data**|<|*matriz*|*(opcional)* Matriz de objetos de datos de descubrimiento.| | |**clock**|*número*|Marca de tiempo de datos de descubrimiento.| |^|**druleid**|*número*|Identificador de regla de descubrimiento.| |^|**dcheckid**|*number*|Identificador de verificación de descubrimiento o nulo para los datos de la regla de descubrimiento.| |^|**type**|*número*|Tipo de verificación de descubrimiento:<br><br>**-1** datos de regla de descubrimiento<br>**0**, *SVC\_SSH* - Verificación del servicio SSH <br>**1**, *SVC\_LDAP* - Verificación del servicio LDAP<br>**2**, *SVC\_SMTP* - Verificación del servicio SMTP<br>**3**, *SVC\_FTP* - Verificación del servicio FTP<br>**4**, *SVC\_HTTP* - Verificación del servicio HTTP<br>**5**, *SVC\_POP* - Verificación del servicio POP<br>**6**, * SVC\_NNTP* - Verificación del servicio NNTP<br>**7**, *SVC\_IMAP* - Verificación del servicio IMAP<br>**8**, *SVC\_TCP* - Verificación de disponibilidad del puerto TCP<br>** 9**, *SVC\_AGENT* - Agente Zabbix<br>**10**, *SVC\_SNMPv1* - Agente SNMPv1<br>**11**, *SVC\_SNMPv2* - Agente SNMPv2<br>* *12**, *SVC\_ICMPPING* - Ping ICMP<br>**13**, *SVC\_SNMPv3* - Agente SNMPv3<br>**14**, *SVC\_HTTPS* - Verificación del servicio HTTPS<br >**15**, *SVC\_TELNET* - Verificación de disponibilidad de Telnet| |^|**ip**|*cadena*|Dirección IP del host.| |^|**dns**|*cadena*|Nombre DNS del host.| |^|**port**|*número*|*(opcional)* Número de puerto de servicio.| |^|**key\_**|*string*|*(opcional)* Clave de elemento para verificación de descubrimiento de tipo **9** *SVC\_AGENT*| |^|**value**|*cadena*|*(opcional)* Valor recibido del servicio, puede estar vacío para la mayoría de los servicios.| |^|**status**|*número*|*(opcional)* Estado del servicio:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Servicio ARRIBA<br>**1* *, *DOBJECT\_STATUS\_DOWN* - Servicio ABAJO| |**autoregistration**|<|*matriz*|*(opcional)* Matriz de objetos de datos de autoregistro.| | |**clock**|*número*|Marca de tiempo de datos de registro automático.| |^|**host**|*cadena*|Nombre de host.| |^|**ip**|*cadena*|*(opcional)* Dirección IP del host.| |^|**dns**|*cadena*|*(opcional)* Nombre DNS resuelto desde la dirección IP.| |^|**port**|*cadena*|*(opcional)* Puerto de host.| |^|**host\_metadata**|*cadena*|*(opcional)* Metadatos del host enviados por el agente (según el parámetro de configuración del agente HostMetadata o HostMetadataItem).| |**tasks**|<|*matriz*|*(opcional)* Matriz de tareas.| | |**type**|*número*|Tipo de tarea:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - resultado del comando remoto| |^|**status**|*number*|Estado de ejecución del comando remoto:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - el comando remoto se completó correctamente<br> **1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - error del comando remoto| |^|**error**|*cadena*|*(opcional)* Mensaje de error.| |^|**parent\_taskid**|*number*|ID de tarea principal.| |**more**|<|*número*|*(opcional)* 1 - hay más datos del historial para enviar| |**clock**|<|*número*|*(opcional)* Marca de tiempo de transferencia de datos (segundos).| |**ns**|<|*número*|*(opcional)* Marca de tiempo de transferencia de datos (nanosegundos).| |**version**|<|*cadena*|Versión de proxy (<principal>.<menor>.<compilación>).| |servidor→proxy:|<|<|<| |**response**|<|*cadena*|Solicitud de información de éxito ('éxito' o 'fallido').| |**upload**|<|*string*|Control de carga para datos históricos (historial, registro automático, disponibilidad de host, descubrimiento de red).<br><br>Valores posibles:<br>**enabled** - funcionamiento normal <br>**deshabilitado**: el servidor no acepta datos (posiblemente debido a que el caché interno excede el límite)| |**tasks**|<|*matriz*|*(opcional)* Matriz de tareas.| | |**type**|*número*|Tipo de tarea:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - comando remoto| |^|**clock**|*número*|Hora de creación de la tarea.| |^|**ttl**|*número*|Tiempo en segundos después del cual caduca la tarea.| |^|**commandtype**|*número*|Tipo de comando remoto:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - usar script personalizado<br>** 1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - usar IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - usar SSH<br>**3**, *ZBX\_SCRIPT \_TYPE\_TELNET* - usar Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - usar script global (actualmente funcionalmente equivalente a un script personalizado)| |^|**command**|*cadena*|Comando remoto para ejecutar.| |^|**execute\_on**|*number*|Destino de ejecución para scripts personalizados:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - ejecutar script en el agente< br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - ejecutar script en el servidor<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - ejecutar script en proxy| |^|**port**|*número*|*(opcional)* Puerto para comandos Telnet y SSH.| |^|**authtype**|*number*|*(opcional)* Tipo de autenticación para comandos SSH.| |^|**username**|*cadena*|*(opcional)* Nombre de usuario para comandos Telnet y SSH.| |^|**password**|*cadena*|*(opcional)* Contraseña para comandos Telnet y SSH.| |^|**publickey**|*cadena*|*(opcional)* Clave pública para comandos SSH.| |^|**privatekey**|*string*|*(opcional)* Clave privada para comandos SSH.| |^|**parent\_taskid**|*number*|ID de tarea principal.| |^|**hostid**|*número*|ID del host de destino.|  Ejemplo:  proxy→servidor:  ``` {.javascript} {  "request": "proxy data",  "host": "Zabbix proxy",  "session": "818cdd1b537bdc5e50c09ed4969235b6",  "interface availability": [{   "interfaceid": 1,   "available": 1,   "error": ""  }],  "history data": [{   "id": 1114,   "itemid": 44162,   "clock": 1665730632,   "ns": 798953105,   "value": "1"  }, {   "id": 1115,   "itemid": 44161,   "clock": 1665730633,   "ns": 811684663,   "value": "58"  }],  "auto registration": [{   "clock": 1665730633,   "host": "Zabbix server",   "ip": "127.0.0.1",   "dns": "localhost",   "port": "10053",   "host_metadata": "58",   "tls_accepted": 1  }],  "discovery data": [{   "clock": 1665732232,   "drule": 2,   "dcheck": 2,   "ip": "127.0.0.1",   "dns": "localhost",   "port": 10052,   "status": 1  }, {   "clock": 1665732232,   "drule": 2,   "dcheck": null,   "ip": "127.0.0.1",   "dns": "localhost",   "status": 1  }],  "host data": [{   "hostid": 10084,   "active_status": 1  }],  "tasks": [{   "type": 3,   "clock": 1665730985,   "ttl": 0,   "status": -1,   "info": "Remote commands are not enabled",   "parent_taskid": 3  }],  "version": "6.4.0",  "clock": 1665730643,  "ns": 65389964 } ```  servidor→proxy:  ``` {.javascript} {  "upload": "enabled",  "response": "success",  "tasks": [{   "type": 2,   "clock": 1665730986,   "ttl": 600,   "commandtype": 0,   "command": "ping -c 3 127.0.0.1; case $? in [01]) true;; *) false;; esac",   "execute_on": 2,   "port": 0,   "authtype": 0,   "username": "",   "password": "",   "publickey": "",   "privatekey": "",   "alertid": 0,   "parent_taskid": 4,   "hostid": 10084  }] } ```

en-us	##### Data request  The `proxy data` request is used to obtain host interface availability, historical, discovery and autoregistration data from proxy. This request is sent every `ProxyDataFrequency` (server configuration parameter) seconds.  |name|<|value type|description| |-|----------|----------|----------------------------------------| |server→proxy:|<|<|<| |**request**|<|*string*|'proxy data'| |proxy→server:|<|<|<| |**session**|<|*string*|Data session token.| |**interface availability**|<|*array*|*(optional)* Array of interface availability data objects.| | |**interfaceid**|*number*|Interface identifier.| |^|**available**|*number*|Interface availability:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - unknown<br>**1**, *INTERFACE\_AVAILABLE\_TRUE* - available<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - unavailable| |^|**error**|*string*|Interface error message or empty string.| |**history data**|<|*array*|*(optional)* Array of history data objects.| | |**itemid**|*number*|Item identifier.| |^|**clock**|*number*|Item value timestamp (seconds).| |^|**ns**|*number*|Item value timestamp (nanoseconds).| |^|**value**|*string*|*(optional)* Item value.| |^|**id**|*number*|Value identifier (ascending counter, unique within one data session).| |^|**timestamp**|*number*|*(optional)* Timestamp of log type items.| |^|**source**|*string*|*(optional)* Eventlog item source value.| |^|**severity**|*number*|*(optional)* Eventlog item severity value.| |^|**eventid**|*number*|*(optional)* Eventlog item eventid value.| |^|**state**|*string*|*(optional)* Item state:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE\_NOTSUPPORTED*| |^|**lastlogsize**|*number*|*(optional)* Last log size of log type items.| |^|**mtime**|*number*|*(optional)* Modification time of log type items.| |**discovery data**|<|*array*|*(optional)* Array of discovery data objects.| | |**clock**|*number*|Discovery data timestamp.| |^|**druleid**|*number*|Discovery rule identifier.| |^|**dcheckid**|*number*|Discovery check identifier or null for discovery rule data.| |^|**type**|*number*|Discovery check type:<br><br>**-1** discovery rule data<br>**0**, *SVC\_SSH* - SSH service check<br>**1**, *SVC\_LDAP* - LDAP service check<br>**2**, *SVC\_SMTP* - SMTP service check<br>**3**, *SVC\_FTP* - FTP service check<br>**4**, *SVC\_HTTP* - HTTP service check<br>**5**, *SVC\_POP* - POP service check<br>**6**, *SVC\_NNTP* - NNTP service check<br>**7**, *SVC\_IMAP* - IMAP service check<br>**8**, *SVC\_TCP* - TCP port availability check<br>**9**, *SVC\_AGENT* - Zabbix agent<br>**10**, *SVC\_SNMPv1* - SNMPv1 agent<br>**11**, *SVC\_SNMPv2* - SNMPv2 agent<br>**12**, *SVC\_ICMPPING* - ICMP ping<br>**13**, *SVC\_SNMPv3* - SNMPv3 agent<br>**14**, *SVC\_HTTPS* - HTTPS service check<br>**15**, *SVC\_TELNET* - Telnet availability check| |^|**ip**|*string*|Host IP address.| |^|**dns**|*string*|Host DNS name.| |^|**port**|*number*|*(optional)* Service port number.| |^|**key\_**|*string*|*(optional)* Item key for discovery check of type **9** *SVC\_AGENT*| |^|**value**|*string*|*(optional)* Value received from the service, can be empty for most of services.| |^|**status**|*number*|*(optional)* Service status:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Service UP<br>**1**, *DOBJECT\_STATUS\_DOWN* - Service DOWN| |**auto registration**|<|*array*|*(optional)* Array of autoregistration data objects.| | |**clock**|*number*|Autoregistration data timestamp.| |^|**host**|*string*|Host name.| |^|**ip**|*string*|*(optional)* Host IP address.| |^|**dns**|*string*|*(optional)* Resolved DNS name from IP address.| |^|**port**|*string*|*(optional)* Host port.| |^|**host\_metadata**|*string*|*(optional)* Host metadata sent by agent (based on HostMetadata or HostMetadataItem agent configuration parameter).| |**tasks**|<|*array*|*(optional)* Array of tasks.| | |**type**|*number*|Task type:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - remote command result| |^|**status**|*number*|Remote-command execution status:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - remote command completed successfully<br>**1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - remote command failed| |^|**error**|*string*|*(optional)* Error message.| |^|**parent\_taskid**|*number*|Parent task ID.| |**more**|<|*number*|*(optional)* 1 - there are more history data to send.| |**clock**|<|*number*|*(optional)* Data transfer timestamp (seconds).| |**ns**|<|*number*|*(optional)* Data transfer timestamp (nanoseconds).| |**version**|<|*string*|Proxy version (<major>.<minor>.<build>).| |server→proxy:|<|<|<| |**response**|<|*string*|Request success information ('success' or 'failed').| |**tasks**|<|*array*|*(optional)* Array of tasks.| | |**type**|*number*|Task type:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - remote command| |^|**clock**|*number*|Task creation time.| |^|**ttl**|*number*|Time in seconds after which the task expires.| |^|**commandtype**|*number*|Remote-command type:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - use custom script<br>**1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - use IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - use SSH<br>**3**, *ZBX\_SCRIPT\_TYPE\_TELNET* - use Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - use global script (currently functionally equivalent to custom script)| |^|**command**|*string*|Remote command to execute.| |^|**execute\_on**|*number*|Execution target for custom scripts:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - execute script on agent<br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - execute script on server<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - execute script on proxy| |^|**port**|*number*|*(optional)* Port for Telnet and SSH commands.| |^|**authtype**|*number*|*(optional)* Authentication type for SSH commands.| |^|**username**|*string*|*(optional)* User name for Telnet and SSH commands.| |^|**password**|*string*|*(optional)* Password for Telnet and SSH commands.| |^|**publickey**|*string*|*(optional)* Public key for SSH commands.| |^|**privatekey**|*string*|*(optional)* Private key for SSH commands.| |^|**parent\_taskid**|*number*|Parent task ID.| |^|**hostid**|*number*|Target host ID.|  Example:  server→proxy:  ``` {.javascript} {   "request": "proxy data" } ```  proxy→server:  ``` {.javascript} {     "session": "12345678901234567890123456789012"     "interface availability": [         {             "interfaceid": 1,             "available": 1,             "error": ""     },         {             "interfaceid": 2,             "available": 2,             "error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused"     },         {             "interfaceid": 3,             "available": 1,             "error": ""     },         {             "interfaceid": 4,             "available": 1,             "error": ""     }     ],     "history data":[         {             "itemid":"12345",             "clock":1478609647,             "ns":332510044,             "value":"52956612",             "id": 1         },         {             "itemid":"12346",             "clock":1478609647,             "ns":330690279,             "state":1,             "value":"Cannot find information for this network interface in /proc/net/dev.",             "id": 2         }     ],     "discovery data":[         {             "clock":1478608764,             "drule":2,             "dcheck":3,             "type":12,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         },         {             "clock":1478608764,             "drule":2,             "dcheck":null,             "type":-1,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         }     ],     "auto registration":[         {             "clock":1478608371,             "host":"Logger1",             "ip":"10.3.0.1",             "dns":"localhost",             "port":"10050"         },         {             "clock":1478608381,             "host":"Logger2",             "ip":"10.3.0.2",             "dns":"localhost",             "port":"10050"         }     ],     "tasks":[         {             "type": 0,             "status": 0,             "parent_taskid": 10         },         {             "type": 0,             "status": 1,             "error": "No permissions to execute task.",             "parent_taskid": 20         }     ],     "version":"6.4.0" } ```  server→proxy:  ``` {.javascript} {   "response": "success",   "tasks":[       {          "type": 1,          "clock": 1478608371,          "ttl": 600,          "commandtype": 2,          "command": "restart_service1.sh",          "execute_on": 2,          "port": 80,          "authtype": 0,          "username": "userA",          "password": "password1",          "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",          "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",          "parent_taskid": 10,          "hostid": 10070       },       {          "type": 1,          "clock": 1478608381,          "ttl": 600,          "commandtype": 1,          "command": "restart_service2.sh",          "execute_on": 0,          "authtype": 0,          "username": "",          "password": "",          "publickey": "",          "privatekey": "",          "parent_taskid": 20,          "hostid": 10084       }   ] } ```
es	##### Solicitud de datos  La solicitud de "datos de proxy" se utiliza para obtener la disponibilidad de la interfaz del equipo, los datos históricos, de descubrimiento y de autoregistro desde el proxy. Esta petición se envía cada `ProxyDataFrequency` segundos (parámetro de configuración del servidor).  |nombre|<|tipo de valor|descripción| |-|----------|----------|----------------------------------------| |servidor→proxy:|<|<|<| |**request**|<|*cadena*|'datos de proxy'| |proxy→servidor:|<|<|<| |**session**|<|*cadena*|Token de sesión de datos.| |**interface availability**|<|*matriz*|*(opcional)* Matriz de objetos de datos de disponibilidad de interfaz.| | |**interfaceid**|*número*|Identificador de interfaz.| |^|**available**|*número*|Disponibilidad de interfaz:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - desconocido<br>**1**, *INTERFACE\_AVAILABLE \_TRUE* - disponible<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - no disponible| |^|**error**|*cadena*|Mensaje de error de interfaz o cadena vacía.| |**history data**|<|*matriz*|*(opcional)* Matriz de objetos de datos históricos.| | |**itemid**|*número*|Identificador de la métrica.| |^|**clock**|*número*|Marca de tiempo del valor de la métrica (segundos).| |^|**ns**|*número*|Marca de tiempo del valor de la métrica (nanosegundos).| |^|**value**|*cadena*|*(opcional)* Valor de la métrica.| |^|**id**|*número*|Identificador de valor (contador ascendente, único dentro de una sesión de datos).| |^|**timestamp**|*número*|*(opcional)* Marca de tiempo de las métricas de tipo de registro.| |^|**source**|*cadena*|*(opcional)* Valor de origen de la métrica de registro de eventos.| |^|**severity**|*número*|*(opcional)* Valor de gravedad de la métrica del registro de eventos.| |^|**eventid**|*número*|*(opcional)* Valor de eventid de la métrica de registro de eventos.| |^|**state**|*cadena*|*(opcional)* Estado de la métrica:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE \_NOTSUPPORTED*| |^|**lastlogsize**|*number*|*(opcional)* Último tamaño de registro de las métricas del tipo de registro.| |^|**mtime**|*number*|*(opcional)* Hora de modificación de las métricas del tipo de registro.| |**discovery data**|<|*matriz*|*(opcional)* Matriz de objetos de datos de descubrimiento.| | |**clock**|*número*|Marca de tiempo de datos de descubrimiento.| |^|**druleid**|*número*|Identificador de regla de descubrimiento.| |^|**dcheckid**|*number*|Identificador de verificación de descubrimiento o nulo para los datos de la regla de descubrimiento.| |^|**type**|*número*|Tipo de verificación de descubrimiento:<br><br>**-1** datos de regla de descubrimiento<br>**0**, *SVC\_SSH* - Verificación del servicio SSH <br>**1**, *SVC\_LDAP* - Verificación del servicio LDAP<br>**2**, *SVC\_SMTP* - Verificación del servicio SMTP<br>**3**, *SVC\_FTP* - Verificación del servicio FTP<br>**4**, *SVC\_HTTP* - Verificación del servicio HTTP<br>**5**, *SVC\_POP* - Verificación del servicio POP<br>**6**, * SVC\_NNTP* - Verificación del servicio NNTP<br>**7**, *SVC\_IMAP* - Verificación del servicio IMAP<br>**8**, *SVC\_TCP* - Verificación de disponibilidad del puerto TCP<br>** 9**, *SVC\_AGENT* - Agente Zabbix<br>**10**, *SVC\_SNMPv1* - Agente SNMPv1<br>**11**, *SVC\_SNMPv2* - Agente SNMPv2<br>* *12**, *SVC\_ICMPPING* - Ping ICMP<br>**13**, *SVC\_SNMPv3* - Agente SNMPv3<br>**14**, *SVC\_HTTPS* - Verificación del servicio HTTPS<br >**15**, *SVC\_TELNET* - Verificación de disponibilidad de Telnet| |^|**ip**|*cadena*|Dirección IP del equipo.| |^|**dns**|*cadena*|Nombre DNS del equipo.| |^|**port**|*número*|*(opcional)* Número de puerto de servicio.| |^|**key\_**|*string*|*(opcional)* Clave de elemento para verificación de descubrimiento de tipo **9** *SVC\_AGENT*| |^|**value**|*cadena*|*(opcional)* Valor recibido del servicio, puede estar vacío para la mayoría de los servicios.| |^|**status**|*número*|*(opcional)* Estado del servicio:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Servicio ARRIBA<br>**1* *, *DOBJECT\_STATUS\_DOWN* - Servicio ABAJO| |**auto registration**|<|*matriz*|*(opcional)* Matriz de objetos de datos de registro automático.| | |**clock**|*número*|Marca de tiempo de datos de registro automático.| |^|**host**|*cadena*|Nombre de equipo.| |^|**ip**|*cadena*|*(opcional)* Dirección IP del equipo.| |^|**dns**|*cadena*|*(opcional)* Nombre DNS resuelto desde la dirección IP.| |^|**port**|*cadena*|*(opcional)* Puerto del equipo.| |^|**host\_metadata**|*cadena*|*(opcional)* Metadatos del equipo enviados por el agente (según el parámetro de configuración del agente HostMetadata o HostMetadataItem).| |**tasks**|<|*matriz*|*(opcional)* Matriz de tareas.| | |**type**|*número*|Tipo de tarea:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - resultado del comando remoto| |^|**status**|*number*|Estado de ejecución del comando remoto:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - el comando remoto se completó correctamente<br> **1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - error del comando remoto| |^|**error**|*cadena*|*(opcional)* Mensaje de error.| |^|**parent\_taskid**|*number*|ID de tarea principal.| |**more**|<|*número*|*(opcional)* 1 - hay más datos del historial para enviar.| |**clock**|<|*número*|*(opcional)* Marca de tiempo de transferencia de datos (segundos).| |**ns**|<|*número*|*(opcional)* Marca de tiempo de transferencia de datos (nanosegundos).| |**version**|<|*cadena*|Versión de proxy (<principal>.<menor>.<compilación>).| |servidor→proxy:|<|<|<| |**response**|<|*cadena*|Solicitud de información de éxito ('éxito' o 'fallido').| |**tasks**|<|*matriz*|*(opcional)* Matriz de tareas.| | |**type**|*número*|Tipo de tarea:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - comando remoto| |^|**clock**|*número*|Hora de creación de la tarea.| |^|**ttl**|*número*|Tiempo en segundos después del cual caduca la tarea.| |^|**commandtype**|*número*|Tipo de comando remoto:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - usar script personalizado<br>** 1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - usar IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - usar SSH<br>**3**, *ZBX\_SCRIPT \_TYPE\_TELNET* - usar Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - usar script global (actualmente funcionalmente equivalente a un script personalizado)| |^|**command**|*cadena*|Comando remoto para ejecutar.| |^|**execute\_on**|*number*|Destino de ejecución para scripts personalizados:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - ejecutar script en el agente< br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - ejecutar script en el servidor<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - ejecutar script en proxy| |^|**port**|*número*|*(opcional)* Puerto para comandos Telnet y SSH.| |^|**authtype**|*number*|*(opcional)* Tipo de autenticación para comandos SSH.| |^|**username**|*cadena*|*(opcional)* Nombre de usuario para comandos Telnet y SSH.| |^|**password**|*cadena*|*(opcional)* Contraseña para comandos Telnet y SSH.| |^|**publickey**|*cadena*|*(opcional)* Clave pública para comandos SSH.| |^|**privatekey**|*string*|*(opcional)* Clave privada para comandos SSH.| |^|**parent\_taskid**|*number*|ID de tarea principal.| |^|**hostid**|*número*|ID del equipo de destino.|  Ejemplo:  servidor→proxy:  ``` {.javascript} {   "request": "proxy data" } ```  proxy→servidor:  ``` {.javascript} {     "session": "12345678901234567890123456789012"     "interface availability": [         {             "interfaceid": 1,             "available": 1,             "error": ""     },         {             "interfaceid": 2,             "available": 2,             "error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused"     },         {             "interfaceid": 3,             "available": 1,             "error": ""     },         {             "interfaceid": 4,             "available": 1,             "error": ""     }     ],     "history data":[         {             "itemid":"12345",             "clock":1478609647,             "ns":332510044,             "value":"52956612",             "id": 1         },         {             "itemid":"12346",             "clock":1478609647,             "ns":330690279,             "state":1,             "value":"Cannot find information for this network interface in /proc/net/dev.",             "id": 2         }     ],     "discovery data":[         {             "clock":1478608764,             "drule":2,             "dcheck":3,             "type":12,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         },         {             "clock":1478608764,             "drule":2,             "dcheck":null,             "type":-1,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         }     ],     "auto registration":[         {             "clock":1478608371,             "host":"Logger1",             "ip":"10.3.0.1",             "dns":"localhost",             "port":"10050"         },         {             "clock":1478608381,             "host":"Logger2",             "ip":"10.3.0.2",             "dns":"localhost",             "port":"10050"         }     ],     "tasks":[         {             "type": 0,             "status": 0,             "parent_taskid": 10         },         {             "type": 0,             "status": 1,             "error": "No permissions to execute task.",             "parent_taskid": 20         }     ],     "version":"6.4.0" } ```  servidor→proxy:  ``` {.javascript} {   "response": "success",   "tasks":[       {          "type": 1,          "clock": 1478608371,          "ttl": 600,          "commandtype": 2,          "command": "restart_service1.sh",          "execute_on": 2,          "port": 80,          "authtype": 0,          "username": "userA",          "password": "password1",          "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",          "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",          "parent_taskid": 10,          "hostid": 10070       },       {          "type": 1,          "clock": 1478608381,          "ttl": 600,          "commandtype": 1,          "command": "restart_service2.sh",          "execute_on": 0,          "authtype": 0,          "username": "",          "password": "",          "publickey": "",          "privatekey": "",          "parent_taskid": 20,          "hostid": 10084       }   ] } ```

en-us	##### DataSenderFrequency  The proxy will send collected data to the server every N seconds. Note that an active proxy will still poll Zabbix server every second for remote command tasks.<br>Active proxy parameter. Ignored for passive proxies (see ProxyMode parameter).  Default: `1`<br> Range: 1-3600
es	##### DataSenderFrequency  El proxy enviará los datos recopilados al servidor cada N segundos. Tenga en cuenta que un proxy activo seguirá sondeando el servidor Zabbix cada segundo para tareas de comando remotas.<br>Parámetro de proxy activo. Se ignora para servidores proxy pasivos (consulte el parámetro ProxyMode).  Predeterminado: `1`<br> Rango: 1-3600

en-us	 ##### Data set configuration details  The *host pattern* and *item pattern* fields in the *Data set* tab both recognize full names or patterns containing a wildcard symbol (\*). This functionality enables to select all the host names and item names containing the selected pattern. Most importantly, while typing the item name or item pattern in the *item pattern* field, only the items that belong to the selected host name(s) are displayed on a drop-down list. For example, having typed a pattern **z\*** in the *host pattern* field, the drop-down list displays all the host names containing this pattern: z\*, Zabbix server, and Zabbix proxy. After pressing *Enter*, this pattern is accepted and is displayed as **z\***. Similarly, the pattern can be created in the *item pattern* field. For example, having typed the pattern **a\*** in the *item pattern* field, the drop-down list displays all the item names containing this pattern: a\*, Available memory, Available memory in %.  See the image of the *Data set* tab below.  ![](../../../../../../assets/en/manual/web_interface/frontend_sections/dashboards/widgets/graph_widget_it_host_pattern_1.png){width="600"}  After pressing *Enter*, this pattern is accepted and is displayed as **a\***, and all the selected items that belong to the selected host name(s) are displayed above the *Data set* tab. See the image of the *Data set* tab below.  ![](../../../../../../assets/en/manual/web_interface/frontend_sections/dashboards/widgets/graph_widget_it_host_pattern_2.png){width="600"}
es	 ##### Detalles de configuración del conjunto de datos  Los campos *patrón de equipo* y *patrón de métrica* en la pestaña *Conjunto de datos* reconocen nombres completos o patrones que contienen un símbolo comodín (\*). Esta funcionalidad permite seleccionar todos los nombres de equipos y nombres de métricas que contienen el patrón seleccionado. Lo más importante es que, mientras escribe el nombre de la métrica o el patrón de la métrica en el campo *patrón de la métrica*, sólo las métricas que pertenecen a los nombres de equipos seleccionados se muestran en una lista desplegable. Por ejemplo, después de escribir un patrón **z\*** en el campo *patrón de equipo*, la lista desplegable muestra todos los nombres de equipos que contienen este patrón: \*zab\*, servidor Zabbix y proxy Zabbix. Después de presionar *Entrar*, este patrón se acepta y se muestra como **\*zab\***. De manera similar, el patrón se puede crear en el campo *patrón de métrica*. Por ejemplo, después de escribir el patrón **mem\*** en el campo *patrón de métrica*, la lista desplegable muestra todos los nombres de métricas que contienen este patrón: mem\*, Memoria disponible, Memoria disponible en %.  Vea la imagen de la pestaña *Conjunto de datos* a continuación.  ![](../../../../../../assets/en/manual/web_interface/frontend_sections/dashboards/widgets/graph_widget_it_host_pattern_1.png){width="600"}  Después de presionar *Entrar*, este patrón se acepta y se muestra como **mem\***, y todos las métricas seleccionadas que pertenecen a los nombres de equipos seleccionados se muestran encima de la pestaña *Conjunto de datos*. Vea la imagen de la pestaña *Conjunto de datos* a continuación.  ![](../../../../../../assets/en/manual/web_interface/frontend_sections/dashboards/widgets/graph_widget_it_host_pattern_2.png){width="600"}

en-us	#### Data set  The **Data set** tab allows to add data sets and define their visual representation:  |   |   |   | |-|----------|----------------------------------------| |*Data set*|<|Enter the host and item patterns; data of items that match the entered patterns is displayed on the graph; up to 50 items may be displayed. Host pattern and item pattern fields are mandatory.<br> Wildcard patterns may be used for selection. For example, `*` will return results that match zero or more characters. <br>To specify a wildcard pattern, just enter the string manually and press *Enter*.<br>The wildcard symbol is always interpreted.<br> Therefore, it is not possible to add, for example, an item named *item\** individually, if there are other matching items (e.g. item2, item3). See [data set configuration details](#data-set-configuration-details).<br>**Alternatively** to specifying item patterns, you may select a list of items,<br> if the data set has been added with the *Item list* option (see the description of the *Add new data set* button).| | |*Draw*|Choose the draw type of the metric. Possible draw types are *Line* (set by default), *Points*, *Staircase* and *Bar*.<br>Note that if there's only one data point in the line/staircase graph it is drawn as a point regardless of the draw type. The point size is calculated from the line width, but it cannot be smaller than 3 pixels, even if the line width is less.| |^|*Stacked*|Mark the checkbox to display data as stacked (filled areas displayed). This option is disabled when *Points* draw type is selected.| |^|*Width*|Set the line width. This option is available when *Line* or *Staircase* draw type is selected.| |^|*Point size*|Set the point size. This option is available when *Points* draw type is selected.| |^|*Transparency*|Set the transparency level.| |^|*Fill*|Set the fill level. This option is available when *Line* or *Staircase* draw type is selected.| |^|*Missing data*|Select the option for displaying missing data:<br>**None** - the gap is left empty<br>**Connected** - two border values are connected<br>**Treat as 0** - the missing data is displayed as 0 values<br>**Last known** - the missing data is displayed with the same value as the last known value<br>Not applicable for the *Points* and *Bar* draw type.| |^|*Y-axis*|Select the side of the graph where the Y-axis will be displayed.| |^|*Time shift*|Specify time shift if required. You may use [time suffixes](/manual/appendix/suffixes#time_suffixes) in this field. Negative values are allowed.| |^|*Aggregation function*|Specify which aggregation function to use:<br>**min** - display the smallest value<br>**max** - display the largest value<br>**avg** - display the average value<br>**sum** - display the sum of values<br>**count** - display the count of values<br>**first** - display the first value<br>**last** - display the last value<br>**none** - display all values (no aggregation)<br>Aggregation allows to display an aggregated value for the chosen interval (5 minutes, an hour, a day), instead of all values. See also: [Aggregation in graphs](/manual/config/visualization/graphs/aggregate).| |^|*Aggregation interval*|Specify the interval for aggregating values. You may use [time suffixes](/manual/appendix/suffixes#time_suffixes) in this field. A numeric value without a suffix will be regarded as seconds.| |^|*Aggregate*|Specify whether to aggregate:<br>**Each item** - each item in the dataset will be aggregated and displayed separately.<br>**Data set** - all dataset items will be aggregated and displayed as one value.| |^|*Approximation*|Specify what value to display when more than one value exists per vertical graph pixel:<br>**all** - display the smallest, the largest and the average values<br>**min** - display the smallest value<br>**max** - display the largest value<br>**avg** - display the average value<br>This setting is useful when displaying a graph for a large time period with frequent update interval (such as one year of values collected every 10 minutes).| |^|*Data set label*|Specify the data set label that is displayed in graph *Data set* configuration and in graph *Legend* (for aggregated data sets).<br>All data sets are numbered including those with a specified *Data set label*. If no label is specified, the data set will be labeled automatically according to its number (e.g. "Data set #2", "Data set #3", etc.). Data set numbering ir recalculated after reordering/dragging data sets.<br>Data set labels that are too long will be shortened to fit where displayed (e.g. "Number of proc...").|
es	#### Conjunto de datos  La pestaña **Conjunto de datos** permite agregar conjuntos de datos y definir su  representación visual:  | | | | |-|----------|----------------------------------------| |*Conjunto de datos*|<|Ingrese los patrones de equipo y métrica; los datos de las métricas que coinciden con los patrones ingresados se muestran en el gráfico; Se pueden mostrar hasta 50 métricas. Los campos Patrón de equipo y Patrón de métrica son obligatorios.<br> Se pueden utilizar patrones comodín para la selección. Por ejemplo, `*` devolverá resultados que coincidan con cero o más caracteres. <br>Para especificar un patrón comodín, simplemente ingrese la cadena manualmente y presione *Enter*.<br>El símbolo comodín siempre se interpreta.<br> Por lo tanto, no es posible agregar, por ejemplo, una métrica llamada *elemento \** individualmente, si hay otras métricas coincidentes (por ejemplo, elemento2, elemento3). Consulte los [detalles de configuración del conjunto de datos](#data-set-configuration-details).<br>**Alternativamente** para especificar patrones de métricas, puede seleccionar una lista de métricas,<br> si el conjunto de datos se agregó con la opción *Lista de métricas* (consulte la descripción del botón *Agregar nuevo conjunto de datos*).| | |*Dibujo*|Elija el tipo de dibujo de la métrica. Los posibles tipos de dibujo son *Línea* (establecido de forma predeterminada), *Puntos*, *Escalera* y *Barra*.<br>Tenga en cuenta que si solo hay un punto de datos en el gráfico de línea/escalera, se dibuja como un punto independientemente de el tipo de sorteo. El tamaño en puntos se calcula a partir del ancho de la línea, pero no puede ser inferior a 3 píxeles, incluso si el ancho de la línea es menor.| |^|*Apilados*|Marque la casilla de verificación para mostrar los datos apilados (se muestran áreas rellenas). Esta opción está deshabilitada cuando se selecciona el tipo de sorteo *Puntos*.| |^|*Ancho*|Establece el ancho de la línea. Esta opción está disponible cuando se selecciona el tipo de dibujo *Línea* o *Escalera*.| |^|*Tamaño de punto*|Establezca el tamaño de punto. Esta opción está disponible cuando se selecciona el tipo de sorteo *Puntos*.| |^|*Transparencia*|Establece el nivel de transparencia.| |^|*Relleno*|Establece el nivel de relleno. Esta opción está disponible cuando se selecciona el tipo de dibujo *Línea* o *Escalera*.| |^|*Datos faltantes*|Seleccione la opción para mostrar los datos faltantes:<br>**Ninguno**: el espacio se deja vacío<br>**Conectado**: dos valores de borde están conectados<br>**Tratar como 0**: los datos faltantes se muestran como 0 valores<br>**Último conocido**: los datos faltantes se muestran con el mismo valor que el último valor conocido<br>No aplicable para *Puntos* y *Barra * tipo sorteo.| |^|*Eje Y*|Seleccione el lado del gráfico donde se mostrará el eje Y.| |^|*Cambio de hora*|Especifique el cambio de hora si es necesario. Puede utilizar [sufijos de tiempo](/manual/appendix/suffixes#time_suffixes) en este campo. Se permiten valores negativos.| |^|*Función de agregación*|Especifique qué función de agregación usar:<br>**min** - muestra el valor más pequeño<br>**max** - muestra el valor más grande<br>**avg** - muestra el valor promedio<br>**suma** - muestra la suma de valores<br>**recuento** - muestra el recuento de valores<br>**primero** - muestra el primer valor<br>** último**: muestra el último valor<br>**ninguno**: muestra todos los valores (sin agregación)<br>La agregación permite mostrar un valor agregado para el intervalo elegido (5 minutos, una hora, un día), en su lugar de todos los valores. Ver también: [Agregación en gráficos](/manual/config/visualization/graphs/aggregate).| |^|*Intervalo de agregación*|Especifique el intervalo para agregar valores. Puede utilizar [sufijos de tiempo](/manual/appendix/suffixes#time_suffixes) en este campo. Un valor numérico sin sufijo se considerará segundos.| |^|*Agregar*|Especifique si desea agregar:<br>**Cada métrica**: cada métrica del conjunto de datos se agregará y se mostrará por separado.<br>**Conjunto de datos**: se agregarán todas las métrica del conjunto de datos y se muestra como un valor.| |^|*Aproximación*|Especifique qué valor mostrar cuando exista más de un valor por píxel del gráfico vertical:<br>**todos**: muestra los valores más pequeño, más grande y promedio<br>**min** - mostrar el valor más pequeño<br>**max** - mostrar el valor más grande<br>**avg** - mostrar el valor promedio<br>Esta configuración es útil cuando se muestra un gráfico durante un período de tiempo prolongado con actualizaciones frecuentes intervalo (por ejemplo, un año de valores recopilados cada 10 minutos).| |^|*Etiqueta del conjunto de datos*|Especifique la etiqueta del conjunto de datos que se muestra en la configuración del gráfico *Conjunto de datos* y en el gráfico *Leyenda* (para conjuntos de datos agregados).<br>Todos los conjuntos de datos están numerados, incluidos aquellos con un valor especificado. *Etiqueta del conjunto de datos*. Si no se especifica ninguna etiqueta, el conjunto de datos se etiquetará automáticamente según su número (por ejemplo, "Conjunto de datos n.° 2", "Conjunto de datos n.° 3", etc.). La numeración de los conjuntos de datos se vuelve a calcular después de reordenar/arrastrar los conjuntos de datos.<br>Las etiquetas de los conjuntos de datos que sean demasiado largas se acortarán para que quepan donde se muestran (por ejemplo, "Número de procesos...").|