更新

说明

object item.update(object/array items)

此方法用于更新既存监控项。

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

此方法仅允许 Admin(管理员)Super admin(超级管理员) 类型的用户使用。调用此方法的权限可以在用户角色设置中撤销。更多信息请参阅 用户角色

参数

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

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

除了标准监控项属性,此方法接受以下参数。

参数类型描述
preprocessingarray监控项预处理选项,用于替换当前的预处理选项。

参数行为
- 对于继承对象或发现对象为只读
tagsarray监控项标签

参数行为
- 对于发现对象为只读

返回值

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

示例

启用监控项

启用监控项,且将其状态设置为 “0” 。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.update",
  4. "params": {
  5. "itemid": "10092",
  6. "status": 0
  7. },
  8. "id": 1
  9. }

响应:

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

更新依赖监控项

更新依赖监控项名称和主监控项 ID。仅允许依赖于同一主机,因此主监控项和依赖监控项应具有相同的主机 ID。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.update",
  4. "params": {
  5. "name": "Dependent item updated name",
  6. "master_itemid": "25562",
  7. "itemid": "189019"
  8. },
  9. "id": 1
  10. }

响应:

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

更新 HTTP 客户端监控项

启用监控项状态值捕获。

请求

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.update",
  4. "params": {
  5. "itemid": "23856",
  6. "allow_traps": 1
  7. },
  8. "id": 1
  9. }

响应:

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

更新监控项预处理

更新一个应用了“在范围内”预处理规则的监控项。

请求

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.update",
  4. "params": {
  5. "itemid": "23856",
  6. "preprocessing": [
  7. {
  8. "type": 13,
  9. "params": "\n100",
  10. "error_handler": 1,
  11. "error_handler_params": ""
  12. }
  13. ]
  14. },
  15. "id": 1
  16. }

响应:

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

更新脚本监控项

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

请求

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

响应:

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

源码

ui/include/classes/api/services/CItem.php - CItem::update()