integer/array itemprototype.get(object parameters)
该方法允许根据给定的参数检索监控项原型。
此方法可供任何类型的用户使用。调用该方法的权限可以在用户角色设置中撤销。更多信息请参见User roles。
(object) 参数定义了期望的输出。
该方法支持以下参数。
| 参数 | 数据类型 | 描述 |
|---|---|---|
| discoveryids | ID/array | 仅返回属于给定LLD规则的监控项原型。 |
| graphids | ID/array | 仅返回用于给定图形原型的监控项原型。 |
| hostids | ID/array | 仅返回属于给定主机的监控项原型。 |
| inherited | boolean | 如果设置为true,则仅返回从模板继承的监控项原型。 |
| itemids | ID/array | 仅返回具有给定ID的监控项原型。 |
| monitored | boolean | 如果设置为true,则仅返回属于被监控主机的启用状态的监控项原型。 |
| templated | boolean | 如果设置为true,则仅返回属于模板的监控项原型。 |
| templateids | ID/array | 仅返回属于给定模板的监控项原型。 |
| triggerids | ID/array | 仅返回用于给定触发器原型的监控项原型。 |
| selectDiscoveryRule | query | 返回一个discoveryRule属性,包含该监控项原型所属的低级别发现规则。 |
| selectGraphs | query | 返回一个graphs属性,包含该监控项原型被使用的图形原型。支持 count。 |
| selectHosts | query | 返回一个hosts属性,包含该监控项原型所属的主机的array。 |
| selectTags | query | 在tags属性中返回该监控项原型的标签。 |
| selectTriggers | query | 返回一个triggers属性,包含该监控项原型被使用的触发器原型。支持 count。 |
| selectPreprocessing | query | 返回一个preprocessing属性,包含该监控项原型的预处理选项。 |
| selectValueMap | query | 返回一个valuemap属性,包含该监控项原型的值映射。 |
| filter | object | 仅返回与给定过滤器完全匹配的结果。 接受一个object,其中键是属性名,值是单个值或用于匹配的array值。 不支持 text类型的数据类型属性。支持附加属性: host - 该监控项原型所属的主机的技术名称。 |
| limitSelects | integer | 限制子查询返回的记录数。 适用于以下子查询: selectGraphs - 结果将按name排序;selectTriggers - 结果将按description排序。 |
| sortfield | string/array | 按给定属性对结果进行排序。 可能的值: itemid、name、key_、delay、type、status、history、trends、discovered。 |
| 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) 返回以下之一:
countOutput 参数,则为检索到的 objects 的数量。根据特定LLD规则ID检索所有监控项原型。
执行请求:
{
"jsonrpc": "2.0",
"method": "itemprototype.get",
"params": {
"output": "extend",
"discoveryids": "27426"
},
"id": 1
}响应:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "23077",
"type": "0",
"snmp_oid": "",
"hostid": "10079",
"name": "Incoming network traffic on en0",
"key_": "net.if.in[en0]",
"delay": "1m",
"history": "1w",
"trends": "365d",
"status": "0",
"value_type": "3",
"trapper_hosts": "",
"units": "bps",
"logtimefmt": "",
"templateid": "0",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"interfaceid": "0",
"description": "",
"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",
"discover": "0",
"uuid": "",
"parameters": []
},
{
"itemid": "10010",
"type": "0",
"snmp_oid": "",
"hostid": "10001",
"name": "Processor load (1 min average per core)",
"key_": "system.cpu.load[percpu,avg1]",
"delay": "1m",
"history": "1w",
"trends": "365d",
"status": "0",
"value_type": "0",
"trapper_hosts": "",
"units": "",
"logtimefmt": "",
"templateid": "0",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"interfaceid": "0",
"description": "The processor load is calculated as system CPU load divided by number of CPU cores.",
"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",
"discover": "0",
"uuid": "",
"parameters": []
}
],
"id": 1
}根据指定的 监控项 ID 查找一个依赖的 监控项。
执行请求:
{
"jsonrpc": "2.0",
"method": "item.get",
"params": {
"output": "extend",
"filter": {
"type": 18,
"master_itemid": "25545"
},
"limit": "1"
},
"id": 1
}响应:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "25547",
"type": "18",
"snmp_oid": "",
"hostid": "10116",
"name": "Seconds",
"key_": "apache.status.uptime.seconds",
"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": "",
"interfaceid": "0",
"description": "",
"evaltype": "0",
"master_itemid": "25545",
"jmx_endpoint": "",
"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",
"discover": "0",
"uuid": "",
"parameters": []
}
],
"id": 1
}查找请求方法为 HEAD 的特定 主机 ID 的 HTTP agent 监控项 原型。
执行请求:
{
"jsonrpc": "2.0",
"method": "itemprototype.get",
"params": {
"hostids": "10254",
"filter": {
"type": 19,
"request_method": 3
}
},
"id": 1
}响应:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "28257",
"type": "19",
"snmp_oid": "",
"hostid": "10254",
"name": "discovered",
"key_": "item[{#INAME}]",
"delay": "{#IUPDATE}",
"history": "90d",
"trends": "30d",
"status": "0",
"value_type": "3",
"trapper_hosts": "",
"units": "",
"logtimefmt": "",
"templateid": "28255",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "2",
"interfaceid": "2",
"description": "",
"evaltype": "0",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "",
"url": "{#IURL}",
"query_fields": [],
"posts": "",
"status_codes": "",
"follow_redirects": "0",
"post_type": "0",
"http_proxy": "",
"headers": [],
"retrieve_mode": "0",
"request_method": "3",
"output_format": "0",
"ssl_cert_file": "",
"ssl_key_file": "",
"ssl_key_password": "",
"verify_peer": "0",
"verify_host": "0",
"allow_traps": "0",
"discover": "0",
"uuid": "",
"parameters": []
}
],
"id": 1
}CItemPrototype::get() 在 ui/include/classes/api/services/CItemPrototype.php 中。