template.get

Descrição

integer/array template.get(object parameters)

O método permite recuperar templates 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 do 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 é compatível com os seguintes parâmetros.

Parâmetro Tipo Descrição
templateids ID/array Retorna somente os templates com os IDs de template especificados.
groupids ID/array Retorna somente os templates que pertencem aos grupos de templates especificados.
parentTemplateids ID/array Retorna somente os templates aos quais o template especificado está vinculado.
hostids ID/array Retorna somente os templates vinculados aos hosts/templates especificados.
graphids ID/array Retorna somente os templates que contêm os graphs especificados.
itemids ID/array Retorna somente os templates que contêm os items especificados.
triggerids ID/array Retorna somente os templates que contêm os triggers especificados.
with_items flag Retorna somente os templates que têm items.
with_triggers flag Retorna somente os templates que têm triggers.
with_graphs flag Retorna somente os templates que têm graphs.
with_httptests flag Retorna somente os templates que têm cenários web.
evaltype integer Método de avaliação de tags.

Valores possíveis:
0 - (padrão) E/Ou;
2 - Ou.
tags object/array Retorna somente os templates com as tags especificadas.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Uma matriz vazia retorna todos os templates.

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 templates que também têm as tags especificadas nos templates vinculados.

Valores possíveis:
true - os templates vinculados também devem ter as tags especificadas;
false - (padrão) as tags dos templates vinculados são ignoradas.
selectInheritedTags query Retorna uma propriedade inheritedTags com as tags presentes nos templates vinculados.
selectTags query Retorna as tags do template na propriedade tags.
selectDiscoveryRules query Retorna uma propriedade discoveryRules com as regras de LLD do template.

É compatível com count.
selectHosts query Retorna os hosts vinculados ao template na propriedade hosts.

É compatível com count.
selectTemplateGroups query Retorna os grupos de templates aos quais o template pertence na propriedade templategroups.
selectTemplates query Retorna os templates aos quais o template especificado está vinculado na propriedade templates.

É compatível com count.
selectParentTemplates query Retorna os templates vinculados ao template especificado na propriedade parentTemplates.

É compatível com count.
selectHttpTests query Retorna os cenários web do template na propriedade httpTests.

É compatível com count.
selectItems query Retorna os items do template na propriedade items.

É compatível com count.
selectTriggers query Retorna os triggers do template na propriedade triggers.

É compatível com count.
selectGraphs query Retorna os graphs do template na propriedade graphs.

É compatível com count.
selectMacros query Retorna as macros do template na propriedade macros.
selectDashboards query Retorna os dashboards do template na propriedade dashboards.

É compatível com count.
selectValueMaps query Retorna uma propriedade valuemaps com os mapas de valores do template.
limitSelects integer Limita o número de registros retornados pelas subseleções.

Aplica-se às seguintes subseleções:
selectTemplates - os resultados serão ordenados por name;
selectHosts - ordenados por host;
selectParentTemplates - ordenados por host;
selectItems - ordenados por name;
selectDiscoveryRules - ordenados por name;
selectTriggers - ordenados por description;
selectGraphs - ordenados por name;
selectDashboards - ordenados por name.
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
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
selectDiscoveries query Retorna as descobertas de baixo nível do template na propriedade discoveries.

É compatível com count.

Esta consulta está obsoleta; use selectDiscoveryRules 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 templates por nome

Recupere todos os dados sobre dois templates chamados "Linux by Zabbix agent" e "Windows by Zabbix agent".

Solicitação:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "extend",
        "filter": {
            "host": [
                "Linux by Zabbix agent",
                "Windows by Zabbix agent"
            ]
        }
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "proxyid": "0",
            "host": "Linux by Zabbix agent",
            "status": "3",
            "ipmi_authtype": "-1",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "name": "Linux by Zabbix agent",
            "flags": "0",
            "templateid": "10001",
            "description": "Este é um template oficial para Linux. Ele requer o Zabbix agent 8.0 ou mais recente.\r\n\r\nObservações sobre a descoberta de sistemas de arquivos (FS):\r\n- O sistema de arquivos ext4/3/2 reserva espaço para uso privilegiado, normalmente definido como 5% por padrão.\r\n- O BTRFS aloca, por padrão, 10% do volume para suas próprias necessidades.\r\n- Para reduzir possíveis desastres, os triggers de uso do FS são baseados no espaço máximo disponível.\r\n  - Fórmula de utilização: 'pused = 100 - 100 * (available / total - free + available)'\r\n- O gráfico de utilização do FS, derivado de protótipos de gráfico, representa o espaço reservado do FS como a diferença entre o espaço usado e o disponível no volume total.\r\n\r\nVocê pode discutir este template ou deixar seu feedback em nosso fórum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux\r\n\r\nGerado pela ferramenta oficial de templates do Zabbix, \"Templator\"",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "tls_psk_identity": "",
            "tls_psk": "",
            "custom_interfaces": "0",
            "uuid": "f8f7908280354f2abeed07dc788c3747",
            "vendor_name": "Zabbix",
            "vendor_version": "8.2-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## Visão geral\r\n\r\nEste é um template oficial para Linux. Ele requer o Zabbix agent 8.0 ou mais recente.\r\n\r\n#### Observações sobre a descoberta de sistemas de arquivos (FS):\r\n- O FS ext4/3/2 reserva espaço para uso privilegiado, normalmente definido como 5% por padrão.\r\n- O BTRFS aloca, por padrão, 10% do volume para suas próprias necessidades.\r\n- Para reduzir possíveis desastres, os triggers de uso do FS são baseados no espaço máximo disponível.\r\n  - Fórmula de utilização: `pused = 100 - 100 * (available / total - free + available)`\r\n- O gráfico de utilização do FS, derivado de protótipos de gráfico, representa o espaço reservado do FS como a diferença entre o espaço usado e o disponível no volume total."
        },
        {
            "proxyid": "0",
            "host": "Windows by Zabbix agent",
            "status": "3",
            "ipmi_authtype": "-1",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "name": "Windows by Zabbix agent",
            "flags": "0",
            "templateid": "10081",
            "description": "Este é um template oficial para Windows. Ele requer o Zabbix agent 8.0 ou mais recente.\r\n\r\nVocê pode discutir este template ou deixar seu feedback em nosso fórum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows\r\n\r\nGerado pela ferramenta oficial de templates do Zabbix, \"Templator\"",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "tls_psk_identity": "",
            "tls_psk": "",
            "custom_interfaces": "0",
            "uuid": "13b06904a6bf41cbb795e3193d896340",
            "vendor_name": "Zabbix",
            "vendor_version": "8.2-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## Visão geral\r\n\r\nEste é um template oficial para Windows. Ele requer o Zabbix agent 8.0 ou mais recente."
        }
    ],
    "id": 1
}

Recuperando grupos de templates

Recupere os grupos de templates dos quais o template "Linux by Zabbix agent" é membro.

Requisição:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": ["hostid"],
        "selectTemplateGroups": "extend",
        "filter": {
            "host": [
                "Linux by Zabbix agent"
            ]
        }
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10001",
            "templategroups": [
                {
                    "groupid": "10",
                    "name": "Templates/Operating systems",
                    "uuid": "846977d1dfed4968bc5f8bdb363285bc"
                }
            ]
        }
    ],
    "id": 1
}

Recuperando hosts por template

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

Requisição:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "templateid",
        "templateids": "10001",
        "selectHosts": ["hostid", "name"]
    },
    "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 tags de template

Recuperar templates que possuem a tag "host-name" igual a "{HOST.NAME}".

Requisição:

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

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10402",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "{HOST.NAME}"
                }
            ]
        }
    ],
    "id": 1
}

Veja também

Fonte

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