2022 Zabbix中国峰会
2022 Zabbix中国峰会

更新

说明

object item.update(object/array items)

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

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

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

说明

(object/array) 监控项目标更新属性.

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

除了 标准监控项属性 之外,此方法同样适用以下参数。

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

返回值

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

示例

启用监控项

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

请求:

{
           "jsonrpc": "2.0",
           "method": "item.update",
           "params": {
               "itemid": "10092",
               "status": 0
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

响应:

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

更新依赖监控项

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

请求:

{
           "jsonrpc": "2.0",
           "method": "item.update",
           "params": {
               "name": "Dependent item updated name",
               "master_itemid": "25562",
               "itemid": "189019"
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

更新:

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

更新 HTTP agent 监控项

启用监控项状态值捕获。

请求:

{
           "jsonrpc": "2.0",
           "method": "item.update",
           "params": {
               "itemid": "23856",
               "allow_traps": "1"
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

响应:

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

更新监控项预处理

更新监控项预处理规则为 “In range” 。

请求:

{
           "jsonrpc": "2.0",
           "method": "item.update",
           "params": {
               "itemid": "23856",
               "preprocessing": [
                   {
                       "type": "13",
                       "params": "\n100",
                       "error_handler": "1",
                       "error_handler_params": ""
                   }
               ]
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

响应:

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

更新脚本监控项

更新脚本监控项为其他脚本,并删除在旧脚本中使用的非必要参数。

请求:

{
           "jsonrpc": "2.0",
           "method": "item.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
       }

源码

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