Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

host.update

Descripción

object host.update(object/array hosts)

Este método permite actualizar equipos existentes.

Este método solo está disponible para los tipos de usuario Admin y Super admin. Los permisos para llamar al método pueden ser revocados en la configuración del rol de usuario. Consulte Roles de usuario para obtener más información.

Parámetros

(objeto/array) Propiedades del equipo que se van a actualizar.

La propiedad hostid debe definirse para cada equipo, todas las demás propiedades son opcionales. Solo se actualizarán las propiedades indicadas, todas las demás 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 se proporciona 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 objeto/array Grupos de equipos para reemplazar los grupos de equipos actuales a los que pertenece el equipo.
Todos los grupos de equipos que no se enumeren en la solicitud se desvincularán.

Los grupos de equipos deben tener definida solo la propiedad groupid.
interfaces objeto/array Interfaces de equipo para reemplazar las interfaces de equipo actuales.
Todas las interfaces que no se enumeren en la solicitud se eliminarán.
tags objeto/array Etiquetas de equipo para reemplazar las etiquetas de equipo actuales.
Todas las etiquetas que no se enumeren en la solicitud se eliminarán.
inventory objeto Propiedades de inventario de equipo.
macros objeto/array Macros de usuario para reemplazar las macros de usuario actuales.
Todas las macros que no se enumeren en la solicitud se eliminarán.
templates objeto/array Plantillas para reemplazar las plantillas actualmente vinculadas.
Todas las plantillas que no se enumeren en la solicitud solo se desvincularán.

Las plantillas deben tener definida solo la propiedad templateid.
templates_clear objeto/array Plantillas para desvincular y limpiar del equipo.

Las plantillas deben tener definida solo la propiedad templateid.

A diferencia del frontend de Zabbix, cuando name (nombre visible del equipo) es igual a host (nombre técnico del equipo), al actualizar host mediante la API no se actualizará automáticamente name. Ambas propiedades deben actualizarse explícitamente.

Valores de retorno

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

Ejemplos

Habilitar un equipo

Habilite la monitorización del equipo, es decir, establezca su estado en "0".

Solicitud:

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

Respuesta:

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

Desvincular plantillas

Desvincular y limpiar dos plantillas de un 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 de equipo por dos nuevas.

Solicitud:

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

Respuesta:

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

Actualizando el inventario del equipo

Cambiar el modo de inventario y añadir 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

Reemplazar 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 equipo descubiertas

Convertir la macro "automática" creada por la regla de descubrimiento en "manual" y cambiar 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 que utilice solo cifrado PSK para las 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
       }

Véase también

Fuente

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