itemprototype.get

描述

integer/array itemprototype.get(object parameters)

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

此方法可供任何类型的用户使用。调用该方法的权限可以在用户角色设置中撤销。更多信息请参阅User roles

参数

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

该方法支持以下参数。

参数 数据类型 描述
discoveryids string/array 仅返回属于给定LLD规则的监控项原型。
graphids string/array 仅返回用于给定图形原型的监控项原型。
hostids string/array 仅返回属于给定主机的监控项原型。
inherited boolean 如果设置为true,则仅返回从模板继承的监控项原型。
itemids string/array 仅返回具有给定ID的监控项原型。
monitored boolean 如果设置为true,则仅返回属于受监控主机的已启用监控项原型。
templated boolean 如果设置为true,则仅返回属于模板的监控项原型。
templateids string/array 仅返回属于给定模板的监控项原型。
triggerids string/array 仅返回用于给定触发器原型的监控项原型。
selectDiscoveryRule query 返回一个lld规则属性,包含监控项原型所属的低级发现规则。
selectGraphs query 返回一个图表原型属性,包含使用监控项原型的图形原型。

支持count
selectHosts query 返回一个hosts属性,包含监控项原型所属主机的array。
selectTags query 监控项-原型标签属性中返回监控项原型的标签。
selectTriggers query 返回一个触发器原型属性,包含使用监控项原型的触发器原型。

支持count
selectPreprocessing query 返回一个预处理属性,包含监控项预处理选项。

具有以下属性:
type - (string) 预处理选项类型:
1 - 自定义乘数;
2 - 右修剪;
3 - 左修剪;
4 - 修剪;
5 - 正则表达式匹配;
6 - boolean转十进制;
7 - 八进制转十进制;
8 - 十六进制转十进制;
9 - 简单变更;
10 - 每秒变更;
11 - XML XPath;
12 - JSONPath;
13 - 在范围内;
14 - 匹配正则表达式;
15 - 不匹配正则表达式;
16 - 检查JSON中的错误;
17 - 检查XML中的错误;
18 - 使用正则表达式检查错误;
19 - 丢弃未变更;
20 - 带心跳的丢弃未变更;
21 - JavaScript;
22 - Prometheus模式;
23 - Prometheus转JSON;
24 - CSV转JSON;
25 - 替换;
26 - 检查不支持的值;
27- XML转JSON。

params - (string) 预处理选项使用的附加参数。多个参数由LF(\n)字符分隔。
error_handler - (string) 预处理步骤失败时使用的操作类型:
0 - 错误消息由Zabbix server设置;
1 - 丢弃值;
2 - 设置自定义值;
3 - 设置自定义错误消息。

error_handler_params - (string) 错误处理程序参数。
selectValueMap query 返回一个valuemap属性,包含监控项原型的值映射。
filter object 仅返回与给定过滤器完全匹配的结果。

接受一个array,其中键是属性名称,值是要匹配的单个值或array。

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

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

可能的值为:itemidnamekey_delaytypestatus
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) 返回以下两种结果之一:

  • 一个包含objects的array;
  • 若使用了countOutput参数,则返回检索到的objects数量。

示例

从LLD规则中检索监控项原型

获取指定LLD规则ID的所有监控项原型

请求:

{
           "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",
                   "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": "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",
                   "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": "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",
                   "uuid": "",
                   "parameters": []
               }
           ],
           "id": 1
       }

查找依赖的 监控项

查找一个ID为"25545"的监控项的依赖监控项。

请求:

{
           "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": "",
                   "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": "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",
                   "discover": "0",
                   "uuid": "",
                   "parameters": []
               }
           ],
           "id": 1
       }

查找 HTTP agent 监控项 原型

查找针对特定主机 ID使用HEAD请求方法的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": "",
                   "logtimefmt": "",
                   "templateid": "28255",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "2",
                   "description": "",
                   "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",
                   "uuid": "",
                   "parameters": []
               }
           ],
           "id": 17
       }

另请参阅

来源

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