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.