host.update

Descripción

object host.update(object/array hosts)

Este método permite actualizar los equipos existentes.

Este método solo está disponible para los tipos de usuario Administrador y Superadministrador. Los permisos para llamar al método se pueden revocar en la configuración del rol de usuario. Ver Roles de usuario para más información.

Parámetros

(objeto/matriz) Propiedades del equipo que se actualizarán.

La propiedad hostid debe definirse para cada equipo, todas las demás propiedades son opcionales. Sólo se actualizarán las propiedades dadas, todas las otras permanecerán sin cambios.

Sin embargo, tenga en cuenta que al actualizar el nombre técnico del equipo también se actualizará el nombre visible del equipo (si no está dado o está vacío) por el valor del nombre técnico del equipo.

Además de las propiedades estándar del equipo, el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
groups object/array Grupos de equipo para reemplazar los grupos de equipos actuales a los que pertenece el equipo.

Los grupos de equipos deben tener el groupidpropiedad definida. Todos los grupos de equipos que no figuran en la solicitud se desvincularán.
interfaces object/array Host interfaces para reemplazar las interfaces de equipo actuales.

Se eliminarán todas las interfaces que no figuran en la solicitud.
tags object/array Host etiquetas para reemplazar las etiquetas de equipo actuales.

Se eliminarán todas las etiquetas que no aparezcan en la solicitud .
inventory objeto Propiedades del inventario del equipo.
macros object/array Macros de usuario para reemplazar las macros de usuario actuales.

Se eliminarán todas las macros que no figuran en la solicitud.
templates object/array Plantillas para reemplazar las plantillas actualmente vinculadas. Todas las plantillas que no figuran en la solicitud solo se desvincularán.

Las plantillas deben tener definida la propiedad templateid.
templates_clear object/array Plantillas para desvincular y borrar del equipo.

Las plantillas deben tener definida la propiedad templateid.

A diferencia de la interfaz de Zabbix, cuando name (nombre visible de equipo) es el mismo que host (nombre técnico de equipo), actualizando host a través de la API no actualizará automáticamente la propiedad name. Ambas propiedades deben ser actualizadas explícitamente.

Valores devueltos

(object) Devuelve un objeto que contiene los ID de los hosts actualizados bajo la propiedad hostids.

Ejemplos

Habilitación de un host

Habilite el monitoreo del host, es decir, establezca su estado en "0".

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "status": 0
           },
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

Desvincular plantillas

Desvincula y borra dos plantillas del equipo.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "templates_clear": [
                   {
                       "templateid": "10124"
                   },
                   {
                       "templateid": "10125"
                   }
               ]
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

Actualización de macros de equipo

Reemplace todas las macros del equipo por dos nuevas.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "macros": [
                   {
                       "macro": "{$PASS}",
                       "value": "password"
                   },
                   {
                       "macro": "{$DISC}",
                       "value": "sda",
                       "description": "Updated description"
                   }
               ]
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

Actualizando el inventario de equipo

Cambiar el modo de inventario y agregar ubicación

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "inventory_mode": 0,
               "inventory": {
                   "location": "Latvia, Riga"
               }
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

Actualización de etiquetas de equipo

Reemplace todas las etiquetas de equipo por una nueva.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "tags": {
                   "tag": "OS",
                   "value": "RHEL 7"
               }
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

Actualización de macros de equipos descubiertos

Convierta la macro "automática" creada por la regla de descubrimiento a "manual" y cambie su valor a "nuevo-valor".

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "macros": {
                   "hostmacroid": "5541",
                   "value": "nuevo-valor",
                   "automatic": "0"
               }
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

Actualización del cifrado del equipo

Actualice el equipo "10590" para usar cifrado PSK solo para conexiones desde el equipo al servidor Zabbix y cambie la identidad PSK y la clave PSK. Tenga en cuenta que el equipo debe estar preconfigurado para usar PSK.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10590",
               "tls_connect": 1,
               "tls_accept": 2,
               "tls_psk_identity": "PSK 002",
               "tls_psk": "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9"
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10590"
               ]
           },
           "id": 1
       }

Ver también

Fuente

CHost::update() en ui/include/classes/api/services/CHost.php.