2022 Zabbix中国峰会
2022 Zabbix中国峰会

获取

描述

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.