host.get

Descrição

integer/array host.get(object parameters)

O método permite recuperar hosts de acordo com os parâmetros informados.

Este método está disponível para usuários de qualquer tipo. As permissões para chamar o método podem ser revogadas nas configurações de função de usuário. Consulte Funções de usuário para obter mais informações.

Parâmetros

(object) Parâmetros que definem a saída desejada.

O método aceita os seguintes parâmetros.

Parâmetro Tipo Descrição
groupids ID/array Retorna somente hosts que pertencem aos grupos especificados.
dserviceids ID/array Retorna somente hosts relacionados aos serviços descobertos especificados.
graphids ID/array Retorna somente hosts que possuem os gráficos especificados.
hostids ID/array Retorna somente hosts com os IDs de host especificados.
httptestids ID/array Retorna somente hosts que possuem as verificações web especificadas.
interfaceids ID/array Retorna somente hosts que usam as interfaces especificadas.
itemids ID/array Retorna somente hosts que possuem os itens especificados.
maintenanceids ID/array Retorna somente hosts afetados pelas manutenções especificadas.
monitored_hosts flag Retorna somente hosts monitorados.
proxyids ID/array Retorna somente hosts monitorados pelos proxies especificados.
proxy_groupids ID/array Retorna somente hosts monitorados pelos grupos de proxies especificados.
templated_hosts flag Retorna hosts e templates.
templateids ID/array Retorna somente hosts vinculados aos templates especificados.
triggerids ID/array Retorna somente hosts que possuem os triggers especificados.
with_items flag Retorna somente hosts que possuem itens.

Substitui os parâmetros with_monitored_items e with_simple_graph_items.
with_item_prototypes flag Retorna somente hosts que possuem protótipos de item.

Substitui o parâmetro with_simple_graph_item_prototypes.
with_simple_graph_item_prototypes flag Retorna somente hosts que possuem protótipos de item habilitados para criação e com tipo de informação numérico.
with_graphs flag Retorna somente hosts que possuem gráficos.
with_graph_prototypes flag Retorna somente hosts que possuem protótipos de gráfico.
with_httptests flag Retorna somente hosts que possuem verificações web.

Substitui o parâmetro with_monitored_httptests.
with_monitored_httptests flag Retorna somente hosts que possuem verificações web habilitadas.
with_monitored_items flag Retorna somente hosts que possuem itens habilitados.

Substitui o parâmetro with_simple_graph_items.
with_monitored_triggers flag Retorna somente hosts que possuem triggers habilitados. Todos os itens usados no trigger também devem estar habilitados.
with_simple_graph_items flag Retorna somente hosts que possuem itens com tipo de informação numérico.
with_triggers flag Retorna somente hosts que possuem triggers.

Substitui o parâmetro with_monitored_triggers.
withProblemsSuppressed boolean Se definido como true, retorna somente hosts com problemas suprimidos.
evaltype integer Método de avaliação das tags.

Valores possíveis:
0 - (padrão) E/Ou;
2 - Ou.
severities integer/array Retorna hosts que possuem somente problemas com as severidades especificadas. Aplica-se somente quando o objeto do problema é um trigger.
tags object/array Retorna somente hosts com as tags especificadas.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Uma matriz vazia retorna todos os hosts.

Valores possíveis de operador:
0 - (padrão) Contém;
1 - É igual a;
2 - Não contém;
3 - Não é igual a;
4 - Existe;
5 - Não existe.
inheritedTags boolean Retorna hosts que possuem as tags especificadas também em todos os seus templates vinculados.

Valores possíveis:
true - os templates vinculados também devem possuir as tags especificadas;
false - (padrão) as tags dos templates vinculados são ignoradas.
selectDiscoveryData query Retorna uma propriedade discoveryData com os dados do objeto de descoberta do host. O objeto de descoberta do host vincula um host descoberto a um protótipo de host a partir do qual ele foi descoberto.

Ele possui as seguintes propriedades:
host - (string) ID do host;
parent_hostid - (string) ID do protótipo de host a partir do qual o host foi criado;
status - (int) status de descoberta do host:
0 - (padrão) o host foi descoberto,
1 - o host não é mais descoberto;
ts_delete - (timestamp) horário em que um host que não é mais descoberto será excluído;
ts_disable - (timestamp) horário em que um host que não é mais descoberto será desabilitado;
disable_source - (int) indicador de que o host foi desabilitado por uma regra de LLD ou manualmente:
0 - (padrão) desabilitado automaticamente,
1 - desabilitado por uma regra de LLD.
selectDiscoveryRule query Retorna uma propriedade discoveryRule com a regra de descoberta de baixo nível que criou o host (a partir de um protótipo de host no monitoramento VMware).
selectDiscoveryRules query Retorna uma propriedade discoveryRules com as regras de LLD do host.

Suporta count.
selectGraphs query Retorna uma propriedade graphs com os gráficos do host.

Suporta count.
selectHostGroups query Retorna uma propriedade hostgroups com os dados dos grupos de hosts aos quais o host pertence.
selectHttpTests query Retorna uma propriedade httpTests com os cenários web do host.

Suporta count.
selectInterfaces query Retorna uma propriedade interfaces com as interfaces do host.

Suporta count.
selectInventory query Retorna uma propriedade inventory com os dados de inventário do host.
selectItems query Retorna uma propriedade items com os itens do host.

Suporta count.
selectMacros query Retorna uma propriedade macros com as macros do host.
selectParentTemplates query Retorna uma propriedade parentTemplates com os templates aos quais o host está vinculado.

Além dos campos do objeto Template, contém link_type - (integer) a forma como o template está vinculado ao host.
Valores possíveis:
0 - (padrão) vinculado manualmente;
1 - vinculado automaticamente por LLD.

Suporta count.
selectDashboards query Retorna uma propriedade dashboards.

Suporta count.
selectTags query Retorna uma propriedade tags com as tags do host.
selectInheritedTags query Retorna uma propriedade inheritedTags com as tags presentes em todos os templates vinculados ao host.
selectTriggers query Retorna uma propriedade triggers com os triggers do host.

Suporta count.
selectValueMaps query Retorna uma propriedade valuemaps com os mapas de valores do host.
filter object Retorna somente os resultados que correspondem exatamente ao filtro especificado.

Aceita um objeto cujas chaves são nomes de propriedades e cujos valores são um único valor ou uma matriz de valores a serem comparados.

Não oferece suporte a propriedades do tipo de dados text.

Oferece suporte a propriedades adicionais: propriedades de interface do host.
limitSelects integer Limita o número de registros retornados por subseleções.

Aplica-se às seguintes subseleções:
selectParentTemplates - os resultados serão ordenados por host;
selectInterfaces;
selectItems - ordenado por name;
selectDiscoveryRules - ordenado por name;
selectTriggers - ordenado por description;
selectGraphs - ordenado por name;
selectDashboards - ordenado por name.
search object Retorna resultados que correspondem ao padrão especificado, sem diferenciar maiúsculas de minúsculas.

Aceita um objeto cujas chaves são nomes de propriedades e cujos valores são strings a serem pesquisadas. Se nenhuma opção adicional for fornecida, será realizada uma pesquisa LIKE "%…%".

Oferece suporte somente a propriedades dos tipos de dados string e text.

Oferece suporte a propriedades adicionais: propriedades de interface do host.
searchInventory object Retorna hosts que possuem dados de inventário correspondentes ao padrão especificado, sem diferenciar maiúsculas de minúsculas.

Aceita um objeto cujas chaves são nomes de propriedades e cujos valores são strings a serem pesquisadas. Se nenhuma opção adicional for fornecida, será realizada uma pesquisa LIKE "%…%".

Oferece suporte somente a propriedades dos tipos de dados string e text.
sortfield string/array Ordena o resultado pelas propriedades especificadas.

Valores possíveis: hostid, host, name, status.
countOutput boolean Esses parâmetros são descritos no comentário de referência.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
selectDiscoveries query Retorna uma propriedade discoveries com as regras de descoberta de baixo nível do host.

Suporta count.

Esta consulta está obsoleta; use selectDiscoveryRules em seu lugar.
selectHostDiscovery query Retorna uma propriedade hostDiscovery com os dados do objeto de descoberta do host.

Esta consulta está obsoleta; use selectDiscoveryData em seu lugar.

Valores de retorno

(integer/array) Retorna:

  • um array de objetos;
  • a contagem de objetos recuperados, se o parâmetro countOutput tiver sido usado.

Exemplos

Recuperando dados pelo nome

Recupere todos os dados sobre dois hosts chamados "Zabbix server" e "Linux server".

Requisição:

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

Resposta:

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

Recuperando grupos de hosts

Recupere os grupos de hosts dos quais o host "Zabbix server" é membro.

Requisição:

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

Resposta:

{
    "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 templates vinculados

Recupere os IDs e nomes dos templates vinculados ao host "10084".

Requisição:

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

Resposta:

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

Recuperando hosts por template

Recupere hosts que tenham o template "10001" (Linux by Zabbix agent) vinculado a eles.

Requisição:

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

Resposta:

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

Pesquisa por dados de inventário de host

Recupera hosts que contenham "Linux" no campo "OS" do inventário do host.

Requisição:

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

Resposta:

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

Pesquisa por tags de host

Recuperar hosts que possuem a tag "host-name" igual a "linux-server".

Requisição:

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

Resposta:

{
    "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 possuem essas tags não apenas no nível do host, mas também em seus templates pai vinculados.

Requisição:

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

Resposta:

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

Recuperar hosts excluindo aqueles com a tag "component".

Requisição:

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

Resposta:

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

Pesquisando host com tags e tags de template

Recupere um host com tags e todas as tags que estão vinculadas aos templates pai.

Requisição:

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

Resposta:

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

Pesquisando hosts por gravidade do problema

Recupere hosts que possuem problemas de "Desastre".

Requisição:

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

Resposta:

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

Recupere hosts que possuem problemas de "Média" e "Alta" gravidade.

Requisição:

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

Resposta:

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

Recuperando items do host

Recupere os items do host "Zabbix server". A solicitação é limitada às propriedades do item itemid, name e status. Devido ao grande tamanho da resposta, apenas um subconjunto de items é mostrado no exemplo.

Solicitação:

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

Resposta:

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

Veja também

Fonte

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