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
countOutputtiver sido usado.
Exemplos
Recuperando templates pelo nome
Recupere todos os dados sobre dois templates chamados "Linux by Zabbix agent" e "Windows by Zabbix agent".
{
"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.
{
"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.
{
"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}".
{
"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.