object item.create(object/array items)
此方法允许创建新的监控项。
Web 监控项无法通过Zabbix API创建。
此方法仅对管理员和超级管理员用户类型可用。调用该方法的权限可在用户角色设置中撤销。更多信息请参阅User roles。
(object/array)
监控项 用于创建。
除了 主机 外,该方法还接受以下参数。
(object)
返回一个包含所创建监控项 ID的object,这些ID存储在itemids
属性下。返回的ID顺序与传入的监控项顺序一致。
创建一个数值型Zabbix agent监控项,使用2监控项标签来监控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": "Disk usage"
},
{
"tag": "Equipment",
"value": "Workstation"
}
],
"delay": "30s"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
创建 Zabbix agent 监控项 以填充 主机 的"操作系统"资产字段。
请求:
{
"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
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"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": ""
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"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
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
创建带有JSON响应预处理的POST请求方法监控项。
请求:
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"url": "http://127.0.0.1/http.php",
"query_fields": [
{
"mode": "json"
},
{
"min": "10"
},
{
"max": "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": ""
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 2
}
响应:
使用脚本监控项创建简单数据收集
请求:
{
"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 CurlHttpRequest();\nreturn request.Post(\"https://postman-echo.com/post\", JSON.parse(value));",
"parameters": [
{
"name": "host",
"value": "{HOST.CONN}"
}
],
"timeout": "6s",
"delay": "30s"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 2
}
响应:
ui/include/classes/api/services/CItem.php 中的 CItem::create() 方法