integer/array template.get(object parameters)
该方法允许根据给定的参数检索模板。
这个方法所有用户类型都可以使用。在用户角色设置中可用撤销掉用该方法的权限。 查看 用户角色获取更多信息。
(object) 定义所需输出的参数。
这个方法支持下列参数。
| 参数 | 类型 | 描述 |
|---|---|---|
| templateids | ID/array | 仅返回具有指定模板ID的模板。 |
| groupids | ID/array | 仅返回属于给定模板组的模板。 |
| parentTemplateids | ID/array | 仅返回与给定模板关联的模板。 |
| hostids | ID/array | 仅返回与给定主机/模板关联的模板。 |
| graphids | ID/array | 仅返回包含给定图形的模板。 |
| itemids | ID/array | 仅返回包含给定监控项的模板。 |
| triggerids | ID/array | 仅返回包含给定触发器的模板。 |
| with_items | flag | 仅返回具有监控项的模板。 |
| with_triggers | flag | 仅返回具有触发器的模板。 |
| with_graphs | flag | 仅返回具有图形的模板。 |
| with_httptests | flag | 仅返回具有 Web 场景的模板。 |
| evaltype | integer | 标签搜索的规则。 可能的值: 0 - (默认) And/Or; 2 - Or. |
| tags | object/array | 仅返回具有指定标签的模板。根据操作符的值,可以进行标签值的精确匹配(大小写敏感)或大小写不敏感的搜索。 格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].如果数组为空将返回所有模板。 可能的操作值: 0 - (默认) 包含; 1 - 等于; 2 - 不包含; 3 - 不等于; 4 - 存在; 5 - 不存在. |
| selectTags | query | 返回模版的标签在 tags 属性。 |
| selectHosts | query | 返回与模板关联的主机在 hosts 属性中。支持 count。 |
| selectTemplateGroups | query | 返回模板组所属的模板在 templategroups 属性中。 |
| selectTemplates | query | 返回给定模板在 templates 属性中链接到的模板。支持 count。 |
| selectParentTemplates | query | 返回链接到给定模板的模板,在 parentTemplates 属性中。支持 count。 |
| selectHttpTests | query | 返回模板中的 Web 场景在 httpTests 属性中。支持 count。 |
| selectItems | query | 返回模板中的监控项在 items 属性中。支持 count。 |
| selectDiscoveries | query | 返回模板中的低级别发现在 discoveries 属性中。支持 count。 |
| selectTriggers | query | 返回模板中的触发器在 triggers 属性中。支持 count。 |
| selectGraphs | query | 返回模板中的图形在 graphs 属性中。支持 count。 |
| selectMacros | query | 返回模板中的宏在 macros 属性中。 |
| selectDashboards | query | 返回模板中的仪表板在 dashboards 属性中。支持 count。 |
| selectValueMaps | query | 返回一个包含模板值映射的 valuemaps 属性。 |
| limitSelects | integer | 限制子查询返回的记录数。 适用于以下子查询: selectTemplates - 结果将按 name 排序 ;selectHosts - 按 host 排序;selectParentTemplates - 按 host 排序;selectItems - 按 name 排序;selectDiscoveries - 按 name 排序;selectTriggers - 按 description 排序;selectGraphs - 按 name 排序;selectDashboards - 按 name 排序. |
| sortfield | string/array | 按照给定的属性对结果进行排序。 可能的值: hostid, host, name, status. |
| countOutput | boolean | 这些参数在所有 get 方法中都是通用的,详细描述在参考说明中。 |
| editable | boolean | |
| excludeSearch | boolean | |
| filter | object | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| search | object | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean | |
| selectGroups (已弃用) |
query | 这个参数已经废弃,请使用 selectTemplateGroups 替换该参数。返回模板所属的模板组在 groups 属性中。 |
(integer/array) 返回以下二选一:
countOutput 参数,则返回检索到的对象的数量。检索名为 "Linux" 和 "Windows" 的两个模板的所有数据。
请求:
{
"jsonrpc": "2.0",
"method": "template.get",
"params": {
"output": "extend",
"filter": {
"host": [
"Linux",
"Windows"
]
}
},
"id": 1
}响应:
{
"jsonrpc": "2.0",
"result": [
{
"proxyid": "0",
"host": "Linux",
"status": "3",
"disable_until": "0",
"error": "",
"available": "0",
"errors_from": "0",
"lastaccess": "0",
"ipmi_authtype": "0",
"ipmi_privilege": "2",
"ipmi_username": "",
"ipmi_password": "",
"ipmi_disable_until": "0",
"ipmi_available": "0",
"snmp_disable_until": "0",
"snmp_available": "0",
"maintenanceid": "0",
"maintenance_status": "0",
"maintenance_type": "0",
"maintenance_from": "0",
"ipmi_errors_from": "0",
"snmp_errors_from": "0",
"ipmi_error": "",
"snmp_error": "",
"jmx_disable_until": "0",
"jmx_available": "0",
"jmx_errors_from": "0",
"jmx_error": "",
"name": "Linux",
"flags": "0",
"templateid": "10001",
"description": "",
"tls_connect": "1",
"tls_accept": "1",
"tls_issuer": "",
"tls_subject": "",
"tls_psk_identity": "",
"tls_psk": "",
"uuid": "282ffe33afc74cccaf1524d9aa9dc502"
},
{
"proxyid": "0",
"host": "Windows",
"status": "3",
"disable_until": "0",
"error": "",
"available": "0",
"errors_from": "0",
"lastaccess": "0",
"ipmi_authtype": "0",
"ipmi_privilege": "2",
"ipmi_username": "",
"ipmi_password": "",
"ipmi_disable_until": "0",
"ipmi_available": "0",
"snmp_disable_until": "0",
"snmp_available": "0",
"maintenanceid": "0",
"maintenance_status": "0",
"maintenance_type": "0",
"maintenance_from": "0",
"ipmi_errors_from": "0",
"snmp_errors_from": "0",
"ipmi_error": "",
"snmp_error": "",
"jmx_disable_until": "0",
"jmx_available": "0",
"jmx_errors_from": "0",
"jmx_error": "",
"name": "Windows",
"flags": "0",
"templateid": "10081",
"description": "",
"tls_connect": "1",
"tls_accept": "1",
"tls_issuer": "",
"tls_subject": "",
"tls_psk_identity": "",
"tls_psk": "",
"uuid": "522d17e1834049be879287b7c0518e5d"
}
],
"id": 1
}检索模板 "Linux by Zabbix agent" 所属的模板组。
请求:
{
"jsonrpc": "2.0",
"method": "template.get",
"params": {
"output": ["hostid"],
"selectTemplateGroups": "extend",
"filter": {
"host": [
"Linux by Zabbix agent"
]
}
},
"id": 1
}响应:
{
"jsonrpc": "2.0",
"result": [
{
"templateid": "10001",
"templategroups": [
{
"groupid": "10",
"name": "Templates/Operating systems",
"uuid": "846977d1dfed4968bc5f8bdb363285bc"
}
]
}
],
"id": 1
}检索已链接到 "10001"(即 Linux by Zabbix agent)模板的主机。
请求:
{
"jsonrpc": "2.0",
"method": "template.get",
"params": {
"output": "templateid",
"templateids": "10001",
"selectHosts": ["hostid", "name"]
},
"id": 1
}响应:
{
"jsonrpc": "2.0",
"result": [
{
"templateid": "10001",
"hosts": [
{
"hostid": "10084",
"name": "Zabbix server"
},
{
"hostid": "10603",
"name": "Host 1"
},
{
"hostid": "10604",
"name": "Host 2"
}
]
}
],
"id": 1
}检索标签 "Host name" 等于 "{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
}响应:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10402",
"tags": [
{
"tag": "Host name",
"value": "{HOST.NAME}"
}
]
}
],
"id": 1
}CTemplate::get() 在 ui/include/classes/api/services/CTemplate.php.