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 User roles para obter mais informações.

Parâmetros

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

O método suporta os seguintes parâmetros.

Parameter Type Description
templateids ID/array Retorna apenas templates com os IDs de template informados.
groupids ID/array Retorna apenas templates que pertencem aos grupos de templates informados.
parentTemplateids ID/array Retorna apenas templates aos quais o template informado está vinculado.
hostids ID/array Retorna apenas templates que estão vinculados aos hosts/templates informados.
graphids ID/array Retorna apenas templates que contêm os graphs informados.
itemids ID/array Retorna apenas templates que contêm os items informados.
triggerids ID/array Retorna apenas templates que contêm os triggers informados.
with_items flag Retorna apenas templates que têm items.
with_triggers flag Retorna apenas templates que têm triggers.
with_graphs flag Retorna apenas templates que têm graphs.
with_httptests flag Retorna apenas 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 apenas templates com as tags informadas.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Uma matriz vazia retorna todos os templates.

Valores possíveis de operator:
0 - (padrão) Contém;
1 - Igual a;
2 - Não contém;
3 - Não é igual a;
4 - Existe;
5 - Não existe.
selectTags query Retorna as tags do template na propriedade tags.
selectDiscoveryRules query Retorna uma propriedade discoveryRules com as regras de LLD do template.

Suporta count.
selectHosts query Retorna os hosts vinculados ao template na propriedade hosts.

Suporta 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 informado está vinculado na propriedade templates.

Suporta count.
selectParentTemplates query Retorna os templates vinculados ao template informado na propriedade parentTemplates.

Suporta count.
selectHttpTests query Retorna os cenários web do template na propriedade httpTests.

Suporta count.
selectItems query Retorna os items do template na propriedade items.

Suporta count.
selectTriggers query Retorna os triggers do template na propriedade triggers.

Suporta count.
selectGraphs query Retorna os graphs do template na propriedade graphs.

Suporta count.
selectMacros query Retorna as macros do template na propriedade macros.
selectDashboards query Retorna os dashboards do template na propriedade dashboards.

Suporta count.
selectValueMaps query Retorna uma propriedade valuemaps com os value maps do template.
limitSelects integer Limita o número de registros retornados pelos subselects.

Aplica-se aos seguintes subselects:
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 informadas.

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 descobertas de baixo nível do template na propriedade discoveries.

Suporta count.

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

Valores de retorno

(integer/array) Retorna um dos seguintes:

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

Exemplos

Recuperando templates pelo nome

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

Request:

{
    "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 do Linux. Ele requer Zabbix agent 7.4 ou mais recente.\r\n\r\nObservações sobre a descoberta de sistema 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 mitigar possíveis desastres, os triggers de uso de 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 de FS, derivado de protótipos de gráfico, reflete o espaço reservado do FS como a diferença entre o espaço usado e o disponível em relação ao volume total.\r\n\r\nVocê pode discutir este template ou deixar comentários 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": "7.4-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## Visão geral\r\n\r\nEste é um template oficial do Linux. Ele requer Zabbix agent 7.4 ou mais recente.\r\n\r\n#### Observações sobre a descoberta de sistema 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 mitigar possíveis desastres, os triggers de uso de 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 de FS, derivado de protótipos de gráfico, reflete o espaço reservado do FS como a diferença entre o espaço usado e o disponível em relação ao 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 do Windows. Ele requer Zabbix agent 7.4 ou mais recente.\r\n\r\nVocê pode discutir este template ou deixar comentários 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": "7.4-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## Visão geral\r\n\r\nEste é um template oficial do Windows. Ele requer Zabbix agent 7.4 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

Recupere templates que tenham a tag "host-name" igual a "{HOST.NAME}".

Request:

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

Response:

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

Veja também

Fonte

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