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

批量更新主机

描述

object host.massupdate(object parameters)

该方法可以在多台主机上同时替换或移除相关对象和更新属性。

这个方法仅允许 管理员超级管理员 用户类型。可以在用户角色中撤销调用方法的权限设置。详情参考 用户角色获取更多信息。

参数

(object) 参数包含要更新的主机id和应该更新的属性。

除了标准主机属性以外,此方法可以接受以下参数:

参数 类型 描述
hosts object/array 需要更新的主机

主机只能使用hostid 属性定义。

参数行为:
- 必须
groups object/array 需要替换当前主机组的主机组

主机组只能使用 groupid 属性定义。
interfaces object/array 需要替换当前主机接口的主机接口
inventory object 主机资产清单 属性。

主机资产清单模式不能使用 inventory 参数, 使用 inventory_mode 参数替代。
macros object/array 需要替换当前用户宏的用户宏
templates object/array 需要替换当前主机链接模版的模板

模板只能使用 templateid 属性定义。
templates_clear object/array 从指定主机取消链接并清理的模板

模板只能使用 templateid 属性定义。

返回值

(object) 返回一个对象,该对象包含更新的主机的 hostids 属性。

示例

启用多个主机

启用两台主机的监控,将他们的状态设为 "0"。

请求:

{
           "jsonrpc": "2.0",
           "method": "host.massupdate",
           "params": {
               "hosts": [
                   {
                       "hostid": "69665"
                   },
                   {
                       "hostid": "69666"
                   }
               ],
               "status": 0
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "69665",
                   "69666"
               ]
           },
           "id": 1
       }

另见

源码

CHost::massUpdate() in ui/include/classes/api/services/CHost.php.