检索模板

描述

integer/array template.get(object parameters)

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

任何类型的用户都可以使用此方法。可以在用户角色设置中撤销调用该方法的权限。详情请阅 User roles

参数

(object) 定义所需输出的参数。

该方法支持以下参数。

参数类型描述
templateidsstring/array仅返回具有给定模板ID的模板。
groupidsstring/array仅返回属于给定主机群组的模板。
parentTemplateidsstring/array仅返回给定模板的父模板。
hostidsstring/array仅返回链接到给定主机/模板的模板。
graphidsstring/array仅返回包含给定图形的模板。
itemidsstring/array仅返回包含给定监控项的模板。
triggeridsstring/array仅返回包含给定触发器的模板。
with_itemsflag仅返回包含监控项的模板。
with_triggersflag仅返回具有触发器的模板。
with_graphsflag仅返回包含图形的模板。
with_httptestsflag仅返回有web场景的模板。
evaltypeinteger标签搜索规则。

可能的值:
0 - (默认值) And/Or;
2 - Or.
tagsarray/object仅返回带有给定标签的模板。根据标签进行精确匹配,并根据运算符值按标签值进行区分大小写或不区分大小写的搜索。
Format: [{“tag”: “<tag>”, “value”: “<value>”, “operator”: “<operator>”}, …].
一个空数组返回所有模板。

可能的运算符值
0 - (默认值) Contains;
1 - Equals;
2 - Not like;
3 - Not equal
4 - Exists;
5 - Not exists.
selectGroupsquery群组属性中返回模板所属的主机组。
selectTagsquery标签属性中返回模板标签。
selectHostsquery主机 中返回链接到模板的主机。

支持 count.
selectTemplatesquery返回 模版 中的子模板。

支持 count.
selectParentTemplatesquery返回parentTemplates中的父模板

支持 count.
selectHttpTestsqueryhttpTests 属性中的模板返回web场景。

支持 count.
selectItemsquery监控项属性中的模板返回监控项。

支持 count.
selectDiscoveriesquerydiscoveries属性中的模板返回底层自动发现。

支持 count.
selectTriggersquery触发器属性中的模板返回触发器。

支持 count.
selectGraphsquery图形属性中的模板返回图形。

支持 count.
selectMacrosquerymacros属性中的模板返回宏..
selectDashboardsquery仪表盘属性中的模板返回仪表板。

支持 count.
selectValueMapsquery返回一个带有模板值映射的值映射属性。
limitSelectsinteger限制子选择返回的记录数。

适用于以下子选项:
selectTemplates - 结果将按name排序
selectHosts - 按host排序;
selectParentTemplates - 按host排序;
selectItems - 按name排序;
selectDiscoveries - 按name排序;
selectTriggers - 按description排序;
selectGraphs - 按name排序;
selectDashboards - 按name排序.
sortfieldstring/array按给定属性对结果进行排序。

可能的值: hostid, host, name, status.
countOutputboolean这些参数对于所有get方法都是通用的,在[参考注释]/manual/api/reference_commentary#common_get_method_parameters)中有详细描述。
editableboolean
excludeSearchboolean
filterobject
limitinteger
outputquery
preservekeysboolean
searchobject
searchByAnyboolean
searchWildcardsEnabledboolean
sortorderstring/array
startSearchboolean

返回值

(integer/array) 返回两者其中任一:

  • 一组对象数组;
  • 如果已经使用了countOutput参数,则检索对象的计数。

示例

按名称检索模版

检索有关名为“Linux”和“Windows”的两个模板的所有数据。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "template.get",
  4. "params": {
  5. "output": "extend",
  6. "filter": {
  7. "host": [
  8. "Linux",
  9. "Windows"
  10. ]
  11. }
  12. },
  13. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  14. "id": 1
  15. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "proxy_hostid": "0",
  6. "host": "Linux",
  7. "status": "3",
  8. "disable_until": "0",
  9. "error": "",
  10. "available": "0",
  11. "errors_from": "0",
  12. "lastaccess": "0",
  13. "ipmi_authtype": "0",
  14. "ipmi_privilege": "2",
  15. "ipmi_username": "",
  16. "ipmi_password": "",
  17. "ipmi_disable_until": "0",
  18. "ipmi_available": "0",
  19. "snmp_disable_until": "0",
  20. "snmp_available": "0",
  21. "maintenanceid": "0",
  22. "maintenance_status": "0",
  23. "maintenance_type": "0",
  24. "maintenance_from": "0",
  25. "ipmi_errors_from": "0",
  26. "snmp_errors_from": "0",
  27. "ipmi_error": "",
  28. "snmp_error": "",
  29. "jmx_disable_until": "0",
  30. "jmx_available": "0",
  31. "jmx_errors_from": "0",
  32. "jmx_error": "",
  33. "name": "Linux",
  34. "flags": "0",
  35. "templateid": "10001",
  36. "description": "",
  37. "tls_connect": "1",
  38. "tls_accept": "1",
  39. "tls_issuer": "",
  40. "tls_subject": "",
  41. "tls_psk_identity": "",
  42. "tls_psk": "",
  43. "uuid": "282ffe33afc74cccaf1524d9aa9dc502"
  44. },
  45. {
  46. "proxy_hostid": "0",
  47. "host": "Windows",
  48. "status": "3",
  49. "disable_until": "0",
  50. "error": "",
  51. "available": "0",
  52. "errors_from": "0",
  53. "lastaccess": "0",
  54. "ipmi_authtype": "0",
  55. "ipmi_privilege": "2",
  56. "ipmi_username": "",
  57. "ipmi_password": "",
  58. "ipmi_disable_until": "0",
  59. "ipmi_available": "0",
  60. "snmp_disable_until": "0",
  61. "snmp_available": "0",
  62. "maintenanceid": "0",
  63. "maintenance_status": "0",
  64. "maintenance_type": "0",
  65. "maintenance_from": "0",
  66. "ipmi_errors_from": "0",
  67. "snmp_errors_from": "0",
  68. "ipmi_error": "",
  69. "snmp_error": "",
  70. "jmx_disable_until": "0",
  71. "jmx_available": "0",
  72. "jmx_errors_from": "0",
  73. "jmx_error": "",
  74. "name": "Windows",
  75. "flags": "0",
  76. "templateid": "10081",
  77. "description": "",
  78. "tls_connect": "1",
  79. "tls_accept": "1",
  80. "tls_issuer": "",
  81. "tls_subject": "",
  82. "tls_psk_identity": "",
  83. "tls_psk": "",
  84. "uuid": "522d17e1834049be879287b7c0518e5d"
  85. }
  86. ],
  87. "id": 1
  88. }

Retrieving template groups

Retrieve template groups that the template “Linux by Zabbix agent” is a member of.

Request:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "template.get",
  4. "params": {
  5. "output": ["hostid"],
  6. "selectTemplateGroups": "extend",
  7. "filter": {
  8. "host": [
  9. "Linux by Zabbix agent"
  10. ]
  11. }
  12. },
  13. "id": 1
  14. }

Response:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "templateid": "10001",
  6. "templategroups": [
  7. {
  8. "groupid": "10",
  9. "name": "Templates/Operating systems",
  10. "uuid": "846977d1dfed4968bc5f8bdb363285bc"
  11. }
  12. ]
  13. }
  14. ],
  15. "id": 1
  16. }

按模板标签搜索

检索标签“主机名称”等于“{HOST.NAME}”的模板。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "template.get",
  4. "params": {
  5. "output": ["hostid"],
  6. "selectTags": "extend",
  7. "evaltype": 0,
  8. "tags": [
  9. {
  10. "tag": "Host name",
  11. "value": "{HOST.NAME}",
  12. "operator": 1
  13. }
  14. ]
  15. },
  16. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  17. "id": 1
  18. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10402",
  6. "tags": [
  7. {
  8. "tag": "Host name",
  9. "value": "{HOST.NAME}"
  10. }
  11. ]
  12. }
  13. ],
  14. "id": 1
  15. }

参阅

源码

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