更新监控项原型

描述

object itemprototype.update(object/array itemPrototypes)

此方法用于更新已存在的监控项原型。

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

参数

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

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

另外见标准监控项原型,此方法接受如下参数。

参数类型描述
applicationsarray要替换当前应用的应用的ID。
preprocessingarray要替换的当前监控项预处理选项。

返回值

(object) 返回一个对象,其中包含 itemids 属性下更新的监控项原型的 ID。

案例

修改监控项原型接口

修改自动发现监控项的主机接口。

请求:

  1. {
  2. · "jsonrpc": "2.0",
  3. · "method": "itemprototype.update",
  4. · "params": {
  5. · "itemid": "27428",
  6. · "interfaceid": "132"
  7. · },
  8. · "auth": "038e1d7b1735c6a5436ee9eae095879e",
  9. · "id": 1
  10. }

返回:

  1. {
  2. · "jsonrpc": "2.0",
  3. · "result": {
  4. · "itemids": [
  5. · "27428"
  6. · ]
  7. · },
  8. · "id": 1
  9. }

更新依赖监控项原型

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

请求:

  1. {
  2. · "jsonrpc": "2.0",
  3. · "method": "itemprototype.update",
  4. · "params": {
  5. · "master_itemid": "25570",
  6. · "itemid": "189030"
  7. · },
  8. · "auth": "700ca65537074ec963db7efabda78259",
  9. · "id": 1
  10. }

返回:

  1. {
  2. · "jsonrpc": "2.0",
  3. · "result": {
  4. · "itemids": [
  5. · "189030"
  6. · ]
  7. · },
  8. · "id": 1
  9. }

更新HTTP代理监控项原型

修改查询字段和移除所有自定义的头部。

请求:

  1. {
  2. · "jsonrpc": "2.0",
  3. · "method": "itemprototype.update",
  4. · "params": {
  5. · "itemid":"28305",
  6. · "query_fields": [
  7. · {
  8. · "random": "qwertyuiopasdfghjklzxcvbnm"
  9. · }
  10. · ],
  11. · "headers": []
  12. · }
  13. · "auth": "700ca65537074ec963db7efabda78259",
  14. · "id": 1
  15. }

返回:

  1. {
  2. · "jsonrpc": "2.0",
  3. · "result": {
  4. · "itemids": [
  5. · "28305"
  6. · ]
  7. · },
  8. · "id": 1
  9. }

更新监控项原型预处理选项

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

请求:

  1. {
  2. · "jsonrpc": "2.0",
  3. · "method": "itemprototype.update",
  4. · "params": {
  5. · "itemid": "44211",
  6. · "preprocessing": [
  7. · {
  8. · "type": "1",
  9. · "params": "4",
  10. · "error_handler": "2",
  11. · "error_handler_params": "5"
  12. · }
  13. · ]
  14. · },
  15. · "auth": "700ca65537074ec963db7efabda78259",
  16. · "id": 1
  17. }

返回:

  1. {
  2. · "jsonrpc": "2.0",
  3. · "result": {
  4. · "itemids": [
  5. · "44211"
  6. · ]
  7. · },
  8. · "id": 1
  9. }

更新监控项原型脚本

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

请求:

  1. {
  2. · "jsonrpc": "2.0",
  3. · "method": "itemprototype.update",
  4. · "params": {
  5. · "itemid": "23865",
  6. · "parameters": [],
  7. · "script": "Zabbix.Log(3, 'Log test');\nreturn 1;"
  8. · },
  9. · "auth": "700ca65537074ec963db7efabda78259",
  10. · "id": 1
  11. }

返回:

  1. {
  2. · "jsonrpc": "2.0",
  3. · "result": {
  4. · "itemids": [
  5. · "23865"
  6. · ]
  7. · },
  8. · "id": 1
  9. }

来源

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