获取

说明

integer/array item.get(object parameters)

此方法用于依据给定的参数检索监控项。

此方法允许所有类型的用户使用。调用此方法的权限可以在用户角色设置中撤销。更多信息请参见 用户角色

参数

(object) 定义目标输出参数。

此方法支持以下参数。

参数类型说明
itemidsstring/array仅返回具有给定 ID 的监控项。
groupidsstring/array仅返回属于给定组中主机的监控项。
templateidsstring/array仅返回属于给定模板的监控项。
hostidsstring/array仅返回属于给定主机的监控项。
proxyidsstring/array仅返回由给定代理监控的监控项。
interfaceidsstring/array仅返回使用给定主机接口的监控项。
graphidsstring/array仅返回给定图表中使用的监控项。
triggeridsstring/array仅返回给定触发器中使用的监控项。
webitemsflag设置返回结果中包含 web 监控项。
inheritedboolean如果设置为 true ,仅返回从模板继承的监控项。
templatedboolean如果设置为 true ,仅返回属于模板的监控项。
monitoredboolean如果设置为 true ,仅返回属于受监控主机的已启用监控项。
groupstring仅返回属于给定名称的组的监控项。
hoststring仅返回属于给定名称的主机的监控项。
evaltypeinteger标签搜索规则。

可用值:
0 - (默认) And/Or(与/或);
2 - Or(或)。
tagsarray of objects仅返回给定标签的监控项。根据标签进行精确匹配,并根据运算符对标签进行区分大小写或不区分大小写搜索。
格式: [{“tag”: “<tag>”, “value”: “<value>”, “operator”: “<operator>”}, …].
空数组会返回所有监控项。

可选操作类型:
0 - (默认) Like(相似);
1 - Equal(相等);
2 - Not like(不相似);
3 - Not equal(不相等);
4 - Exists(存在);
5 - Not exists(不存在)。
withtriggersboolean如果设置为 true ,则只返回在触发器中使用的监控项。
selectHostsquery返回 主机 属性,其中包含监控项所属主机。
selectInterfacesquery返回 接口 属性,其中包含监控项所使用的主机接口。
selectTriggersquery返回 触发器 属性,其中包含监控项所使用的触发器。

支持 count
selectGraphsquery返回 图表 属性,其中包含监控项所使用的图表。

支持 count
selectDiscoveryRulequery返回 发现规则 属性,其中包含用于创建监控项的 LLD 规则。
selectItemDiscoveryquery返回 itemDiscovery 属性,其中包含监控项的发现对象。监控项发现对象将监控项链接到创建此监控项的监控项原型中。

包含属性如下:
itemdiscoveryid - (string) 监控项发现 ID ;
itemid - (string) 已发现的监控项 ID ;
parent_itemid - (string) 创建监控项的监控项原型的 ID ;
key - (string) 监控项原型关键字;
lastcheck - (timestamp) 监控项最后发现时间;
tsdelete - (timestamp) 监控项不再被发现,将被删除的时间。
selectPreprocessingquery返回 预处理 属性,其中包含监控项的预处理选项。

包含属性如下:
type - (string) 预处理选项类型:
1 - Custom multiplier(自定义乘数);
2 - Right trim(移除右侧空白字符);
3 - Left trim(移除左侧空白字符);
4 - Trim(移除空白字符);
5 - Regular expression matching(正则表达式匹配);
6 - Boolean to decimal(布尔值转换十进制);
7 - Octal to decimal(八进制转换十进制);
8 - Hexadecimal to decimal(十六进制转十进制);
9 - Simple change(先前值到新值的基本变化);
10 - Change per second(每秒钟变化量);
11 - XML XPath(XML 解析);
12 - JSONPath(JSON解析);
13 - In range(生成序列);
14 - Matches regular expression(匹配正则表达式);
15 - Does not match regular expression(不匹配正则表达式);
16 - Check for error in JSON(检查 JSON 错误);
17 - Check for error in XML(检查 XML 错误);
18 - Check for error using regular expression(检查正则表达式使用错误);
19 - Discard unchanged(丢弃重复数据);
20 - Discard unchanged with heartbeat(设置心跳检查周期,丢弃重复数据);
21 - JavaScript(JS格式);
22 - Prometheus pattern(Prometheus 模板);
23 - Prometheus to JSON(Prometheus 转换 JSON);
24 - CSV to JSON(CSV 转换 JSON);
25 - Replace(替换);
26 - Check for not supported value(检查不支持的值);
27 - XML to JSON(XML 转换 JSON)。

params - (string) 预处理选项使用的其他参数。多个参数由LF(\n)字符分隔。
error_handler - (string) 预处理步骤失败时使用的操作类型:
0 - Error message is set by Zabbix server(Zabbix 服务器自带错误消息);
1 - Discard value(丢弃值);
2 - Set custom value(设置自定义值);
3 - Set custom error message(设置自定义错误信息)。

error_handler_params - (string) 错误处理器参数。
selectTagsquery返回 标签 属性,其中包含监控项的标签。
selectValueMapquery返回 映射表 属性,其中包含监控项的映射表。
filterobject仅返回精准匹配给定筛选条件的结果。

接受传入数组,其中键是属性名,值可以是单个值,也可以是一组要匹配的值。

支持的额外过滤选项:
host - 监控项所属主机的技术别名。
limitSelectsinteger限制子查询返回的记录数。

适用以下子查询:
selectGraphs - 按 name 对结果进行排序;
selectTriggers - 按 description 对结果进行排序。
sortfieldstring/array按给定的属性对结果进行排序。

可用值: itemid, name, key, delay, history, trends, type 以及 status.
countOutputboolean此类参数适用于所有通用 get 方法,详细说明请参阅 参考注释
editableboolean
excludeSearchboolean
limitinteger
outputquery
preservekeysboolean
searchobject
searchByAnyboolean
searchWildcardsEnabledboolean
sortorderstring/array
startSearchboolean

返回值

(integer/array) 返回其中之一:

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

示例

按照关键字查找监控项

检索 ID 为 “10084” 的主机包含关键字 “系统” 一词的所有监控项,并按名称排序。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.get",
  4. "params": {
  5. "output": "extend",
  6. "hostids": "10084",
  7. "search": {
  8. "key_": "system"
  9. },
  10. "sortfield": "name"
  11. },
  12. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  13. "id": 1
  14. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "itemid": "23298",
  6. "type": "0",
  7. "snmp_oid": "",
  8. "hostid": "10084",
  9. "name": "Context switches per second",
  10. "key_": "system.cpu.switches",
  11. "delay": "1m",
  12. "history": "7d",
  13. "trends": "365d",
  14. "lastvalue": "2552",
  15. "lastclock": "1351090998",
  16. "prevvalue": "2641",
  17. "state": "0",
  18. "status": "0",
  19. "value_type": "3",
  20. "trapper_hosts": "",
  21. "units": "sps",
  22. "error": "",
  23. "logtimefmt": "",
  24. "templateid": "22680",
  25. "valuemapid": "0",
  26. "params": "",
  27. "ipmi_sensor": "",
  28. "authtype": "0",
  29. "username": "",
  30. "password": "",
  31. "publickey": "",
  32. "privatekey": "",
  33. "lastns": "564054253",
  34. "flags": "0",
  35. "interfaceid": "1",
  36. "description": "",
  37. "inventory_link": "0",
  38. "lifetime": "0s",
  39. "evaltype": "0",
  40. "jmx_endpoint": "",
  41. "master_itemid": "0",
  42. "timeout": "3s",
  43. "url": "",
  44. "query_fields": [],
  45. "posts": "",
  46. "status_codes": "200",
  47. "follow_redirects": "1",
  48. "post_type": "0",
  49. "http_proxy": "",
  50. "headers": [],
  51. "retrieve_mode": "0",
  52. "request_method": "0",
  53. "output_format": "0",
  54. "ssl_cert_file": "",
  55. "ssl_key_file": "",
  56. "ssl_key_password": "",
  57. "verify_peer": "0",
  58. "verify_host": "0",
  59. "allow_traps": "0",
  60. "parameters": []
  61. },
  62. {
  63. "itemid": "23299",
  64. "type": "0",
  65. "snmp_oid": "",
  66. "hostid": "10084",
  67. "name": "CPU $2 time",
  68. "key_": "system.cpu.util[,idle]",
  69. "delay": "1m",
  70. "history": "7d",
  71. "trends": "365d",
  72. "lastvalue": "86.031879",
  73. "lastclock": "1351090999",
  74. "prevvalue": "85.306944",
  75. "state": "0",
  76. "status": "0",
  77. "value_type": "0",
  78. "trapper_hosts": "",
  79. "units": "%",
  80. "error": "",
  81. "logtimefmt": "",
  82. "templateid": "17354",
  83. "valuemapid": "0",
  84. "params": "",
  85. "ipmi_sensor": "",
  86. "authtype": "0",
  87. "username": "",
  88. "password": "",
  89. "publickey": "",
  90. "privatekey": "",
  91. "lastns": "564256864",
  92. "flags": "0",
  93. "interfaceid": "1",
  94. "description": "The time the CPU has spent doing nothing.",
  95. "inventory_link": "0",
  96. "lifetime": "0s",
  97. "evaltype": "0",
  98. "jmx_endpoint": "",
  99. "master_itemid": "0",
  100. "timeout": "3s",
  101. "url": "",
  102. "query_fields": [],
  103. "posts": "",
  104. "status_codes": "200",
  105. "follow_redirects": "1",
  106. "post_type": "0",
  107. "http_proxy": "",
  108. "headers": [],
  109. "retrieve_mode": "0",
  110. "request_method": "0",
  111. "output_format": "0",
  112. "ssl_cert_file": "",
  113. "ssl_key_file": "",
  114. "ssl_key_password": "",
  115. "verify_peer": "0",
  116. "verify_host": "0",
  117. "allow_traps": "0",
  118. "parameters": []
  119. },
  120. {
  121. "itemid": "23300",
  122. "type": "0",
  123. "snmp_oid": "",
  124. "hostid": "10084",
  125. "name": "CPU $2 time",
  126. "key_": "system.cpu.util[,interrupt]",
  127. "history": "7d",
  128. "trends": "365d",
  129. "lastvalue": "0.008389",
  130. "lastclock": "1351091000",
  131. "prevvalue": "0.000000",
  132. "state": "0",
  133. "status": "0",
  134. "value_type": "0",
  135. "trapper_hosts": "",
  136. "units": "%",
  137. "error": "",
  138. "logtimefmt": "",
  139. "templateid": "22671",
  140. "valuemapid": "0",
  141. "params": "",
  142. "ipmi_sensor": "",
  143. "authtype": "0",
  144. "username": "",
  145. "password": "",
  146. "publickey": "",
  147. "privatekey": "",
  148. "lastns": "564661387",
  149. "flags": "0",
  150. "interfaceid": "1",
  151. "description": "The amount of time the CPU has been servicing hardware interrupts.",
  152. "inventory_link": "0",
  153. "lifetime": "0s",
  154. "evaltype": "0",
  155. "jmx_endpoint": "",
  156. "master_itemid": "0",
  157. "timeout": "3s",
  158. "url": "",
  159. "query_fields": [],
  160. "posts": "",
  161. "status_codes": "200",
  162. "follow_redirects": "1",
  163. "post_type": "0",
  164. "http_proxy": "",
  165. "headers": [],
  166. "retrieve_mode": "0",
  167. "request_method": "0",
  168. "output_format": "0",
  169. "ssl_cert_file": "",
  170. "ssl_key_file": "",
  171. "ssl_key_password": "",
  172. "verify_peer": "0",
  173. "verify_host": "0",
  174. "allow_traps": "0",
  175. "parameters": []
  176. }
  177. ],
  178. "id": 1
  179. }

按关键字查找依赖监控项

检索目标 ID 为 “10116” 的主机,包含关键字 “apache” 的所有依赖监控项。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.get",
  4. "params": {
  5. "output": "extend",
  6. "hostids": "10116",
  7. "search": {
  8. "key_": "apache"
  9. },
  10. "filter": {
  11. "type": "18"
  12. }
  13. },
  14. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  15. "id": 1
  16. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "itemid": "25550",
  6. "type": "18",
  7. "snmp_oid": "",
  8. "hostid": "10116",
  9. "name": "Days",
  10. "key_": "apache.status.uptime.days",
  11. "delay": "",
  12. "history": "90d",
  13. "trends": "365d",
  14. "status": "0",
  15. "value_type": "3",
  16. "trapper_hosts": "",
  17. "units": "",
  18. "formula": "",
  19. "error": "",
  20. "logtimefmt": "",
  21. "templateid": "0",
  22. "valuemapid": "0",
  23. "params": "",
  24. "ipmi_sensor": "",
  25. "authtype": "0",
  26. "username": "",
  27. "password": "",
  28. "publickey": "",
  29. "privatekey": "",
  30. "flags": "0",
  31. "interfaceid": "0",
  32. "description": "",
  33. "inventory_link": "0",
  34. "lifetime": "30d",
  35. "state": "0",
  36. "evaltype": "0",
  37. "master_itemid": "25545",
  38. "jmx_endpoint": "",
  39. "timeout": "3s",
  40. "url": "",
  41. "query_fields": [],
  42. "posts": "",
  43. "status_codes": "200",
  44. "follow_redirects": "1",
  45. "post_type": "0",
  46. "http_proxy": "",
  47. "headers": [],
  48. "retrieve_mode": "0",
  49. "request_method": "0",
  50. "output_format": "0",
  51. "ssl_cert_file": "",
  52. "ssl_key_file": "",
  53. "ssl_key_password": "",
  54. "verify_peer": "0",
  55. "verify_host": "0",
  56. "allow_traps": "0",
  57. "lastclock": "0",
  58. "lastns": "0",
  59. "lastvalue": "0",
  60. "prevvalue": "0",
  61. "parameters": []
  62. },
  63. {
  64. "itemid": "25555",
  65. "type": "18",
  66. "snmp_oid": "",
  67. "hostid": "10116",
  68. "name": "Hours",
  69. "key_": "apache.status.uptime.hours",
  70. "delay": "0",
  71. "history": "90d",
  72. "trends": "365d",
  73. "status": "0",
  74. "value_type": "3",
  75. "trapper_hosts": "",
  76. "units": "",
  77. "formula": "",
  78. "error": "",
  79. "logtimefmt": "",
  80. "templateid": "0",
  81. "valuemapid": "0",
  82. "params": "",
  83. "ipmi_sensor": "",
  84. "authtype": "0",
  85. "username": "",
  86. "password": "",
  87. "publickey": "",
  88. "privatekey": "",
  89. "flags": "0",
  90. "interfaceid": "0",
  91. "description": "",
  92. "inventory_link": "0",
  93. "lifetime": "30d",
  94. "state": "0",
  95. "evaltype": "0",
  96. "master_itemid": "25545",
  97. "jmx_endpoint": "",
  98. "timeout": "3s",
  99. "url": "",
  100. "query_fields": [],
  101. "posts": "",
  102. "status_codes": "200",
  103. "follow_redirects": "1",
  104. "post_type": "0",
  105. "http_proxy": "",
  106. "headers": [],
  107. "retrieve_mode": "0",
  108. "request_method": "0",
  109. "output_format": "0",
  110. "ssl_cert_file": "",
  111. "ssl_key_file": "",
  112. "ssl_key_password": "",
  113. "verify_peer": "0",
  114. "verify_host": "0",
  115. "allow_traps": "0",
  116. "lastclock": "0",
  117. "lastns": "0",
  118. "lastvalue": "0",
  119. "prevvalue": "0",
  120. "parameters": []
  121. }
  122. ],
  123. "id": 1
  124. }

查找 HTTP agent 监控项

查找具有特定主机 id 的 post 正文类型 XML 的 HTTP agent 监控项。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.get",
  4. "params": {
  5. "hostids": "10255",
  6. "filter": {
  7. "type": "19",
  8. "post_type": "3"
  9. }
  10. },
  11. "id": 3,
  12. "auth": "d678e0b85688ce578ff061bd29a20d3b"
  13. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "itemid": "28252",
  6. "type": "19",
  7. "snmp_oid": "",
  8. "hostid": "10255",
  9. "name": "template item",
  10. "key_": "ti",
  11. "delay": "30s",
  12. "history": "90d",
  13. "trends": "365d",
  14. "status": "0",
  15. "value_type": "3",
  16. "trapper_hosts": "",
  17. "units": "",
  18. "formula": "",
  19. "error": "",
  20. "logtimefmt": "",
  21. "templateid": "0",
  22. "valuemapid": "0",
  23. "params": "",
  24. "ipmi_sensor": "",
  25. "authtype": "0",
  26. "username": "",
  27. "password": "",
  28. "publickey": "",
  29. "privatekey": "",
  30. "flags": "0",
  31. "interfaceid": "0",
  32. "description": "",
  33. "inventory_link": "0",
  34. "lifetime": "30d",
  35. "state": "0",
  36. "evaltype": "0",
  37. "jmx_endpoint": "",
  38. "master_itemid": "0",
  39. "timeout": "3s",
  40. "url": "localhost",
  41. "query_fields": [
  42. {
  43. "mode": "xml"
  44. }
  45. ],
  46. "posts": "<body>\r\n<![CDATA[{$MACRO}<foo></bar>]]>\r\n</body>",
  47. "status_codes": "200",
  48. "follow_redirects": "0",
  49. "post_type": "3",
  50. "http_proxy": "",
  51. "headers": [],
  52. "retrieve_mode": "1",
  53. "request_method": "3",
  54. "output_format": "0",
  55. "ssl_cert_file": "",
  56. "ssl_key_file": "",
  57. "ssl_key_password": "",
  58. "verify_peer": "0",
  59. "verify_host": "0",
  60. "allow_traps": "0",
  61. "lastclock": "0",
  62. "lastns": "0",
  63. "lastvalue": "0",
  64. "prevvalue": "0",
  65. "parameters": []
  66. }
  67. ],
  68. "id": 3
  69. }

检索预处理规则监控项

检索 ID 为 “10254” 的主机所有监控项及其预处理规则。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.get",
  4. "params": {
  5. "output": ["itemid", "name", "key_"],
  6. "selectPreprocessing": "extend",
  7. "hostids": "10254"
  8. },
  9. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  10. "id": 1
  11. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "itemid": "23865",
  5. "name": "http agent example JSON",
  6. "key_": "json",
  7. "preprocessing": [
  8. {
  9. "type": "12",
  10. "params": "$.random",
  11. "error_handler": "1",
  12. "error_handler_params": ""
  13. }
  14. ]
  15. },
  16. "id": 1
  17. }

另请参阅

源码

ui/include/classes/api/services/CItem.php - CItem::get()