item.update

描述

object item.update(object/array items)

此方法用于 update 现有的 监控项。

Web 监控项 无法通过 Zabbix API 进行更新。

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

参数

(object/array) 监控项 属性将被更新。

对于每个 监控项,必须定义 itemid 属性,所有其他属性是可选的。仅传递的属性将被更新,其余属性将保持不变。

除了 监控项 之外,该方法还接受以下参数。

参数 数据类型 描述
preprocessing array 预处理 选项,用于替换当前的预处理选项。

参数行为
- 对于继承的 objects 或发现的 objects 为只读
tags array 监控项-标签

参数行为
- 对于发现的 objects 为只读

返回值

(object) 返回一个 object,其中包含更新后的 监控项 的 ID,这些 ID 位于 itemids 属性下。

示例

启用 监控项

启用一个 监控项,即将其状态设置为 "0"。

执行请求:

{
    "jsonrpc": "2.0",
    "method": "item.update",
    "params": {
        "itemid": "10092",
        "status": 0
    },
    "id": 1
}

响应:

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

更新依赖的 监控项

更新从属 监控项 名称和主控 监控项 ID。仅允许在同一 主机 上的依赖关系,因此主控和从属 监控项 应具有相同的 hostid。

执行请求:

{
    "jsonrpc": "2.0",
    "method": "item.update",
    "params": {
        "name": "Dependent item updated name",
        "master_itemid": "25562",
        "itemid": "189019"
    },
    "id": 1
}

响应:

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

更新 HTTP agent 监控项

启用 监控项 值捕获。

执行请求:

{
    "jsonrpc": "2.0",
    "method": "item.update",
    "params": {
        "itemid": "23856",
        "allow_traps": 1
    },
    "id": 1
}

响应:

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

更新带有预处理的 监控项

使用预处理规则"范围内"更新一个监控项与监控项

执行请求:

{
    "jsonrpc": "2.0",
    "method": "item.update",
    "params": {
        "itemid": "23856",
        "preprocessing": [
            {
                "type": 13,
                "params": "\n100",
                "error_handler": 1,
                "error_handler_params": ""
            }
        ]
    },
    "id": 1
}

响应

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

更新脚本 监控项

使用不同的脚本更新脚本 监控项,并删除之前脚本使用的不必要的参数。

执行请求:

{
    "jsonrpc": "2.0",
    "method": "item.update",
    "params": {
        "itemid": "23865",
        "parameters": [],
        "script": "Zabbix.log(3, 'Log test');\nreturn 1;"
    },
    "id": 1
}

响应:

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

来源

CItem::update() 在 ui/include/classes/api/services/CItem.php 中。