host.get

Descripción

integer/array host.get(object parameters)

El método permite recuperar equipos según los parámetros dados.

Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método se pueden revocar en la configuración de roles de usuario. Ver Roles de usuario para más información.

Parámetros

(objeto) Parámetros que definen la salida deseada.

El método admite los siguientes parámetros.

|Parámetro|Tipo|Descripción| |--|--|-- ----| |groupids|cadena/matriz|Devuelve solo equipos que pertenecen a los grupos dados.| |dserviceids|cadena/matriz|Devuelve solo equipos que están relacionados con los servicios descubiertos dados.| |graphids|cadena/matriz| Devuelve solo equipos que tienen los gráficos proporcionados.| |hostids|cadena/matriz|Devuelve solo equipos con los ID de equipo proporcionados.| |httptestids|cadena/matriz|Devuelve solo equipos que tienen las comprobaciones web proporcionadas.| |interfaceids|cadena/ matriz|Devuelve solo equipos que usan las interfaces dadas.| |itemids|cadena/matriz|Devuelve solo equipos que tienen los elementos dados.| |maintenanceids|cadena/matriz|Devuelve solo equipos que se ven afectados por los mantenimientos dados.| |monitored _hosts|flag|Devuelve solo equipos monitoreados.| |proxy_hosts|flag|Devuelve solo proxies.| |proxyids|string/array|Devuelve solo equipos que son monitoreados por los proxies dados.| |template_hosts|flag|Devuelve tanto equipos como plantillas.| |templateids|string/array|Devuelve solo equipos que están vinculados a las plantillas dadas.| |triggerids|string/array|Devuelve solo equipos que tienen los iniciadores dados.| |with_items|flag|Devuelve solo equipos que tienen métricas.

Anula los parámetros with_monitored_items y with_simple_graph_items.| |with_item_prototypes|flag|Devuelve solo equipos que tienen prototipos de métricas.

Anula el with_simple_graph_item_prototypes parámetro.| |with_simple_graph_item_prototypes|flag|Devuelve solo equipos que tienen prototipos de métricas, que están habilitados para la creación y tienen tipo de información numérica.| |with_graphs|flag|Devuelve solo equipos que tener gráficos.| |with_graph_prototypes|flag|Devuelve solo equipos que tienen prototipos de gráficos.| |with_httptests|flag|Devuelve solo equipos que tienen comprobaciones web.

Anula el parámetro with_monitored_httptests.| |with _monitored_httptests|flag|Devuelve solo equipos que tienen comprobaciones web habilitadas.| |with_monitored_items|flag|Devuelve solo equipos que tienen elementos habilitados.

Anula el parámetro with_simple_graph_items.| |with _monitored_triggers|flag|Devuelve solo equipos que tienen iniciadores habilitados. Todos los elementos utilizados en el iniciador también deben estar habilitados.| |with_simple_graph_items|flag|Devuelve solo equipos que tienen elementos con tipo de información numérico.| |with_triggers|flag|Devuelve solo equipos que tienen iniciadores.

Anula el parámetro with_monitored_triggers.| |withProblemsSuppressed|booleano|Devuelve equipos que han suprimido problemas.

Valores posibles:
null - (predeterminado) todos los equipos;
true - solo equipos con problemas suprimidos;
false - solo equipos con problemas no suprimidos.| |evaltype|integer|Reglas para la búsqueda de etiquetas.

Valores posibles:<br >0 - (predeterminado) Y/O;
2 - O.| |severities|integer/array|Devuelve equipos que solo tienen problemas con gravedades dadas. Se aplica solo si el objeto problemático es el desencadenante.| |tags|object/array|Devuelve solo equipos con etiquetas dadas. Coincidencia exacta por etiqueta y búsqueda que distinga entre mayúsculas y minúsculas por valor de etiqueta según el valor del operador.
Formato: [{"tag": "<tag>", "value": "<value>", " operador": "<operador>"}, ...].
Una matriz vacía devuelve todos los equipos.

Valores posibles del operador:
0 - (predeterminado) Contiene;<br >1 - Igual;
2 - No me gusta;
3 - No igual;
4 - Existe;
5 - No existe.| |inheritedTags|boolean|Devuelve equipos que han proporcionado etiquetas también en todas sus plantillas vinculadas. Valor predeterminado:

Valores posibles:
true: las plantillas vinculadas también deben tener etiquetas;
false: (predeterminado) las etiquetas de las plantillas vinculadas se ignoran.| |selectDiscoveries| consulta|Devuelve una propiedad discoveries con reglas de descubrimiento de bajo nivel del host.

Admite count.| |selectDiscoveryRule|query|Devuelve una [discoveryRule] (/manual/api/reference/discoveryrule/object) propiedad con la regla de descubrimiento de bajo nivel que creó el host (desde el prototipo de host en el monitoreo de VMware).||selectGraphs|query|Devolver a graphs con gráficos de host.

Admite count.| |selectHostDiscovery|query|Devuelve una propiedad hostDiscovery con datos del objeto de descubrimiento de host.

El objeto de descubrimiento de host vincula un host descubierto a un prototipo de host o un prototipo de host a una regla LLD y tiene las siguientes propiedades:
host - (string) host del prototipo de host;
hostid - (string ) ID del host descubierto o prototipo de host;
parent_hostid - (string) ID del prototipo de host a partir del cual se creó el host;
parent_itemid - (string) ID de la regla LLD que creó el host descubierto;
lastcheck - (timestamp) hora en que el equipo fue descubierto por última vez;
ts_delete - (timestamp) hora en que un equipo que ya no se descubre se eliminará.| |selectHostGroups|query|Devuelve una propiedad hostgroups con datos de los grupos de hosts a los que pertenece el host.| |selectHttpTests|query|Devuelve un httpTests propiedad con escenarios web de host.

Admite count.| |selectInterfaces|query|Devuelve una interfaces propiedad con interfaces de host.

Admite count.| |selectInventory|query|Devuelve una propiedad inventario con datos de inventario de host.|| selectItems|query|Devuelve una propiedad items con elementos host.

Admite count.| |selectMacros|query|Devuelve una macros con macros de host.||selectParentTemplates|query|Devuelve una propiedad parentTemplates con plantillas al que está vinculado el equipo.

Además de los campos del objeto Plantilla, contiene link_type - (entero) la forma en que la plantilla está vinculada al host.
Valores posibles:
0 - (predeterminado) vinculado manualmente;
1 - vinculado automáticamente por LLD.

Admite count.| |selectDashboards|query|Devuelve una propiedad dashboards.< br>
Admite count.| |selectTags|query|Devuelve una propiedad tags con etiquetas de host.| |selectInheritedTags|query|Devuelve una inheritedTags propiedad con etiquetas que están en todas las plantillas que están vinculadas al host.| |selectTriggers|query|Devuelve un triggers propiedad con activadores de host.

Admite count.| |selectValueMaps|query|Devuelve una propiedad valuemaps con mapas de valores de host.| |filter |objeto|Devuelve sólo aquellos resultados que exactamente ma | |limitSelects|integer|Limita el número de registros devueltos por las subselecciones.

Se aplica a las siguientes subselecciones:
selectParentTemplates: los resultados se ordenarán por host;
selectInterfaces;< br>selectItems - ordenado por nombre;
selectDiscoveries - ordenado por nombre;
selectTriggers - ordenado por descripción;
selectGraphs - ordenado por nombre ;
selectDashboards - ordenado por nombre.||search|object|Devuelve resultados que coinciden con el patrón dado (no distingue entre mayúsculas y minúsculas).

Acepta una matriz, donde las claves son nombres de propiedades, y los valores son cadenas para buscar. Si no se proporcionan opciones adicionales, se realizará una búsqueda LIKE "%…%".

Permite buscar por propiedades de la interfaz. Funciona solo para los campos string y text.||searchInventory|object|Devuelve solo hosts que tienen datos de inventario que coinciden con la búsqueda con comodín dada.

Este parámetro se ve afectado por los mismos parámetros adicionales que search .||sortfield|string/array|Ordena el resultado según las propiedades dadas.

Valores posibles: hostid, host, name, status.| |countOutput|boolean|Estos parámetros ser comunes para todos los métodos get se describen en detalle en el comentario de referencia.| |editable|boolean|^| |excludeSearch|boolean|^| |limit|integer|^ | |output|consulta|^| |preservekeys|boolean|^| |searchByAny|boolean|^| |searchWildcardsEnabled|boolean|^| |sortorder|string/array|^| |startSearch|boolean|^| |selectGroups
(obsoleto)|query|Este parámetro está obsoleto; utilice selectHostGroups en su lugar.
Devuelve una propiedad groups con datos de los grupos de equipos a los que pertenece el equipo.|

Valores de retorno

(entero/matriz) Devuelve:

  • una matriz de objetos;
  • el recuento de objetos recuperados, si el parámetro countOutput ha sido usado.

Ejemplos

Recuperando datos por nombre

Recupere todos los datos sobre dos equipos llamados "servidor Zabbix" y "Linux servidor".

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "filter": {
                   "host": [
                       "Zabbix server",
                       "Linux server"
                   ]
               }
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10160",
                   "proxy_hostid": "0",
                   "host": "Zabbix server",
                   "status": "0",
                   "lastaccess": "0",
                   "ipmi_authtype": "-1",
                   "ipmi_privilege": "2",
                   "ipmi_username": "",
                   "ipmi_password": "",
                   "maintenanceid": "0",
                   "maintenance_status": "0",
                   "maintenance_type": "0",
                   "maintenance_from": "0",
                   "name": "Zabbix server",
                   "flags": "0",
                   "description": "The Zabbix monitoring server.",
                   "tls_connect": "1",
                   "tls_accept": "1",
                   "tls_issuer": "",
                   "tls_subject": "",
                   "inventory_mode": "1",
                   "active_available": "1"
               },
               {
                   "hostid": "10167",
                   "proxy_hostid": "0",
                   "host": "Linux server",
                   "status": "0",
                   "ipmi_authtype": "-1",
                   "ipmi_privilege": "2",
                   "ipmi_username": "",
                   "ipmi_password": "",
                   "maintenanceid": "0",
                   "maintenance_status": "0",
                   "maintenance_type": "0",
                   "maintenance_from": "0",
                   "name": "Linux server",
                   "flags": "0",
                   "description": "",
                   "tls_connect": "1",
                   "tls_accept": "1",
                   "tls_issuer": "",
                   "tls_subject": "",
                   "inventory_mode": "1",
                   "active_available": "1"
               }
           ],
           "id": 1
       }

Recuperando grupos de equipos

Recupere los grupos de equipos de los que el equipo "servidor Zabbix" es miembro.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["hostid"],
               "selectHostGroups": "extend",
               "filter": {
                   "host": [
                       "Zabbix server"
                   ]
               }
           },
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10085",
                   "hostgroups": [
                       {
                           "groupid": "2",
                           "name": "Linux servers",
                           "flags": "0",
                           "uuid": "dc579cd7a1a34222933f24f52a68bcd8"
                       },
                       {
                           "groupid": "4",
                           "name": "Zabbix servers",
                           "flags": "0",
                           "uuid": "6f6799aa69e844b4b3918f779f2abf08"
                       }
                   ]
               }
           ],
           "id": 1
       }

Recuperando plantillas vinculadas

Recupere los ID y los nombres de las plantillas vinculadas al equipo "10084".

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["hostid"],
               "selectParentTemplates": [
                   "templateid",
                   "name"
               ],
               "hostids": "10084"
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10084",
                   "parentTemplates": [
                       {
                           "name": "Linux",
                           "templateid": "10001"
                       },
                       {
                           "name": "Zabbix Server",
                           "templateid": "10047"
                       }
                   ]
               }
           ],
           "id": 1
       }

Recuperando hosts por plantilla

Recupere equipos que tengan la plantilla "10001" (Linux by Zabbix agent) vinculada a ellos.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["hostid", "name"],
               "templateids": "10001"
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "templateid": "10001",
                   "hosts": [
                       {
                           "hostid": "10084",
                           "name": "Zabbix server"
                       },
                       {
                           "hostid": "10603",
                           "name": "Host 1"
                       },
                       {
                           "hostid": "10604",
                           "name": "Host 2"
                       }
                   ]
               }
           ],
           "id": 1
       }

Búsqueda por datos de inventario de equipo

Recupere equipos que contengan "Linux" en el campo "OS" del inventario de equipo.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": [
                   "host"
               ],
               "selectInventory": [
                   "os"
               ],
               "searchInventory": {
                   "os": "Linux"
               }
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10084",
                   "host": "Zabbix server",
                   "inventory": {
                       "os": "Linux Ubuntu"
                   }
               },
               {
                   "hostid": "10107",
                   "host": "Linux server",
                   "inventory": {
                       "os": "Linux Mint"
                   }
               }
           ],
           "id": 1
       }

Búsqueda por etiquetas de equipo

Recupere equipos que tengan la etiqueta "Nombre de equipo" igual a "servidor Linux".

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["hostid"],
               "selectTags": "extend",
               "evaltype": 0,
               "tags": [
                   {
                       "tag": "Nombre de equipo",
                       "value": "servidor Linux",
                       "operator": 1
                   }
               ]
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10085",
                   "tags": [
                       {
                           "tag": "Host name",
                           "value": "Linux server"
                       },
                       {
                           "tag": "OS",
                           "value": "RHEL 7"
                       }
                   ]
               }
           ],
           "id": 1
       }

Recupere equipos que tienen estas etiquetas no solamente a nivel del propio equipo sino tambien en sus plantillas vinculadas.

Request:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["name"],
               "tags": [
                   {
                       "tag": "A",
                       "value": "1",
                       "operator": 1
                   }
               ],
               "inheritedTags": true
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10623",
                   "name": "PC room 1"
               },
               {
                   "hostid": "10601",
                   "name": "Office"
               }
           ],
           "id": 1
       }

Buscando equipos con etiquetas y etiquetas de plantilla

Recuperar un equipo con etiquetas y todas las etiquetas vinculadas a las plantillas principales.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["name"],
               "hostids": 10502,
               "selectTags": ["tag", "value"],
               "selectInheritedTags": ["tag", "value"]
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10502",
                   "name": "Desktop",
                   "tags": [
                       {
                           "tag": "A",
                           "value": "1"
                       }
                   ],
                   "inheritedTags": [
                       {
                           "tag": "B",
                           "value": "2"
                       }
                   ]
               }
           ],
           "id": 1
       }

Búsqueda de hosts por gravedad del problema

Recuperar equipos que tengan problemas en situación de "desastre".

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["name"],
               "severities": 5
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10160",
                   "name": "Zabbix server"
               }
           ],
           "id": 1
       }

Recuperar equipos que tengan problemas en situación de "Average" y "High".

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["name"],
               "severities": [3, 4]
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "20170",
                   "name": "Database"
               },
               {
                   "hostid": "20183",
                   "name": "workstation"
               }
           ],
           "id": 1
       }

Ver también

Fuente

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