获取
说明
integer/array itemprototype.get(object **parameters**)
此方法可以根据提供的参数获取监控项原型。
参数
(object)
参数定义期望输出
此方法提供以下参数。
属性 | 类型 | 描述 |
---|---|---|
discoveryids | string/array | 只返回属于给定LLD规则的监控项原型。 |
graphids | string/array | 只返回在给定图标原型中使用的监控项原型。 |
hostids | string/array | 只返回属于给定host的监控项原型。 |
inherited | boolean | 如果设为“true”,返回继承自某个模板的 监控项原型。 |
itemids | string/array | 返回给定IDS的监控项原型。 |
monitored | boolean | 如果设为“true”,只返回已启动的属于已监控主机的监控项原型。 |
templated | boolean | 如果设为“true”,只发挥属于给定模板的监控项原型。 |
templateids | string/array | 只返回属于给定模板的监控项原型。 |
triggerids | string/array | 只返回使用在给定触发器原型的监控项原型。 |
selectApplications | query | 在applications 属性中返回监控项原型所属的应用。 |
selectApplicationPrototypes | query | 只返回被连接到applicationPrototypes 属性中的监控项原型的应用原型。 |
selectDiscoveryRule | query | 在discoveryRule 属性中返回图表原型所属的低级发现规则。 |
selectGraphs | query | 在graphs 属性中返回被监控项原型使用的图形原型。支持 count 。 |
selectHosts | query | 在hosts 属性中以数组的形式返回监控项原型所属的host。 |
selectTriggers | query | 在triggers 属性中返回监控项原型被使用的触发器原型。支持 count 。 |
selectPreprocessing | query | 返回“预处理”属性中的项目预处理选项。 \它具有以下特性: 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)字符分隔。errorhandler - (string) 预处理步骤失败时使用的动作类型:0 -错误信息被Zabbix服务器设置; 1 -弃值; 2 -设置自定义值; 3 -设置自定义错误信息。 error_handler_params - (string) 错误处理程序参数。 |
filter | object | 只返回精确匹配筛选条件的结果。 接受一个数组,数组键为属性名称,值为单个值或者数组。 支持可选筛选条件: host - 监控项原型所属的主机的技术名称。 |
limitSelects | integer | 限制子选择返回的记录数。 应用于如下子选择: selectGraphs -结果将按name 排序;selectTriggers -结果将按description 排序。 |
sortfield | string/array | 根据给定的属性排序 可能的值有: itemid , name , key , delay , 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)
返回:
对象数组;
已获取到的对象的数量,如果
countOutput
参数被使用。
示例
获取监控项原型
从LLD规则中获取所有监控项原型 请求:
{
"jsonrpc": "2.0",
"method": "itemprototype.get",
"params": {
"output": "extend",
"discoveryids": "27426"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"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",
"formula": "",
"error": "",
"logtimefmt": "",
"templateid": "0",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "0",
"interfaceid": "0",
"description": "",
"inventory_link": "0",
"lifetime": "30d",
"state": "0",
"evaltype": "0",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "3s",
"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",
"lastclock": "0",
"lastns": "0",
"lastvalue": "0",
"prevvalue": "0",
"discover": "0"
},
{
"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": "",
"formula": "",
"error": "",
"logtimefmt": "",
"templateid": "0",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "0",
"interfaceid": "0",
"description": "The processor load is calculated as system CPU load divided by number of CPU cores.",
"inventory_link": "0",
"lifetime": "0",
"state": "0",
"evaltype": "0",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "3s",
"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",
"lastclock": "0",
"lastns": "0",
"lastvalue": "0",
"prevvalue": "0",
"discover": "0"
}
],
"id": 1
}
查找依赖的监控项
为ID为“25545”的item查找一个赖的 item。
请求:
{
"jsonrpc": "2.0",
"method": "item.get",
"params": {
"output": "extend",
"filter": {
"type": "18",
"master_itemid": "25545"
},
"limit": "1"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"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": "",
"formula": "",
"error": "",
"logtimefmt": "",
"templateid": "0",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "0",
"interfaceid": "0",
"description": "",
"inventory_link": "0",
"lifetime": "30d",
"state": "0",
"evaltype": "0",
"master_itemid": "25545",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "3s",
"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",
"lastclock": "0",
"lastns": "0",
"lastvalue": "0",
"prevvalue": "0",
"discover": "0"
}
],
"id": 1
}
查找 HTTP agent 监控项原型
为请求方法头定义的host id查找HTTP agent 监控项原型。
请求:
{
"jsonrpc": "2.0",
"method": "itemprototype.get",
"params": {
"hostids": "10254",
"filter": {
"type": "19",
"request_method": "3"
}
},
"id": 17,
"auth": "d678e0b85688ce578ff061bd29a20d3b"
}
响应:
{
"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": "",
"formula": "",
"error": "",
"logtimefmt": "",
"templateid": "28255",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "2",
"interfaceid": "2",
"description": "",
"inventory_link": "0",
"lifetime": "30d",
"state": "0",
"evaltype": "0",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "3s",
"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"
}
],
"id": 17
}
参考
来源
CItemPrototype::get() in frontends/php/include/classes/api/services/CItemPrototype.php.