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 aceita os seguintes parâmetros.

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

Valores possíveis:
0 - (padrão) E/Ou;
2 - Ou.
tags object/array Retorna somente templates com as tags fornecidas.
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 possuem as tags fornecidas nos templates vinculados.

Valores possíveis:
true - os templates vinculados também devem possuir as tags fornecidas;
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.

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

Suporta count.
selectParentTemplates query Retorna os templates vinculados ao template fornecido 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 gráficos 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 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 fornecidas.

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 array de objetos;
  • a contagem de objetos recuperados, se o parâmetro countOutput tiver sido usado.

Exemplos

Recuperando templates pelo nome

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

Requisiçã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": "This is an official Linux template. It requires Zabbix agent 8.0 or newer.\r\n\r\nNotes on filesystem (FS) discovery:\r\n- The ext4/3/2 filesystem reserves space for privileged usage, typically set at 5% by default.\r\n- BTRFS allocates a default of 10% of the volume for its own needs.\r\n- To mitigate potential disasters, FS usage triggers are based on the maximum available space.\r\n  - Utilization formula: 'pused = 100 - 100 * (available / total - free + available)'\r\n- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.\r\n\r\nYou can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux\r\n\r\nGenerated by official Zabbix template tool \"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.0-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## Overview\r\n\r\nThis is an official Linux template. It requires Zabbix agent 8.0 or newer.\r\n\r\n#### Notes on filesystem (FS) discovery:\r\n- The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.\r\n- BTRFS allocates a default of 10% of the volume for its own needs.\r\n- To mitigate potential disasters, FS usage triggers are based on the maximum available space.\r\n  - Utilization formula: `pused = 100 - 100 * (available / total - free + available)`\r\n- The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume."
        },
        {
            "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": "This is an official Windows template. It requires Zabbix agent 8.0 or newer.\r\n\r\nYou can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows\r\n\r\nGenerated by official Zabbix template tool \"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.0-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## Overview\r\n\r\nThis is an official Windows template. It requires Zabbix agent 8.0 or newer."
        }
    ],
    "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.