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 pueden ser revocados en la configuración de roles de usuario. Consulte Roles de usuario para más información.

Parámetros

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

El método admite los siguientes parámetros.

Parameter Type Description
groupids ID/array Devuelve solo los hosts que pertenecen a los grupos indicados.
dserviceids ID/array Devuelve solo los hosts que están relacionados con los servicios descubiertos indicados.
graphids ID/array Devuelve solo los hosts que tienen los gráficos indicados.
hostids ID/array Devuelve solo los hosts con los IDs de host indicados.
httptestids ID/array Devuelve solo los hosts que tienen las comprobaciones web indicadas.
interfaceids ID/array Devuelve solo los hosts que usan las interfaces indicadas.
itemids ID/array Devuelve solo los hosts que tienen los items indicados.
maintenanceids ID/array Devuelve solo los hosts afectados por los mantenimientos indicados.
monitored_hosts flag Devuelve solo los hosts monitorizados.
proxyids ID/array Devuelve solo los hosts que son monitorizados por los proxies indicados.
proxy_groupids ID/array Devuelve solo los hosts que son monitorizados por los grupos de proxy indicados.
templated_hosts flag Devuelve tanto hosts como templates.
templateids ID/array Devuelve solo los hosts que están vinculados a los templates indicados.
triggerids ID/array Devuelve solo los hosts que tienen los triggers indicados.
with_items flag Devuelve solo los hosts que tienen items.

Sobrescribe los parámetros with_monitored_items y with_simple_graph_items.
with_item_prototypes flag Devuelve solo los hosts que tienen prototipos de item.

Sobrescribe el parámetro with_simple_graph_item_prototypes.
with_simple_graph_item_prototypes flag Devuelve solo los hosts que tienen prototipos de item, que están habilitados para su creación y tienen un tipo de información numérico.
with_graphs flag Devuelve solo los hosts que tienen gráficos.
with_graph_prototypes flag Devuelve solo los hosts que tienen prototipos de gráfico.
with_httptests flag Devuelve solo los hosts que tienen comprobaciones web.

Sobrescribe el parámetro with_monitored_httptests.
with_monitored_httptests flag Devuelve solo los hosts que tienen comprobaciones web habilitadas.
with_monitored_items flag Devuelve solo los hosts que tienen items habilitados.

Sobrescribe el parámetro with_simple_graph_items.
with_monitored_triggers flag Devuelve solo los hosts que tienen triggers habilitados. Todos los items utilizados en el trigger también deben estar habilitados.
with_simple_graph_items flag Devuelve solo los hosts que tienen items con tipo de información numérico.
with_triggers flag Devuelve solo los hosts que tienen triggers.

Sobrescribe el parámetro with_monitored_triggers.
withProblemsSuppressed boolean Si se establece en true, devuelve solo los hosts con problemas suprimidos.
evaltype integer Método de evaluación de etiquetas.

Valores posibles:
0 - (predeterminado) And/Or;
2 - Or.
severities integer/array Devuelve los hosts que tienen solo problemas con las severidades indicadas. Se aplica solo si el objeto problem es trigger.
tags object/array Devuelve solo los hosts con las etiquetas indicadas.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Un array vacío devuelve todos los hosts.

Valores posibles de operator:
0 - (predeterminado) Contiene;
1 - Es igual a;
2 - No contiene;
3 - No es igual a;
4 - Existe;
5 - No existe.
inheritedTags boolean Devuelve los hosts que tienen las tags indicadas también en todas sus templates vinculadas.

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

Admite count.
selectDiscoveryRule query Devuelve una propiedad discoveryRule con la regla de descubrimiento de bajo nivel que creó el host (a partir del prototipo de host en la monitorización de VMware).
selectGraphs query Devuelve una propiedad graphs con los gráficos del host.

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

El objeto de descubrimiento del host vincula un host descubierto con un prototipo de host o prototipos de host con una regla LLD y tiene las siguientes propiedades:
host - (string) host del prototipo de host;
hostid - (string) ID del host descubierto o del prototipo de host;
parent_hostid - (string) ID del prototipo de host a partir del cual se ha creado el host;
parent_itemid - (string) ID de la regla LLD que creó el host descubierto;
lastcheck - (timestamp) momento en que se descubrió el host por última vez;
status - (int) estado del descubrimiento del host:
0 - (predeterminado) el host está descubierto,
1 - el host ya no está descubierto;
ts_delete - (timestamp) momento en que se eliminará un host que ya no está descubierto;
ts_disable - (timestamp) momento en que se deshabilitará un host que ya no está descubierto;
disable_source - (int) indicador de si el host fue deshabilitado por una regla LLD o manualmente:
0 - (predeterminado) deshabilitado automáticamente,
1 - deshabilitado por una regla LLD.
selectHostGroups query Devuelve una propiedad hostgroups con los datos de los grupos de host a los que pertenece el host.
selectHttpTests query Devuelve una propiedad httpTests con los escenarios web del host.

Admite count.
selectInterfaces query Devuelve una propiedad interfaces con las interfaces del host.

Admite count.
selectInventory query Devuelve una propiedad inventory con los datos de inventario del host.
selectItems query Devuelve una propiedad items con los items del host.

Admite count.
selectMacros query Devuelve una propiedad macros con las macros del host.
selectParentTemplates query Devuelve una propiedad parentTemplates con los templates a los que está vinculado el host.

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

Admite count.
selectDashboards query Devuelve una propiedad dashboards.

Admite count.
selectTags query Devuelve una propiedad tags con las etiquetas del host.
selectInheritedTags query Devuelve una propiedad inheritedTags con las etiquetas que están en todas las templates vinculadas al host.
selectTriggers query Devuelve una propiedad triggers con los triggers del host.

Admite count.
selectValueMaps query Devuelve una propiedad valuemaps con los mapas de valores del host.
filter object Devuelve solo los resultados que coinciden exactamente con el filtro indicado.

Acepta un objeto, donde las claves son nombres de propiedades y los valores son un único valor o un array de valores con los que comparar.

No admite propiedades de tipo de datos text data type.

Admite propiedades adicionales: propiedades de Host interface.
limitSelects integer Limita el número de registros devueltos por las subconsultas.

Se aplica a las siguientes subconsultas:
selectParentTemplates - los resultados se ordenarán por host;
selectInterfaces;
selectItems - ordenados por name;
selectDiscoveries - ordenados por name;
selectTriggers - ordenados por description;
selectGraphs - ordenados por name;
selectDashboards - ordenados por name.
search object Devuelve resultados que coinciden con el patrón indicado (sin distinguir mayúsculas y minúsculas).

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

Solo admite propiedades de tipo de datos string y text data type.

Admite propiedades adicionales: propiedades de Host interface.
searchInventory object Devuelve hosts que tienen datos de inventario que coinciden con el patrón indicado (sin distinguir mayúsculas y minúsculas).

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

Solo admite propiedades de tipo de datos string y text data type.
sortfield string/array Ordena el resultado por las propiedades indicadas.

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

Valores de retorno

(integer/array) Devuelve:

  • un array de objetos;
  • el número de objetos recuperados, si se ha utilizado el parámetro countOutput.

Ejemplos

Recuperar datos por nombre

Recuperar todos los datos sobre dos equipos llamados "Zabbix server" y "Linux server".

Solicitud:

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

Respuesta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10160",
            "proxyid": "0",
            "host": "Zabbix 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": "Zabbix server",
            "flags": "0",
            "description": "The Zabbix monitoring server.",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "inventory_mode": "1",
            "active_available": "1",
            "assigned_proxyid": "0"
        },
        {
            "hostid": "10167",
            "proxyid": "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": "",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "inventory_mode": "1",
            "active_available": "1",
            "assigned_proxyid": "0"
        }
    ],
    "id": 1
}

Recuperar grupos de equipos

Recuperar los grupos de equipos a los que pertenece el equipo "Zabbix server".

Solicitud:

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

Respuesta:

{
    "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
}

Recuperar plantillas vinculadas

Recuperar los IDs y 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
}

Recuperar equipos por plantilla

Recuperar los equipos que tienen la plantilla "10001" (Linux por 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 equipos

Recuperar equipos que contengan "Linux" en el campo "SO" del inventario de equipos.

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 host

Recuperar hosts que tengan la etiqueta "host-name" igual a "linux-server".

Solicitud:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectTags": "extend",
        "evaltype": 0,
        "tags": [
            {
                "tag": "host-name",
                "value": "linux-server",
                "operator": 1
            }
        ]
    },
    "id": 1
}

Respuesta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10085",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "linux-server",
                    "automatic": "0"
                },
                {
                    "tag": "os",
                    "value": "rhel-7",
                    "automatic": "0"
                }
            ]
        }
    ],
    "id": 1
}

Recuperar hosts que tengan estas etiquetas no solo a nivel de host sino también en sus templates padre vinculados.

Solicitud:

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

Respuesta:

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

Recuperar hosts excluyendo aquellos con la etiqueta "component".

Solicitud:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectTags": "extend",
        "evaltype": 0,
        "tags": [
            {
                "tag": "component",
                "value": "",
                "operator": 5
            }
        ]
    },
    "id": 1
}

Respuesta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10084",
            "tags": [
                {
                    "tag": "class",
                    "value": "os",
                    "automatic": "0"
                },
                {
                    "tag": "target",
                    "value": "linux",
                    "automatic": "0"
                }
            ]
        },
        {
            "hostid": "10629",
            "tags": [
                {
                    "tag": "class",
                    "value": "application",
                    "automatic": "0"
                },
                {
                    "tag": "target",
                    "value": "browser",
                    "automatic": "0"
                }
            ]
        }
    ],
    "id": 1
}

Búsqueda de equipo con etiquetas y etiquetas de plantilla

Recuperar un equipo con etiquetas y todas las etiquetas que están vinculadas a las plantillas padre.

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": "host-name",
                    "value": "linux-server"
                },
                {
                    "tag": "os",
                    "value": "rhel-7"
                }
            ],
            "inheritedTags": [
                {
                    "tag": "class",
                    "value": "os"
                },
                {
                    "tag": "target",
                    "value": "linux"
                },
                {
                    "tag": "os",
                    "value": "rhel-7"
                }
            ]
        }
    ],
    "id": 1
}

Buscar equipos por gravedad del problema

Recuperar equipos que tienen problemas de tipo "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 tienen problemas de tipo "Media" y "Alta".

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
}

Recuperación de items del host

Recupere los items del host "Zabbix server". La solicitud está limitada a las propiedades del item itemid, name y status. Debido al gran tamaño de la respuesta, en el ejemplo solo se muestra un subconjunto de items.

Solicitud:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectItems": ["itemid","name","status"],
        "filter": {
            "host": [
                "Zabbix server"
            ]
        }
    },
    "id": 1
}

Respuesta:

{
  "jsonrpc": "2.0",
  "result": [
    {
      "hostid": "10084",
      "items": [
        {
          "itemid": "42227",
          "name": "Host name of Zabbix agent running",
          "status": "0"
        },
        {
          "itemid": "42237",
          "name": "Zabbix agent ping",
          "status": "0"
        },
        {
          "itemid": "42250",
          "name": "Version of Zabbix agent running",
          "status": "0"
        },
        {
          "itemid": "42251",
          "name": "Maximum number of open file descriptors",
          "status": "0"
        },
        {
          "itemid": "42252",
          "name": "Maximum number of processes",
          "status": "0"
        },
        {
          "itemid": "69869",
          "name": "Interface enp0s3: Inbound packets discarded",
          "status": "0"
        },
        {
          "itemid": "69870",
          "name": "Interface enp0s3: Inbound packets with errors",
          "status": "0"
        },
        {
          "itemid": "69871",
          "name": "Interface enp0s3: Bits received",
          "status": "0"
        },
        {
          "itemid": "69872",
          "name": "Interface enp0s3: Outbound packets discarded",
          "status": "0"
        },
        {
          "itemid": "69873",
          "name": "Interface enp0s3: Outbound packets with errors",
          "status": "0"
        },
        {
          "itemid": "69874",
          "name": "Interface enp0s3: Bits sent",
          "status": "0"
        },
        {
          "itemid": "42253",
          "name": "Number of processes",
          "status": "0"
        },
        {
          "itemid": "42254",
          "name": "Number of running processes",
          "status": "0"
        },
        {
          "itemid": "42255",
          "name": "System boot time",
          "status": "0"
        }
      ]
    }
  ],
  "id": 1
}

Ver también

Fuente

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