configuration.import

描述

boolean configuration.import(object parameters)

此方法允许使用序列化字符串导入配置数据。

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

Parameters

(object) 参数包含导入的数据以及如何处理数据的规则。

参数类型说明
format
(required)
string序列化字符串的格式

可能的值:
yaml - YAML;
xml - XML;
json - JSON.
source
(required)
string包含配置数据的序列化字符串。
rules
(required)
object新的或现有的对象的导入规则。

rules 参数在下表中进行详细描述

如果没有规则,配置将不被更新。

rules 对象支持如下参数

参数类型说明
discoveryRulesobject导入低级别自动发现(LLD)规则的规则

支持的参数:
createMissing - (boolean) 如果设置为 true,新的低级别自动发现规则(LLD)将会被创建;默认:false
updateExisting - (boolean)如果设置为 true,已有的低级别自动发现规则(LLD)将会被创建;默认:false
deleteMissing - (boolean)如果设置为 true,不在导入数据中的底层自动发现规则将会从数据库中被删除;默认:false。| |graphs|object|导入图表的规则。

支持的参数:
createMissing-(boolean)如果设置为true,新的图表将会被创建;默认:false
updateExisting-(boolean)如何设置为true,已有的图表将会被更新;默认:false
deleteMissing-(boolean)如果设置为true,不在导入数据中的图表将会从数据库中被删除;默认:false。| |groups|object|导入主机组的规则

支持的参数:
createMissing-(boolean)如果设置为true, 新的主机组将会被创建; 默认:false;
updateExisting-(boolean)如果设置为true, 已有的主机组将会被更新; 默认:false.| |hosts|object|导入主机的规则

支持的参数:
createMissing-(boolean)如果设置为true,新的主机将会被创建;默认:false;
updateExisting-(boolean)如果设置为true,现有主机将被更新;默认:false。| |httptests|object|导入web场景的规则

支持的参数:
createMissing-(boolean)如果设置为true,新的web监控场景将会被创建,默认:false
updateExisting-(boolean)如果设置为true,现有的web监控场景将会被更新,默认:false;
deleteMissing-(boolean)如果设置为true,在导入数据中没有的web场景将会从数据库中彻底删除。默认:false
imagesobject导入图片的规则

支持的参数:
createMissing - (boolean) 如果设置为true,新的图片将会被创建;默认:false
updateExisting - (boolean) 如果设置为true, 现有的图片将会被更新; 默认:false
itemsobject导入监控项的规则

支持的参数:
createMissing - (boolean)如果设置为true,新的监控项将会被创建;默认:false;
updateExisting - (boolean) 已有的监控项将会被更新;默认:false;
deleteMissing - (boolean) 不在导入数据中的监控项将会从数据库中被删除;默认:false
mapsobject导入拓扑图的规则。

支持的参数:
createMissing - (boolean)如果设置为 true, 新的拓扑图将会被创建; 默认: false;
updateExisting - (boolean) 如果设置为true, 现有的拓扑图将被更新; 默认: false.
mediaTypesobject导入媒介类型的规则

支持参数:
createMissing - (boolean) 如果设置为 true, 新的媒介类型将被创建; 默认: false;
updateExisting - (boolean) 如果设置为true, 现有的媒介类型将被更新; 默认: false.
templateLinkageobject导入模板链接的规则.

支持参数:
createMissing - (boolean) 如果设置为true, 新的模板和主机之间的链接将会被创建; 默认: false;
deleteMissing - (boolean) 如果设置为true, 不在导入数据中的模板链接将会从数据库中被删除; 默认: false.
templatesobject导入模板的规则.

支持参数:
createMissing - (boolean) 如果设置为 true, 新的模板将被创建; 默认: false;
updateExisting - (boolean) 如果设置为true, 已有的模板将被更新; 默认: false.
templateDashboardsobject导入模板仪表板的规则.

支持的参数:
createMissing - (boolean) 如果设置为true, 新的模板仪表板将被创建; 默认: false;
updateExisting - (boolean) 如果设置为 true, 已有的模板仪表板将被更新; 默认: false;
deleteMissing - (boolean) 如果设置为 true, 不在导入数据中的模板仪表板将会从数据库中被删除; 默认: false.
triggersobject导入触发器的规则

支持的参数:
createMissing - (boolean)如果设置为 true, 新的触发器将被创建; 默认: false;
updateExisting - (boolean) 如果设置为true, 已有的触发器将被更新; 默认: false;
deleteMissing - (boolean) 如果设置为true,不在导入数据中的触发器将会从数据库中被删除; 默认: false.
valueMapsobject导入值映射的规则.

支持的参数:
createMissing - (boolean) 如果设置为 true, 新的值映射将被创建; 默认: false;
updateExisting - (boolean) 如果设置为true, 已有的值映射将被更新; 默认: false;
deleteMissing - (boolean) 如果设置为true, 不在导入数据中的值映射将会从数据库中被删除; 默认: false.

返回值

(boolean)如果导入成功将返回 true

示例

导入主机和监控项

导入的主机和监控项包含在 XML 字符串中。 如果在 XML 中遗漏了任何监控项,这些监控项将会在数据库中被删除,其他的则不改变。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "configuration.import",
  4. "params": {
  5. "format": "xml",
  6. "rules": {
  7. "valueMaps": {
  8. "createMissing": true,
  9. "updateExisting": false
  10. },
  11. "hosts": {
  12. "createMissing": true,
  13. "updateExisting": true
  14. },
  15. "items": {
  16. "createMissing": true,
  17. "updateExisting": true,
  18. "deleteMissing": true
  19. }
  20. },
  21. "source": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<zabbix_export><version>5.4</version><date>2020-03-13T15:31:45Z</date><groups><group><uuid>6f6799aa69e844b4b3918f779f2abf08</uuid><name>Zabbix servers</name></group></groups><hosts><host><host>Export host</host><name>Export host</name><groups><group><name>Zabbix servers</name></group></groups><interfaces><interface><interface_ref>if1</interface_ref></interface></interfaces><items><item><name>Item</name><key>item.key</key><delay>30s</delay><valuemap><name>Host status</name></valuemap><interface_ref>if1</interface_ref><request_method>POST</request_method></item></items><valuemaps><valuemap><name>Host status</name><mappings><mapping><value>0</value><newvalue>Up</newvalue></mapping><mapping><value>2</value><newvalue>Unreachable</newvalue></mapping></mappings></valuemap></valuemaps></host></hosts></zabbix_export>"
  22. },
  23. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  24. "id": 1
  25. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": true,
  4. "id": 1
  5. }

来源

CConfiguration::import() in ui/include/classes/api/services/CConfiguration.php.