Esta página foi traduzida 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. Veja 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 as templates com os IDs de template fornecidos.
groupids ID/array Retorna apenas as templates que pertencem aos grupos de templates fornecidos.
parentTemplateids ID/array Retorna apenas as templates às quais a template fornecida está vinculada.
hostids ID/array Retorna apenas as templates que estão vinculadas aos hosts/templates fornecidos.
graphids ID/array Retorna apenas as templates que contêm os gráficos fornecidos.
itemids ID/array Retorna apenas as templates que contêm os items fornecidos.
triggerids ID/array Retorna apenas as templates que contêm os triggers fornecidos.
with_items flag Retorna apenas as templates que possuem items.
with_triggers flag Retorna apenas as templates que possuem triggers.
with_graphs flag Retorna apenas as templates que possuem gráficos.
with_httptests flag Retorna apenas as templates que possuem cenários web.
evaltype integer Regras para busca de tags.

Valores possíveis:
0 - (padrão) E/OU;
2 - OU.
tags object/array Retorna apenas as templates com as tags fornecidas. Correspondência exata por tag e busca sensível ou não a maiúsculas/minúsculas pelo valor da tag, dependendo do valor do operador.
Formato: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Um array vazio retorna todas as templates.

Valores possíveis para o operador:
0 - (padrão) Contém (correspondência de substring, não sensível a maiúsculas/minúsculas);
1 - Igual (sensível a maiúsculas/minúsculas);
2 - Não contém (correspondência de substring, não sensível a maiúsculas/minúsculas);
3 - Diferente (sensível a maiúsculas/minúsculas);
4 - Existe;
5 - Não existe.
selectDiscoveryRules query Retorna uma propriedade discoveryRules com regras LLD da template. Suporta count.
selectHosts query Retorna os hosts que estão vinculados à template na propriedade hosts.

Suporta count.
selectTags query Retorna as tags da template na propriedade tags.
selectTemplateGroups query Retorna os grupos de templates aos quais a template pertence na propriedade templategroups.
selectTemplates query Retorna as templates às quais a template fornecida está vinculada na propriedade templates.

Suporta count.
selectParentTemplates query Retorna as templates que estão vinculadas à template fornecida na propriedade parentTemplates.

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

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

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

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

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

Suporta count.
selectValueMaps query Retorna uma propriedade valuemaps com os mapas de valores da 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 da template na propriedade discoveries.

Suporta count.

Esta consulta está obsoleta, por favor utilize selectDiscoveryRules em seu lugar.

Valores de retorno

(integer/array) Retorna ou:

  • uma matriz de objetos;
  • contagem de objetos recuperados, se o countOutput parâmetro tiver sido usado.

Exemplos

Recuperando templates pelo nome

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

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": "Este é um template oficial do Linux. Ele requer o Zabbix agent 7.4 ou mais recente.\r\n\r\nNotas 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 em 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 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áficos, reflete o espaço reservado do FS como a diferença entre o espaço usado e o disponível do volume total.\r\n\r\nVocê pode discutir este template ou deixar 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 template 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 o Zabbix agent 7.4 ou mais recente.\r\n\r\n#### Notas sobre a descoberta de sistemas de arquivos (FS):\r\n- O FS ext4/3/2 reserva espaço para uso privilegiado, normalmente definido em 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 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áficos, reflete o espaço reservado do FS como a diferença entre o espaço usado e o disponível do 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 o Zabbix agent 7.4 ou mais recente.\r\n\r\nVocê pode discutir este template ou deixar 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 template 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 o Zabbix agent 7.4 ou mais recente."
               }
           ],
           "id": 1
       }

Recuperando grupos de template

Recupere os grupos de template 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 by 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

Recupera 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": [
               {
                   "hostid": "10402",
                   "tags": [
                       {
                           "tag": "host-name",
                           "value": "{HOST.NAME}"
                       }
                   ]
               }
           ],
           "id": 1
       }

Veja também

Fonte

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