更新

说明

object itemprototype.update(object/array itemPrototypes)

此方法允许更新存在的监控项原型。

参数

(object/array) 监控项原型要更新的属性。

监控项原型的 itemid的属性必须定义,所有其他属性为可选。只用被传递的属性才会被更新,所有其他未被传递的属性保持不变。

除了标准监控项原型属性之外,该方法还接受以下参数。

属性 类 描述
applications array 要替换当前应用程序的应用程序的IDS。
applicationPrototypes array 要替换当前应用程序原型的应用程序原型名称。
preprocessing array 要替换当前预处理选项的监控项原型的预处理选项。

返回值

(object)itemids属性中返回一个包含已被更新的监控项原型的IDs对象。

示例

改变监控项原型的接口

改变将被用于发现监控项的主机接口。

请求:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "27428",
        "interfaceid": "132"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

响应:

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

更新依赖的监控项原型

使用新的主监控项原型ID更新依赖监控项原型。只允许依赖于同一主机(模板/发现规则),因此主监控项和依赖监控项应该具有相同的hostid和ruleid。

请求:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "master_itemid": "25570",
        "itemid": "189030"
    },
    "auth": "700ca65537074ec963db7efabda78259",
    "id": 1
}

响应:

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

更新 HTTP agent 监控项原型

改变查询字段并移除所有自定义请求头。

请求:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid":"28305",
        "query_fields": [
            {
                "random": "qwertyuiopasdfghjklzxcvbnm"
            }
        ],
        "headers": []
    }
    "auth": "700ca65537074ec963db7efabda78259",
    "id": 1
}

响应:

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

来源

CItemPrototype::update() in frontends/php/include/classes/api/services/CItemPrototype.php.

Source

CItemPrototype::update() in ui/include/classes/api/services/CItemPrototype.php.