获取监控项原型

描述

integer/array itemprototype.get(object parameters)

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

任何类型的用户都可以使用此方法。权限可以在用户角色设置中撤消调用该方法。了解更多信息可以参见用户角色

参数

(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 返回一个 discoveryRule 属性,包含监控项原型所属的低级发现规则。
selectGraphs query 返回一个 graphs 属性,包含监控项原型使用的图表原型。

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

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

它具有以下属性:
type - (string) 预处理选项类型:
1 - 自定义乘数;
2 - 右修剪;
3 - 左修剪;
4 - 修剪;
5 - 正则表达式匹配;
6 - 布尔值转十进制;
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 ()字符分隔。
error_handler - (string) 预处理步骤失败时使用的操作类型:
0 - 由Zabbix服务器设置错误消息;
1 - 丢弃值;
2 - 设置自定义值;
3 - 设置自定义错误消息。

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

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

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

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

可能的值有:itemid, name, key_, delay, typestatus
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参数,返回被检索对象的数量。

案例

返回低级别规则发现的监控项原型

返回所有低级别规则发现的监控项原型。

请求:

{
        · "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",
        · "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": "",
        · "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",
        · "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
       }

Response:

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

查找HTTP代理监控项原型

通过指定主机id的请求头部方法查找HTTP代理监控项原型。

请求:

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

参见

来源

CItemPrototype::get() in ui/include/classes/api/services/CItemPrototype.php.