item.create

描述

object item.create(object/array items)

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

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

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

参数

(object/array) 监控项 到 create.

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

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

返回值

(object) 返回一个包含所创建object的监控项ID的数组 属性位于itemids下。返回的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": "Disk usage"
            },
            {
                "tag": "Equipment",
                "value": "Workstation"
            }
        ],
        "delay": "30s"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "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
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "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": ""
            }
        ]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "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
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "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": [
            {
                "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",
    "result": {
        "itemids": [
            "23865"
        ]
    },
    "id": 3
}

创建脚本 监控项

使用脚本监控项创建简单数据收集

请求:

{
    "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
}

响应:

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

来源

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