Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página inclui conteúdo traduzido automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

template.get

Descrição

integer/array template.get(object parameters)

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

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 mais informações.

Parâmetros

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

O método suporta os seguintes parâmetros.

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

Valores possíveis:
0 - (padrão) E/OU;
2 - OU.
tags object/array Retorna apenas templates com as tags fornecidas.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Um array vazio retorna todos os templates.

Valores possíveis para operator:
0 - (padrão) Contém;
1 - Igual;
2 - Não contém;
3 - Diferente;
4 - Existe;
5 - Não existe.
inheritedTags boolean Retorna templates que possuem as tags fornecidas também em templates vinculados.

Valores possíveis:
true - templates vinculados também devem possuir as tags fornecidas;
false - (padrão) tags de templates vinculados são ignoradas.
selectInheritedTags query Retorna uma propriedade inheritedTags com tags que estão em templates vinculados.
selectTags query Retorna as tags do template na propriedade tags.
selectDiscoveryRules query Retorna uma propriedade discoveryRules com regras LLD do template. Suporta count.
selectHosts query Retorna os hosts que estão 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 templates aos quais o template fornecido está vinculado na propriedade templates.

Suporta count.
selectParentTemplates query Retorna templates que estão 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 items do template na propriedade items.

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

Suporta count.
selectGraphs query Retorna gráficos do template na propriedade graphs.

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

Suporta count.
selectValueMaps query Retorna uma propriedade valuemaps com mapas de valores do template.
limitSelects integer Limita o número de registros retornados por subconsultas.

Aplica-se às seguintes subconsultas:
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, por favor, 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.