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

更新

说明

object dashboard.update(object/array dashboards)

此方法用于更新已有仪表盘。

此方法任何类型的用户都可以使用。可以在用户角色设置中撤销用户调用该方法的权限。更多信息请查看用户角色

参数

(object/array) 仪表盘需要被更新的属性

请求中必须传入 dashboardid 属性,除此之外的其他属性都是可选的。只有请求中定义的属性会被更新,其他属性都不会被更新。

除了标准仪表盘属性,此方法还接受以下参数:

参数 类型 说明
pages array 用于替换现有仪表盘页面的仪表盘页面对象。

仪表盘页面通过 dashboard_pageid 属性进行更新。
若未传入 dashboard_pageid 属性,则会创建一个新的仪表盘页面
未使用的仪表盘页面(即 pages 中不包含的仪表盘页面对象)会被删除。
仪表盘页面的顺序与请求中指定的顺序相同
只有仪表盘页面对象中包含的仪表盘页面属性会被更新。
users array 用于替换现有仪表盘用户的仪表盘用户对象。
userGroups array 用于替换现有仪表盘用户组的仪表盘用户组对象。

返回值

(object) 返回一个对象,该对象包含 dashboardids 属性, 代表被更新的仪表盘的 ID。

示例

重命名仪表盘

将仪表盘重命名为:"SQL server status"

请求:

{
           "jsonrpc": "2.0",
           "method": "dashboard.update",
           "params": {
               "dashboardid": "2",
               "name": "SQL server status"
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "dashboardids": [
                   "2"
               ]
           },
           "id": 1
       }

更新仪表盘页面

此请求包含以下操作: - 1、重命名第一个仪表盘页面 - 2、替换第二个仪表盘页面的组件 - 3、新增一个仪表盘页面作为第三个仪表盘页面 - 4、删除其他所有仪表盘页面

请求:

{
           "jsonrpc": "2.0",
           "method": "dashboard.update",
           "params": {
               "dashboardid": "2",
               "pages": [
                   {
                       "dashboard_pageid": 1,
                       "name": "Renamed Page"
                   },
                   {
                       "dashboard_pageid": 2,
                       "widgets": [
                           {
                               "type": "clock",
                               "x": 0,
                               "y": 0,
                               "width": 12,
                               "height": 3
                           }
                       ]
                   },
                   {
                       "display_period": 60
                   }
               ]
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "dashboardids": [
                   "2"
               ]
           },
           "id": 1
       }

修改仪表盘所有者

此请求只允许管理员和超级管理员发起

请求:

{
           "jsonrpc": "2.0",
           "method": "dashboard.update",
           "params": {
               "dashboardid": "2",
               "userid": "1"
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "dashboardids": [
                   "2"
               ]
           },
           "id": 1
       }

参考

来源

ui/include/classes/api/services/CDashboard.php 中的 CDashboard::update()