itemprototype.update

描述

object itemprototype.update(object/array itemPrototypes)

此方法允许更新现有的监控项原型。

此方法仅适用于管理员超级管理员用户类型。调用该方法的权限可以在用户角色设置中撤销。更多信息请参阅User roles

参数

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

每个监控项原型必须定义itemid属性,其余属性均为可选。仅传递的属性会被更新,其他属性将保持不变。

监控项原型外,该方法还接受以下参数。

参数 数据类型 说明
preprocessing array 用于替换当前预处理选项的监控项原型监控项-原型预处理选项。
tags array 监控项原型监控项-原型标签

返回值

(object) 返回一个包含更新后的itemids属性下监控项原型ID的object。

示例

修改 监控项 原型的接口

更改发现监控项所使用的主机接口。

请求:

{
           "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 监控项 原型

修改query字段并移除所有自定义头部

请求:

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

更新 监控项 预处理选项

使用预处理规则"自定义乘数"更新监控项原型。

请求:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.update",
           "params": {
               "itemid": "44211",
               "preprocessing": [
                   {
                       "type": 1,
                       "params": "4",
                       "error_handler": 2,
                       "error_handler_params": "5"
                   }
               ]
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

响应:

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

更新脚本 监控项 原型

使用不同的脚本更新脚本监控项原型,并移除先前脚本使用的不必要参数。

请求:

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

响应:

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

来源

CItemPrototype::update() 方法位于 ui/include/classes/api/services/CItemPrototype.php 文件中。