创建
说明
object itemprototype.create(object/array **itemPrototypes**)
此方法用于创建新的监控项原型。
参数
(object/array) 需要创建的监控项原型。
除 标准项原型属性外,该方法还接受以下参数。
| 属性 | 类型 | 描述 |
|---|---|---|
| ruleid (必须) | string | 该项所属的LLD规则的ID。 |
| applications | array | 要分配给自动发现监控项的应用程序的ID。 |
| applicationPrototypes | array | 要分配给监控项原型的应用程序原型的名称。 |
| preprocessing | array | 预处理选项。 |
返回值
(object) 返回一个对象,该对象ID包含在“itemid”属性中。 返回的ID的顺序与传递的item prototypes的顺序相对应。 (object) 返回一个对象,该对象包含在“ itemids “属性下创建的监控项原型的id。返回的id的顺序与传递的监控项原型的顺序相匹配。
示例
创建一个监控项原型
创建一个监控项原型去监控自动发现的文件系统上的磁盘空间。发现监控项 应该每30秒更新数字化的Zabbix agent监控项。
请求:
{"jsonrpc": "2.0","method": "itemprototype.create","params": {"name": "Free disk space on $1","key_": "vfs.fs.size[{#FSNAME},free]","hostid": "10197","ruleid": "27665","type": 0,"value_type": 3,"interfaceid": "112","delay": "30s"},"auth": "038e1d7b1735c6a5436ee9eae095879e","id": 1}
响应:
{"jsonrpc": "2.0","result": {"itemids": ["27666"]},"id": 1}
创建一个预处理的监控项原型
创建一个使用每秒变化并带有自定义乘法器作为第二部的监控项。
请求:
{"jsonrpc": "2.0","method": "itemprototype.create","params": {"name": "Incoming network traffic on {#IFNAME}","key_": "net.if.in[{#IFNAME}]","hostid": "10001","ruleid": "27665","type": 0,"value_type": 3,"delay": "60s","units": "bps","interfaceid": "1155","preprocessing": [{"type": "10","params": "","error_handler": "0","error_handler_params": ""},{"type": "1","params": "8","error_handler": "2","error_handler_params": "10"}]},"auth": "038e1d7b1735c6a5436ee9eae095879e","id": 1}
响应:
{"jsonrpc": "2.0","result": {"itemids": ["44211"]},"id": 1}
创建依赖监控项原型
创建依赖监控项原型
为ID为44211的主监控项原型创建一个依赖监控项原型。只有在同一个主机的(模板/LLD发现规则)依赖才可以被接受,因此主 监控项原型 和依赖 监控项原型 应该拥有相同的hostid和ruleid。
请求:
{"jsonrpc": "2.0","method": "itemprototype.create","params": {"hostid": "10001","ruleid": "27665","name": "Dependent test item prototype","key_": "dependent.prototype","type": "18","master_itemid": "44211","value_type": "3"},"auth": "038e1d7b1735c6a5436ee9eae095879e","id": 1}
响应:
{"jsonrpc": "2.0","result": {"itemids": ["44212"]},"id": 1}
创建 HTTP agent 监控项原型
创建带有URL使用用户宏,查询字段和自定义选项的item prototype。
请求:
{"jsonrpc": "2.0","method": "itemprototype.create","params": {"type": "19","hostid": "10254","ruleid":"28256","interfaceid":"2","name": "api item prototype example","key_": "api_http_item","value_type": "3","url": "{$URL_PROTOTYPE}","query_fields": [{"min": "10"},{"max": "100"}],"headers": {"X-Source": "api"},"delay":"35"},"auth": "038e1d7b1735c6a5436ee9eae095879e","id": 1}
响应:
{"jsonrpc": "2.0","result": {"itemids": ["28305"]},"id": 1}
来源
CItemPrototype::create() in frontends/php/include/classes/api/services/CItemPrototype.php.
