object itemprototype.update(object/array itemPrototypes)
此方法允许更新现有的监控项原型。
此方法仅适用于管理员和超级管理员用户类型。调用该方法的权限可以在用户角色设置中撤销。更多信息请参阅User roles。
(object/array)
监控项 原型待更新属性。
每个监控项原型必须定义itemid
属性,其余属性均为可选。仅传递的属性会被更新,其他属性将保持不变。
除监控项原型外,该方法还接受以下参数。
(object)
返回一个包含更新后的itemids
属性下监控项原型ID的object。
更改发现监控项所使用的主机接口。
请求:
{
"jsonrpc": "2.0",
"method": "itemprototype.update",
"params": {
"itemid": "27428",
"interfaceid": "132"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
使用新的主监控项原型ID更新依赖监控项原型。仅允许在同一主机(模板/发现规则)上的依赖关系,因此主监控项和依赖监控项应具有相同的hostid和ruleid。
请求:
{
"jsonrpc": "2.0",
"method": "itemprototype.update",
"params": {
"master_itemid": "25570",
"itemid": "189030"
},
"auth": "700ca65537074ec963db7efabda78259",
"id": 1
}
响应:
修改query字段并移除所有自定义头部
请求:
{
"jsonrpc": "2.0",
"method": "itemprototype.update",
"params": {
"itemid":"28305",
"query_fields": [
{
"random": "qwertyuiopasdfghjklzxcvbnm"
}
],
"headers": []
}
"auth": "700ca65537074ec963db7efabda78259",
"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",
"method": "itemprototype.update",
"params": {
"itemid": "23865",
"parameters": [],
"script": "Zabbix.Log(3, 'Log test');\nreturn 1;"
},
"auth": "700ca65537074ec963db7efabda78259",
"id": 1
}
响应:
CItemPrototype::update() 方法位于 ui/include/classes/api/services/CItemPrototype.php 文件中。