object host.update(object/array hosts)
此方法允许update现有的主机.
此方法仅适用于管理员和超级管理员 用户类型. 调用该方法的权限可以在用户角色 设置中撤销. 更多信息请参阅User roles.
(object/array) 主机 待更新的属性
hostid属性必须为每个主机定义,其他所有 属性是可选的。仅更新给定的属性,所有 其他将保持不变。
请注意,更新主机技术名称也将update 主机的可见名称(如果未提供或为空)则显示主机的技术名称 名称值
除了主机之外,该方法 接受以下参数。
| 参数 | 数据类型 | 描述 |
|---|---|---|
| groups | object/array | 主机 主机组 用于替换当前 主机 组 主机 所属的组。 主机 组必须定义 groupid 属性。请求中未列出的所有 主机 组将被取消关联。 |
| interfaces | object/array | 主机 interfaces 用于替换当前的 主机 接口。 所有未在请求中列出的接口将被移除。 |
| tags | object/array | 主机 主机标签 替换当前的 主机 标签。 请求中未列出的所有标签将被移除。 |
| inventory | object | 主机 主机资产清单 属性。 |
| macros | object/array | User macros 用于替换当前用户宏。 请求中未列出的所有宏将被删除。 |
| templates | object/array | Templates 用于替换当前关联的模板。请求中未列出的所有模板将被解除关联。 模板必须已定义 templateid 属性。 |
| templates_clear | object/array | Templates 取消关联并从 主机 中 clear. 模板必须定义 templateid 属性. |
与Zabbix前端不同,当name(可见 主机名) 等同于 host (技术性 主机名),更新 host 通过 API 不会自动 update name. 两个属性都需要 显式更新。
(object) 返回一个包含更新后主机ID的object, 这些ID位于hostids属性下。
启用 主机 监控,即将其状态设置为0.
请求:
{ "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10126", "status": 0 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }响应:
从主机取消关联并clear两个模板.
请求:
{ "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10126", "templates_clear": [ { "templateid": "10124" }, { "templateid": "10125" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }响应:
将所有主机宏替换为两个新的。
请求:
{ "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10126", "macros": [ { "macro": "{$PASS}", "value": "password" }, { "macro": "{$DISC}", "value": "sda", "description": "Updated description" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }响应:
变更资产清单模式并添加位置
请求:
{ "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10387", "inventory_mode": 0, "inventory": { "location": "Latvia, Riga" } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }响应:
将所有主机标签替换为新的标签.
请求:
{ "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10387", "tags": { "tag": "OS", "value": "RHEL 7" } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }响应:
将主机 "10590"更新为仅对从主机到Zabbix server的连接使用PSK加密,并更改PSK标识和PSK密钥。 注意主机必须为为服务器agent通信配置psk示例。
请求:
{ "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10590", "tls_connect": 1, "tls_accept": 2, "tls_psk_identity": "PSK 002", "tls_psk": "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }响应:
CHost::update() 位于 ui/include/classes/api/services/CHost.php 文件中。