item.get

描述

integer/array item.get(object parameters)

该方法允许根据给定参数检索监控项。

该方法对所有类型的用户可用。调用该方法的权限可以在用户角色设置中撤销。更多信息请参阅User roles

参数

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

该方法支持以下参数。

参数 数据类型 描述
itemids ID/array 仅返回具有指定ID的监控项。
groupids ID/array 仅返回属于给定组中主机的监控项。
templateids ID/array 仅返回属于给定模板的监控项。
hostids ID/array 仅返回属于指定主机的监控项.
proxyids ID/array 仅返回由给定proxies监控的监控项.
interfaceids ID/array 仅返回使用指定主机接口的监控项.
graphids ID/array 仅返回给定图表中使用的监控项.
triggerids ID/array 仅返回给定触发器中使用的监控项.
webitems flag 在结果中包含web 监控项。
inherited boolean 若设置为true则仅返回从模板继承的监控项
templated boolean 如果设置为true则仅返回属于模板的监控项.
monitored boolean 如果设置为true则仅返回属于受监控主机的已启用监控项.
group string 仅返回属于指定名称组的监控项。
host string 仅返回属于指定名称的一个主机的监控项。
evaltype integer 标签搜索规则.

可选值:
0 - (默认) 与/或;
2 - 或.
tags array 仅返回带有指定标签的监控项. 根据运算符值决定按标签精确匹配或标签值大小写敏感/不敏感搜索.
格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
空array将返回所有监控项.

可用运算符类型:
0 - (默认) 相似;
1 - 等于;
2 - 不相似;
3 - 不等于;
4 - 存在;
5 - 不存在.
with_triggers boolean 如果设置为true则仅返回触发器中使用到的监控项
selectHosts query 返回一个hosts属性,其array为主机,表示该监控项所属的对象。
selectInterfaces query 返回一个interfaces属性,其array为主机接口,由监控项使用。
selectTriggers query 返回一个包含触发器信息的triggers属性,这些触发器使用了该监控项。

支持count
selectGraphs query 返回包含监控项的图表所对应的graphs属性。

支持count
selectDiscoveryData query 返回一个包含监控项发现object数据的discoveryData属性。该监控项发现object将发现的监控项与其来源的监控项原型关联起来。

它具有以下属性:
itemdiscoveryid - 监控项发现的(string)ID;
parent_itemid - 创建该监控项的监控项原型的(string)ID;
key_ - 监控项原型的(string)键值;
lastcheck - 上次发现监控项的(timestamp)时间;
status - 监控项发现状态的(int):
0 - (默认) 已发现监控项,
1 - 不再发现监控项;
ts_delete - 不再发现的监控项将被删除的(timestamp)时间;
ts_disable - 不再发现的监控项将被禁用的(timestamp)时间;
disable_source - 指示监控项是由LLD规则还是手动禁用的(int):
0 - (默认) 自动禁用,
1 - 由LLD规则禁用。
selectDiscoveryRule query 返回一个discoveryRule属性,其中包含创建该监控项的LLD规则。
selectDiscoveryRulePrototype query 返回一个discoveryRulePrototype属性,其中包含创建该监控项的父级LLD规则原型。
selectItemDiscovery query 返回一个带有监控项发现object的itemDiscovery属性。该监控项发现object将监控项与其创建来源的监控项原型相关联。

此query已弃用,请改用selectDiscoveryData
selectPreprocessing query 返回带有 监控项 预处理选项的 preprocessing 属性。
selectTags query 返回 tags 属性中的 监控项标签。
selectValueMap query 返回带有监控项值映射的valuemap属性.
filter object 仅返回与给定筛选条件完全匹配的结果。

接受一个object,其中键为属性名称,值为单个值或用于匹配的array。

不支持text类型的属性数据类型

支持附加属性:
host - 监控项所属主机的技术名称。
limitSelects integer 限制子查询返回的记录数量。

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

可选值: itemid, name, key_, delay, history, trends, type, status.
countOutput boolean 这些参数在通用get方法参数中有详细描述.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 返回以下两种结果之一:

  • 一个包含array的objects数组
  • 检索到的objects数量(当使用countOutput参数时)

示例

通过键值查找 监控项

检索特定主机 ID中所有触发器使用的监控项,这些触发器在监控项键中包含"system.cpu"字样,并按名称排序结果。

执行请求:

{  "jsonrpc": "2.0",  "method": "item.get",  "params": {  "output": "extend",  "hostids": "10084",  "with_triggers": true,  "search": {  "key_": "system.cpu"  },  "sortfield": "name"  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": [  {  "itemid": "42269",  "type": "18",  "snmp_oid": "",  "hostid": "10084",  "name": "CPU utilization",  "key_": "system.cpu.util",  "delay": "0",  "history": "7d",  "trends": "365d",  "status": "0",  "value_type": "0",  "trapper_hosts": "",  "units": "%",  "logtimefmt": "",  "templateid": "42267",  "valuemapid": "0",  "params": "",  "ipmi_sensor": "",  "authtype": "0",  "username": "",  "password": "",  "publickey": "",  "privatekey": "",  "flags": "0",  "interfaceid": "0",  "description": "CPU utilization in %.",  "inventory_link": "0",  "evaltype": "0",  "jmx_endpoint": "",  "master_itemid": "42264",  "timeout": "",  "url": "",  "query_fields": [],  "posts": "",  "status_codes": "200",  "follow_redirects": "1",  "post_type": "0",  "http_proxy": "",  "headers": [],  "retrieve_mode": "0",  "request_method": "0",  "output_format": "0",  "ssl_cert_file": "",  "ssl_key_file": "",  "ssl_key_password": "",  "verify_peer": "0",  "verify_host": "0",  "allow_traps": "0",  "uuid": "",  "state": "0",  "error": "",  "parameters": [],  "lastclock": "0",  "lastns": "0",  "lastvalue": "0",  "prevvalue": "0",  "name_resolved": "CPU utilization"  },  {  "itemid": "42259",  "type": "0",  "snmp_oid": "",  "hostid": "10084",  "name": "Load average (15m avg)",  "key_": "system.cpu.load[all,avg15]",  "delay": "1m",  "history": "7d",  "trends": "365d",  "status": "0",  "value_type": "0",  "trapper_hosts": "",  "units": "",  "logtimefmt": "",  "templateid": "42219",  "valuemapid": "0",  "params": "",  "ipmi_sensor": "",  "authtype": "0",  "username": "",  "password": "",  "publickey": "",  "privatekey": "",  "flags": "0",  "interfaceid": "1",  "description": "",  "inventory_link": "0",  "evaltype": "0",  "jmx_endpoint": "",  "master_itemid": "0",  "timeout": "",  "url": "",  "query_fields": [],  "posts": "",  "status_codes": "200",  "follow_redirects": "1",  "post_type": "0",  "http_proxy": "",  "headers": [],  "retrieve_mode": "0",  "request_method": "0",  "output_format": "0",  "ssl_cert_file": "",  "ssl_key_file": "",  "ssl_key_password": "",  "verify_peer": "0",  "verify_host": "0",  "allow_traps": "0",  "uuid": "",  "state": "0",  "error": "",  "parameters": [],  "lastclock": "0",  "lastns": "0",  "lastvalue": "0",  "prevvalue": "0",  "name_resolved": "Load average (15m avg)"  },  {  "itemid": "42249",  "type": "0",  "snmp_oid": "",  "hostid": "10084",  "name": "Load average (1m avg)",  "key_": "system.cpu.load[all,avg1]",  "delay": "1m",  "history": "7d",  "trends": "365d",  "status": "0",  "value_type": "0",  "trapper_hosts": "",  "units": "",  "logtimefmt": "",  "templateid": "42209",  "valuemapid": "0",  "params": "",  "ipmi_sensor": "",  "authtype": "0",  "username": "",  "password": "",  "publickey": "",  "privatekey": "",  "flags": "0",  "interfaceid": "1",  "description": "",  "inventory_link": "0",  "evaltype": "0",  "jmx_endpoint": "",  "master_itemid": "0",  "timeout": "",  "url": "",  "query_fields": [],  "posts": "",  "status_codes": "200",  "follow_redirects": "1",  "post_type": "0",  "http_proxy": "",  "headers": [],  "retrieve_mode": "0",  "request_method": "0",  "output_format": "0",  "ssl_cert_file": "",  "ssl_key_file": "",  "ssl_key_password": "",  "verify_peer": "0",  "verify_host": "0",  "allow_traps": "0",  "uuid": "",  "state": "0",  "error": "",  "parameters": [],  "lastclock": "0",  "lastns": "0",  "lastvalue": "0",  "prevvalue": "0",  "name_resolved": "Load average (1m avg)"  },  {  "itemid": "42257",  "type": "0",  "snmp_oid": "",  "hostid": "10084",  "name": "Load average (5m avg)",  "key_": "system.cpu.load[all,avg5]",  "delay": "1m",  "history": "7d",  "trends": "365d",  "status": "0",  "value_type": "0",  "trapper_hosts": "",  "units": "",  "logtimefmt": "",  "templateid": "42217",  "valuemapid": "0",  "params": "",  "ipmi_sensor": "",  "authtype": "0",  "username": "",  "password": "",  "publickey": "",  "privatekey": "",  "flags": "0",  "interfaceid": "1",  "description": "",  "inventory_link": "0",  "evaltype": "0",  "jmx_endpoint": "",  "master_itemid": "0",  "timeout": "",  "url": "",  "query_fields": [],  "posts": "",  "status_codes": "200",  "follow_redirects": "1",  "post_type": "0",  "http_proxy": "",  "headers": [],  "retrieve_mode": "0",  "request_method": "0",  "output_format": "0",  "ssl_cert_file": "",  "ssl_key_file": "",  "ssl_key_password": "",  "verify_peer": "0",  "verify_host": "0",  "allow_traps": "0",  "uuid": "",  "state": "0",  "error": "",  "parameters": [],  "lastclock": "0",  "lastns": "0",  "lastvalue": "0",  "prevvalue": "0",  "name_resolved": "Load average (5m avg)"  },  {  "itemid": "42260",  "type": "0",  "snmp_oid": "",  "hostid": "10084",  "name": "Number of CPUs",  "key_": "system.cpu.num",  "delay": "1m",  "history": "7d",  "trends": "365d",  "status": "0",  "value_type": "3",  "trapper_hosts": "",  "units": "",  "logtimefmt": "",  "templateid": "42220",  "valuemapid": "0",  "params": "",  "ipmi_sensor": "",  "authtype": "0",  "username": "",  "password": "",  "publickey": "",  "privatekey": "",  "flags": "0",  "interfaceid": "1",  "description": "",  "inventory_link": "0",  "evaltype": "0",  "jmx_endpoint": "",  "master_itemid": "0",  "timeout": "",  "url": "",  "query_fields": [],  "posts": "",  "status_codes": "200",  "follow_redirects": "1",  "post_type": "0",  "http_proxy": "",  "headers": [],  "retrieve_mode": "0",  "request_method": "0",  "output_format": "0",  "ssl_cert_file": "",  "ssl_key_file": "",  "ssl_key_password": "",  "verify_peer": "0",  "verify_host": "0",  "allow_traps": "0",  "uuid": "",  "state": "0",  "error": "",  "parameters": [],  "lastclock": "0",  "lastns": "0",  "lastvalue": "0",  "prevvalue": "0",  "name_resolved": "Number of CPUs"  }  ],  "id": 1 }

通过键值查找依赖的 监控项

从ID为"10116"的主机中检索所有键名包含"apache"的依赖监控项

执行请求:

{  "jsonrpc": "2.0",  "method": "item.get",  "params": {  "output": "extend",  "hostids": "10116",  "search": {  "key_": "apache"  },  "filter": {  "type": 18  }  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": [  {  "itemid": "25550",  "type": "18",  "snmp_oid": "",  "hostid": "10116",  "name": "Days",  "key_": "apache.status.uptime.days",  "delay": "0",  "history": "90d",  "trends": "365d",  "status": "0",  "value_type": "3",  "trapper_hosts": "",  "units": "",  "logtimefmt": "",  "templateid": "0",  "valuemapid": "0",  "params": "",  "ipmi_sensor": "",  "authtype": "0",  "username": "",  "password": "",  "publickey": "",  "privatekey": "",  "flags": "0",  "interfaceid": "0",  "description": "",  "inventory_link": "0",  "evaltype": "0",  "jmx_endpoint": "",  "master_itemid": "25545",  "timeout": "",  "url": "",  "query_fields": [],  "posts": "",  "status_codes": "200",  "follow_redirects": "1",  "post_type": "0",  "http_proxy": "",  "headers": [],  "retrieve_mode": "0",  "request_method": "0",  "output_format": "0",  "ssl_cert_file": "",  "ssl_key_file": "",  "ssl_key_password": "",  "verify_peer": "0",  "verify_host": "0",  "allow_traps": "0",  "uuid": "",  "state": "0",  "error": "",  "parameters": [],  "lastclock": "0",  "lastns": "0",  "lastvalue": "0",  "prevvalue": "0",  "name_resolved": "Days"  },  {  "itemid": "25555",  "type": "18",  "snmp_oid": "",  "hostid": "10116",  "name": "Hours",  "key_": "apache.status.uptime.hours",  "delay": "0",  "history": "90d",  "trends": "365d",  "status": "0",  "value_type": "3",  "trapper_hosts": "",  "units": "",  "logtimefmt": "",  "templateid": "0",  "valuemapid": "0",  "params": "",  "ipmi_sensor": "",  "authtype": "0",  "username": "",  "password": "",  "publickey": "",  "privatekey": "",  "flags": "0",  "interfaceid": "0",  "description": "",  "inventory_link": "0",  "evaltype": "0",  "jmx_endpoint": "",  "master_itemid": "25545",  "timeout": "",  "url": "",  "query_fields": [],  "posts": "",  "status_codes": "200",  "follow_redirects": "1",  "post_type": "0",  "http_proxy": "",  "headers": [],  "retrieve_mode": "0",  "request_method": "0",  "output_format": "0",  "ssl_cert_file": "",  "ssl_key_file": "",  "ssl_key_password": "",  "verify_peer": "0",  "verify_host": "0",  "allow_traps": "0",  "uuid": "",  "state": "0",  "error": "",  "parameters": [],  "lastclock": "0",  "lastns": "0",  "lastvalue": "0",  "prevvalue": "0",  "name_resolved": "Hours"  }  ],  "id": 1 }

查找 HTTP agent 监控项

查找具有XML post body类型的HTTP agent 监控项 以获取特定 主机 ID.

执行请求:

{  "jsonrpc": "2.0",  "method": "item.get",  "params": {  "hostids": "10255",  "filter": {  "type": 19,  "post_type": 3  }  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": [  {  "itemid": "28252",  "type": "19",  "snmp_oid": "",  "hostid": "10255",  "name": "template item",  "key_": "ti",  "delay": "30s",  "history": "90d",  "trends": "365d",  "status": "0",  "value_type": "3",  "trapper_hosts": "",  "units": "",  "logtimefmt": "",  "templateid": "0",  "valuemapid": "0",  "params": "",  "ipmi_sensor": "",  "authtype": "0",  "username": "",  "password": "",  "publickey": "",  "privatekey": "",  "flags": "0",  "interfaceid": "0",  "description": "",  "inventory_link": "0",  "evaltype": "0",  "jmx_endpoint": "",  "master_itemid": "0",  "timeout": "",  "url": "localhost",  "query_fields": [  {  "name": "mode",  "value": "xml"  }  ],  "posts": "<body>\r\n<![CDATA[{$MACRO}<foo></bar>]]>\r\n</body>",  "status_codes": "200",  "follow_redirects": "0",  "post_type": "3",  "http_proxy": "",  "headers": [],  "retrieve_mode": "1",  "request_method": "3",  "output_format": "0",  "ssl_cert_file": "",  "ssl_key_file": "",  "ssl_key_password": "",  "verify_peer": "0",  "verify_host": "0",  "allow_traps": "0",  "uuid": "",  "state": "0",  "error": "",  "parameters": [],  "lastclock": "0",  "lastns": "0",  "lastvalue": "",  "prevvalue": "",  "name_resolved": "template item"  }  ],  "id": 1 }

通过预处理规则获取 监控项

获取指定主机 ID的所有监控项及其预处理规则

执行请求:

{  "jsonrpc": "2.0",  "method": "item.get",  "params": {  "output": ["itemid", "name", "key_"],  "selectPreprocessing": "extend",  "hostids": "10254"  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": {  "itemid": "23865",  "name": "HTTP agent example JSON",  "key_": "json",  "preprocessing": [  {  "type": "12",  "params": "$.random",  "error_handler": "1",  "error_handler_params": ""  }  ]  },  "id": 1 }

另请参阅

来源

CItem::get() 位于 ui/include/classes/api/services/CItem.php 文件中。