template.get

描述

integer/array template.get(object parameters)

该方法允许根据给定的参数检索模板。

此方法适用于任何类型的用户。可以在用户角色设置中撤销调用该方法的权限。更多信息请参见 User roles

参数

(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>"}, ...]
空的 array 返回所有模板。

可能的操作符值:
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 httpTests 属性中返回模板的Web场景。

支持 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 按指定属性对结果进行排序。

可能的值:hostidhostnamestatus
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
(deprecated)
query 此参数已弃用,请改用 selectTemplateGroups
groups 属性中返回模板所属的模板组。

返回值

(integer/array) 返回以下之一:

  • array 的 objects;
  • 如果使用了 countOutput 参数,则为检索到的 objects 的数量。

示例

按名称检索模板

检索名为 "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
       }

按模板标签搜索

检索标签为“主机-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 中。