这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

创建

说明

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.