获取

说明

integer/array item.get(object **parameters**)

此方法允许根据给定的参数获取监控项。

参数

(object) 参数定义期望输出。

此方法支持如下参数。

参数类型说明
itemidsstring/array返回给定IDs的监控项。
groupidsstring/array返回属于给定组的主机的监控项。
templateidsstring/array返回属于给定模板的监控项。
hostidsstring/array返回属于给定主机的监控项。
proxyidsstring/array返回被给定代理监控的监控项。
interfaceidsstring/array返回使用给定主机接口的监控项。
graphidsstring/array返回在给定图表中使用的监控项。
triggeridsstring/array返回给定触发器所使用的监控项。
applicationidsstring/array返回属于给定应用的监控项。
webitemsflag返回结果中包含web监控项。
inheritedboolean如果设为true,返回继承自某个模板的监控项。
templatedboolean如果设为true,返回属于某个模板的监控项。
monitoredboolean如果设为true,返回属于已监控主机的已启用的监控项。
groupstring返回属于给定组名的监控项。
hoststring返回给定主机名的监控项。
applicationstring返回属于给定应用名的监控项。
withtriggersboolean如果设为true,返回在触发器中使用的监控项。
selectHostsqueryhost属性中已数组的形式返回监控项所属的主机。
selectInterfacesqueryinterfaces属性中返回在主机接口中使用的监控项。
selectTriggersquerytriggers属性中返回使用该监控项的触发器。

支持count.
selectGraphsquerygraphs属性中返回包含该监控项的图表。

支持count.
selectApplicationsqueryapplication属性中返回监控项所属的应用。
selectDiscoveryRulequerydiscoveryRule属性中返回创建该监控项的LLD规则。
selectItemDiscoveryqueryitemDiscovery属性中返回监控项发现对象。该监控项发现对象连接该监控项到监控项原型。

它有如下属性:
itemdiscoveryid - (string) ID of the item discovery;
itemid - (string) ID of the discovered item;
parent_itemid - (string) ID of the item prototype from which the item has been created;
key - (string) key of the item prototype;
lastcheck - (timestamp) time when the item was last discovered;
tsdelete - (timestamp) time when an item that is no longer discovered will be deleted.
selectPreprocessingquery返回“预处理”属性中的项目预处理选项。
\它具有以下特性:
type - (string) 预处理选项类型:
1 -自定义乘数;
2 -右纵倾;
3 -左纵倾;
4 -修剪;
5 -正则表达式匹配;
6 -布尔值到小数;
7 -八进制到十进制;
8—十六进制到十进制;
9 -简单的改变;
10 -每秒变化;
11 - XML XPath;
12 - JSONPath;
13 - In范围;
14 -匹配正则表达式;
15 -不匹配正则表达式;
16 -检查JSON中的错误
17 -检查XML中的错误;
18 -使用正则表达式检查错误;
19 -丢弃不变的;
20 -不改变心跳丢弃;
21 - JavaScript;
22 -普罗米修斯模式;
23 -普罗米修斯到JSON;
24 - CSV到JSON;
25 -替换
params - (string)预处理选项使用的附加参数。多个参数以LF (\n)字符分隔。
error_handler - (string)预处理步骤失败时使用的动作类型:
0 -错误信息被Zabbix服务器设置;
1 -弃值;
2 -设置自定义值;
3 -设置自定义错误信息。error_handler_params - (string)错误处理程序参数。
filterobject返回紧缺匹配给定筛选条件的结果。

接受数组,数组的键为属性名,值为要匹配的一个值或者值数组。

支持附加筛选条件:
host - 监控项所属主机的技术名称。
limitSelectsinteger限制子查询所返回的结果的数量。

应用到如下子查询:
selectGraphs - 结果排序 name;
selectTriggers - 结果排序 description.
sortfieldstring/array根据给定的属性对结果排序。

可能的值是: itemid, name, key, delay, history, trends, type and status.
countOutputboolean参考说明页面中详细描述了这些对于所有“get”方法都是通用的参数。
editableboolean
excludeSearchboolean
limitinteger
outputquery
preservekeysboolean
searchobject
searchByAnyboolean
searchWildcardsEnabledboolean
sortorderstring/array
startSearchboolean

返回值

(integer/array) 返回:

  • 对象数组;

  • 检索对象的计数(如果使用了“countOutput”参数)。

示例

根据key查找监控项

从ID为“10084”的主机获取key带有“system”的监控项,并以名称排序。

请求:

  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. },
  61. {
  62. "itemid": "23299",
  63. "type": "0",
  64. "snmp_oid": "",
  65. "hostid": "10084",
  66. "name": "CPU $2 time",
  67. "key_": "system.cpu.util[,idle]",
  68. "delay": "1m",
  69. "history": "7d",
  70. "trends": "365d",
  71. "lastvalue": "86.031879",
  72. "lastclock": "1351090999",
  73. "prevvalue": "85.306944",
  74. "state": "0",
  75. "status": "0",
  76. "value_type": "0",
  77. "trapper_hosts": "",
  78. "units": "%",
  79. "error": "",
  80. "logtimefmt": "",
  81. "templateid": "17354",
  82. "valuemapid": "0",
  83. "params": "",
  84. "ipmi_sensor": "",
  85. "authtype": "0",
  86. "username": "",
  87. "password": "",
  88. "publickey": "",
  89. "privatekey": "",
  90. "lastns": "564256864",
  91. "flags": "0",
  92. "interfaceid": "1",
  93. "description": "The time the CPU has spent doing nothing.",
  94. "inventory_link": "0",
  95. "lifetime": "0s",
  96. "evaltype": "0",
  97. "jmx_endpoint": "",
  98. "master_itemid": "0",
  99. "timeout": "3s",
  100. "url": "",
  101. "query_fields": [],
  102. "posts": "",
  103. "status_codes": "200",
  104. "follow_redirects": "1",
  105. "post_type": "0",
  106. "http_proxy": "",
  107. "headers": [],
  108. "retrieve_mode": "0",
  109. "request_method": "0",
  110. "output_format": "0",
  111. "ssl_cert_file": "",
  112. "ssl_key_file": "",
  113. "ssl_key_password": "",
  114. "verify_peer": "0",
  115. "verify_host": "0",
  116. "allow_traps": "0"
  117. },
  118. {
  119. "itemid": "23300",
  120. "type": "0",
  121. "snmp_oid": "",
  122. "hostid": "10084",
  123. "name": "CPU $2 time",
  124. "key_": "system.cpu.util[,interrupt]",
  125. "history": "7d",
  126. "trends": "365d",
  127. "lastvalue": "0.008389",
  128. "lastclock": "1351091000",
  129. "prevvalue": "0.000000",
  130. "state": "0",
  131. "status": "0",
  132. "value_type": "0",
  133. "trapper_hosts": "",
  134. "units": "%",
  135. "error": "",
  136. "logtimefmt": "",
  137. "templateid": "22671",
  138. "valuemapid": "0",
  139. "params": "",
  140. "ipmi_sensor": "",
  141. "authtype": "0",
  142. "username": "",
  143. "password": "",
  144. "publickey": "",
  145. "privatekey": "",
  146. "lastns": "564661387",
  147. "flags": "0",
  148. "interfaceid": "1",
  149. "description": "The amount of time the CPU has been servicing hardware interrupts.",
  150. "inventory_link": "0",
  151. "lifetime": "0s",
  152. "evaltype": "0",
  153. "jmx_endpoint": "",
  154. "master_itemid": "0",
  155. "timeout": "3s",
  156. "url": "",
  157. "query_fields": [],
  158. "posts": "",
  159. "status_codes": "200",
  160. "follow_redirects": "1",
  161. "post_type": "0",
  162. "http_proxy": "",
  163. "headers": [],
  164. "retrieve_mode": "0",
  165. "request_method": "0",
  166. "output_format": "0",
  167. "ssl_cert_file": "",
  168. "ssl_key_file": "",
  169. "ssl_key_password": "",
  170. "verify_peer": "0",
  171. "verify_host": "0",
  172. "allow_traps": "0"
  173. }
  174. ],
  175. "id": 1
  176. }

根据key查找依赖监控项

从ID未“10116”的主机中获取key名包含“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": "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. },
  61. {
  62. "itemid": "23299",
  63. "type": "0",
  64. "snmp_oid": "",
  65. "hostid": "10084",
  66. "name": "CPU $2 time",
  67. "key_": "system.cpu.util[,idle]",
  68. "delay": "1m",
  69. "history": "7d",
  70. "trends": "365d",
  71. "lastvalue": "86.031879",
  72. "lastclock": "1351090999",
  73. "prevvalue": "85.306944",
  74. "state": "0",
  75. "status": "0",
  76. "value_type": "0",
  77. "trapper_hosts": "",
  78. "units": "%",
  79. "error": "",
  80. "logtimefmt": "",
  81. "templateid": "17354",
  82. "valuemapid": "0",
  83. "params": "",
  84. "ipmi_sensor": "",
  85. "authtype": "0",
  86. "username": "",
  87. "password": "",
  88. "publickey": "",
  89. "privatekey": "",
  90. "lastns": "564256864",
  91. "flags": "0",
  92. "interfaceid": "1",
  93. "description": "The time the CPU has spent doing nothing.",
  94. "inventory_link": "0",
  95. "lifetime": "0s",
  96. "evaltype": "0",
  97. "jmx_endpoint": "",
  98. "master_itemid": "0",
  99. "timeout": "3s",
  100. "url": "",
  101. "query_fields": [],
  102. "posts": "",
  103. "status_codes": "200",
  104. "follow_redirects": "1",
  105. "post_type": "0",
  106. "http_proxy": "",
  107. "headers": [],
  108. "retrieve_mode": "0",
  109. "request_method": "0",
  110. "output_format": "0",
  111. "ssl_cert_file": "",
  112. "ssl_key_file": "",
  113. "ssl_key_password": "",
  114. "verify_peer": "0",
  115. "verify_host": "0",
  116. "allow_traps": "0"
  117. },
  118. {
  119. "itemid": "23300",
  120. "type": "0",
  121. "snmp_oid": "",
  122. "hostid": "10084",
  123. "name": "CPU $2 time",
  124. "key_": "system.cpu.util[,interrupt]",
  125. "history": "7d",
  126. "trends": "365d",
  127. "lastvalue": "0.008389",
  128. "lastclock": "1351091000",
  129. "prevvalue": "0.000000",
  130. "state": "0",
  131. "status": "0",
  132. "value_type": "0",
  133. "trapper_hosts": "",
  134. "units": "%",
  135. "error": "",
  136. "logtimefmt": "",
  137. "templateid": "22671",
  138. "valuemapid": "0",
  139. "params": "",
  140. "ipmi_sensor": "",
  141. "authtype": "0",
  142. "username": "",
  143. "password": "",
  144. "publickey": "",
  145. "privatekey": "",
  146. "lastns": "564661387",
  147. "flags": "0",
  148. "interfaceid": "1",
  149. "description": "The amount of time the CPU has been servicing hardware interrupts.",
  150. "inventory_link": "0",
  151. "lifetime": "0s",
  152. "evaltype": "0",
  153. "jmx_endpoint": "",
  154. "master_itemid": "0",
  155. "timeout": "3s",
  156. "url": "",
  157. "query_fields": [],
  158. "posts": "",
  159. "status_codes": "200",
  160. "follow_redirects": "1",
  161. "post_type": "0",
  162. "http_proxy": "",
  163. "headers": [],
  164. "retrieve_mode": "0",
  165. "request_method": "0",
  166. "output_format": "0",
  167. "ssl_cert_file": "",
  168. "ssl_key_file": "",
  169. "ssl_key_password": "",
  170. "verify_peer": "0",
  171. "verify_host": "0",
  172. "allow_traps": "0"
  173. }
  174. ],
  175. "id": 1
  176. }

查找HTTP agent 监控项

根据定义的主机id来查找带有XML post报文类型的监控项。

请求:

  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. }
  66. ],
  67. "id": 3
  68. }

使用预处理规则检索项

从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. }

参考

来源

CItem::get() in frontends/php/include/classes/api/services/CItem.php.