host.get

Descrição

integer/array host.get(object parameters)

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

Este método está disponível para usuários de qualquer tipo. Permissões para chamar o método pode ser revogado nas configurações de função do usuário. Veja Usuário funções Para maiores informações.

Filtrando registros de log de eventos VMware

Usando uma expressão regular no pré-processamento para filtrar eventos desnecessários do log de eventos do VMware.

1. Em um host VMware Hypervisor em funcionamento, verifique se o item de log de eventos vmware.eventlog[<url>,<mode>] está presente e funcionando corretamente. Observe que o item de log de eventos já pode estar presente no hypervisor se o Template VM VMware tiver sido vinculado durante a criação do host.

2. No host VMware Hypervisor, crie um dependent item do tipo 'Log' e defina o item de log de eventos como seu mestre.

Na aba "Pré-processamento" do item dependente, selecione a opção de validação "Corresponde à expressão regular" e preencha o padrão, por exemplo:

".* logged in .*" - filters all logging events in the event log
       "\bUser\s+\K\S+" -  filter only lines with usernames from the event log

Se a expressão regular não for correspondida, o item dependente se torna não suportado com uma mensagem de erro correspondente. Para evitar isso, marque a caixa de seleção "Custom on fail" e selecione para descartar o valor não correspondido.

Outra abordagem que permite usar grupos de correspondência e controle de saída é selecionar a opção "Expressão regular" na aba "Pré-processamento" e preencher os parâmetros, por exemplo:

pattern: ".*logged in.*", output: "\0" - filters all logging events in the event log
       pattern "User (.*?)(?=\ )", output: "\1" - filter only usernames from the event log

Valores de retorno

(integer/array) Retorna:

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

Exemplos

Recuperando dados por nome

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

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.get",
           "parâmetros": {
               "filtro": {
                   "hospedeiro": [
                       "servidor Zabbix",
                       "Servidor Linux"
                   ]
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": [
               {
                   "manutenção": [],
                   "hostid": "10160",
                   "proxy_hostid": "0",
                   "host": "servidor Zabbix",
                   "estado": "0",
                   "lastaccess": "0",
                   "ipmi_authtype": "-1",
                   "ipmi_privilege": "2",
                   "ipmi_username": "",
                   "ipmi_password": "",
                   "ipmi_disable_until": "0",
                   "snmp_disable_until": "0",
                   "manutençãoid": "0",
                   "maintenance_status": "0",
                   "maintenance_type": "0",
                   "maintenance_from": "0",
                   "nome": "servidor Zabbix",
                   "description": "O servidor de monitoramento Zabbix.",
                   "tls_connect": "1",
                   "tls_accept": "1",
                   "tls_issuer": "",
                   "tls_subject": ""
               },
               {
                   "manutenção": [],
                   "hostid": "10167",
                   "proxy_hostid": "0",
                   "host": "Servidor Linux",
                   "estado": "0",
                   "lastaccess": "0",
                   "ipmi_authtype": "-1",
                   "ipmi_privilege": "2",
                   "ipmi_username": "",
                   "ipmi_password": "",
                   "ipmi_disable_until": "0",
                   "snmp_disable_until": "0",
                   "manutençãoid": "0",
                   "maintenance_status": "0",
                   "maintenance_type": "0",
                   "maintenance_from": "0",
                   "nome": "Servidor Linux",
                   "Descrição": "",
                   "tls_connect": "1",
                   "tls_accept": "1",
                   "tls_issuer": "",
                   "tls_subject": ""
               }
           ],
           "id": 1
       }

Recuperando grupos de hosts

Recupere os nomes dos grupos que o host "Zabbix server" é membro, mas não detalhes do host em si.

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.get",
           "parâmetros": {
               "saída": ["hostid"],
               "selectGroups": "estender",
               "filtro": {
                   "hospedeiro": [
                       "servidor Zabbix"
                   ]
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 2
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": [
               {
                   "hostid": "10085",
                   "grupos": [
                       {
                           "groupid": "2",
                           "name": "Servidores Linux",
                           "interno": "0",
                           "bandeiras": "0"
                       },
                       {
                           "groupid": "4",
                           "name": "servidores Zabbix",
                           "interno": "0",
                           "bandeiras": "0"
                       }
                   ]
               }
           ],
           "id": 2
       }

Recuperando templates vinculados

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

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.get",
           "parâmetros": {
               "saída": ["hostid"],
               "selectParentTemplates": [
                   "modelo",
                   "nome"
               ],
               "hostids": "10084"
           },
           "id": 1,
           "auth": "70785d2b494a7302309b48afcdb3a401"
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": [
               {
                   "hostid": "10084",
                   "parentModelos": [
                       {
                           "nome": "Linux",
                           "templateid": "10001"
                       },
                       {
                           "nome": "Servidor Zabbix",
                           "templateid": "10047"
                       }
                   ]
               }
           ],
           "id": 1
       }

Recuperando hosts por template

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

Solicitação:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["hostid", "name"],
               "templateids": "10001"
           },
           "auth": "70785d2b494a7302309b48afcdb3a401",
           "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
       }

Pesquisando por dados de inventário do host

Recupere hosts que contenham "Linux" no campo "OS" do inventário de hosts.

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.get",
           "parâmetros": {
               "saída": [
                   "hospedeiro"
               ],
               "selectInventário": [
                   "os"
               ],
               "pesquisarInventário": {
                   "os": "Linux"
               }
           },
           "id": 2,
           "auth": "7f9e00124c75e8f25facd5c093f3e9a0"
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": [
               {
                   "hostid": "10084",
                   "host": "servidor Zabbix",
                   "inventário": {
                       "os": "Linux Ubuntu"
                   }
               },
               {
                   "hostid": "10107",
                   "host": "Servidor Linux",
                   "inventário": {
                       "os": "Linux Mint"
                   }
               }
           ],
           "id": 1
       }

Pesquisando por tags de host

Recupere os hosts que possuem a tag "Nome do host" igual a "Servidor Linux".

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.get",
           "parâmetros": {
               "saída": ["hostid"],
               "selectTags": "estender",
               "evaltype": 0,
               "Tag": [
                   {
                       "tag": "Nome do host",
                       "value": "Servidor Linux",
                       "operador": 1
                   }
               ]
           },
           "auth": "7f9e00124c75e8f25facd5c093f3e9a0",
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": [
               {
                   "hostid": "10085",
                   "Tag": [
                       {
                           "tag": "Nome do host",
                           "value": "Servidor Linux"
                       },
                       {
                           "tag": "SO",
                           "valor": "RHEL 7"
                       }
                   ]
               }
           ],
           "id": 1
       }

Recupere hosts que tenham essas tags não apenas em nível de host, mas também em seus modelos pai vinculados.

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.get",
           "parâmetros": {
               "saída": ["nome"],
               "tags": [{"tag": "A", "value": "1", "operator": "0"}],
               "herdadoTags": verdadeiro
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": [
               {
                   "hostid": "10623",
                   "name": "Sala de PC 1"
               },
               {
                   "hostid": "10601",
                   "nome": "Escritório"
               }
           ],
           "id": 1
       }

Pesquisando host com tags e tags de template

Recuperar um host com tags e todas as tags vinculadas aos templates pai.

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.get",
           "parâmetros": {
               "saída": ["nome"],
               "hostids": 10502,
               "selectTags": ["tag", "valor"],
               "selectInheritedTags": ["tag", "valor"]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": [
               {
                   "hostid": "10502",
                   "nome": "Área de trabalho",
                   "Tag": [
                       {
                           "marca": "A",
                           "valor": "1"
                       }
                   ],
                   "herdadoTags": [
                       {
                           "marca": "B",
                           "valor": "2"
                       }
                   ]
               }
           ],
           "id": 1
       }

Pesquisando hosts por gravidade do problema

Recupere hosts que tenham problemas de "Desastre".

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.get",
           "parâmetros": {
               "saída": ["nome"],
               "gravidades": 5
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": [
               {
                   "hostid": "10160",
                   "name": "servidor Zabbix"
               }
           ],
           "id": 1
       }

Recupere hosts que tenham problemas "Average" e "High".

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.get",
           "parâmetros": {
               "saída": ["nome"],
               "gravidades": [3, 4]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": [
               {
                   "hostid": "20170",
                   "nome": "Banco de dados"
               },
               {
                   "hostid": "20183",
                   "nome": "estação de trabalho"
               }
           ],
           "id": 1
       }

Veja também

Fonte

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