这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

item.create

描述

object item.create(object/array items)

此方法允许create新的监控项.

Web 监控项无法通过Zabbix API创建.

此方法仅适用于AdminSuper admin用户类型. 调用该方法的权限可以在用户角色设置中撤销. 更多信息请参阅User roles.

参数

(object/array) 监控项 到 create.

除了 主机 之外,该方法 还接受以下参数。

参数 数据类型 描述
preprocessing array 预处理 选项。
tags array 监控项-标签

返回值

(object) 返回一个包含所创建监控项ID的objectitemids 属性下。返回的ID顺序与 传递的监控项顺序

示例

创建监控项

创建一个带有2位监控项标签的数值型Zabbix agent监控项,用于监控ID为"30074"的主机上的磁盘剩余空间。

执行请求:

{  "jsonrpc": "2.0",  "method": "item.create",  "params": {  "name": "Free disk space on /home/joe/",  "key_": "vfs.fs.size[/home/joe/,free]",  "hostid": "30074",  "type": 0,  "value_type": 3,  "interfaceid": "30084",  "tags": [  {  "tag": "component",  "value": "storage"  },  {  "tag": "equipment",  "value": "workstation"  }  ],  "delay": "30s"  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": {  "itemids": [  "24758"  ]  },  "id": 1 }

创建主机清单 监控项

创建一个Zabbix agent监控项来填充主机的"OS"资产字段.

执行请求:

{  "jsonrpc": "2.0",  "method": "item.create",  "params": {  "name": "uname",  "key_": "system.uname",  "hostid": "30021",  "type": 0,  "interfaceid": "30007",  "value_type": 1,  "delay": "10s",  "inventory_link": 5  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": {  "itemids": [  "24759"  ]  },  "id": 1 }

创建带有预处理的 监控项

使用自定义乘数创建监控项.

执行请求:

{  "jsonrpc": "2.0",  "method": "item.create",  "params": {  "name": "Device uptime",  "key_": "sysUpTime",  "hostid": "11312",  "type": 4,  "snmp_oid": "SNMPv2-MIB::sysUpTime.0",  "value_type": 1,  "delay": "60s",  "units": "uptime",  "interfaceid": "1156",  "preprocessing": [  {  "type": 1,  "params": "0.01",  "error_handler": 1,  "error_handler_params": ""  }  ]  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": {  "itemids": [  "44210"  ]  },  "id": 1 }

创建依赖 监控项

为ID为24759的主监控项创建一个依赖监控项. 仅 允许在同一主机上存在依赖关系,因此主节点与 依赖项 监控项 应具有相同的 hostid。

执行请求:

{  "jsonrpc": "2.0",  "method": "item.create",  "params": {  "hostid": "30074",  "name": "Dependent test item",  "key_": "dependent.item",  "type": 18,  "master_itemid": "24759",  "value_type": 2  },  "id": 1 }

响应

{  "jsonrpc": "2.0",  "result": {  "itemids": [  "44211"  ]  },  "id": 1 }

创建 HTTP agent 监控项

创建POST请求方法监控项并预处理JSON响应.

执行请求:

{  "jsonrpc": "2.0",  "method": "item.create",  "params": {  "url":"http://127.0.0.1/http.php",  "query_fields": [  {  "name": "mode",  "value": "json"  },  {  "name": "min",  "value": "10"  },  {  "name": "max",  "value": "100"  }  ],  "interfaceid": "1",  "type": 19,  "hostid": "10254",  "delay": "5s",  "key_": "json",  "name": "HTTP agent example JSON",  "value_type": 0,  "output_format": 1,  "preprocessing": [  {  "type": 12,  "params": "$.random",  "error_handler": 0,  "error_handler_params": ""  }  ]  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": {  "itemids": [  "23865"  ]  },  "id": 1 }

创建脚本 监控项

使用脚本创建一个简单的数据收集监控项.

执行请求:

{  "jsonrpc": "2.0",  "method": "item.create",  "params": {  "name": "Script example",  "key_": "custom.script.item",  "hostid": "12345",  "type": 21,  "value_type": 4,  "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",  "parameters": [  {  "name": "host",  "value": "{HOST.CONN}"  }  ],  "timeout": "6s",  "delay": "30s"  },  "id": 1 }

响应:

{  "jsonrpc": "2.0",  "result": {  "itemids": [  "23865"  ]  },  "id": 1 }

来源

CItem::create() 位于 ui/include/classes/api/services/CItem.php 文件中.