boolean configuration.import(object parameters)
此方法允许使用序列化字符串导入配置数据。
该方法适用于任何类型的用户。可以在用户角色设置中撤销调用该方法的权限。更多信息请查看用户角色
(object)
参数包含导入的数据以及如何处理数据的规则。
参数 | 类型 | 说明 |
---|---|---|
format (required) |
string | 序列化字符串的格式 可能的值: yaml - YAML;xml - XML;json - JSON. |
source (required) |
string | 包含配置数据的序列化字符串。 |
rules (required) |
object | 新的或现有的对象的导入规则。rules 参数在下表中进行详细描述 |
如果没有规则,配置将不被更新。
rules
对象支持如下参数
参数 | 类型 | 说明 |
---|---|---|
discoveryRules | object | 导入低级别自动发现(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 。 |
images | object | 导入图片的规则 支持的参数: createMissing - (boolean) 如果设置为true ,新的图片将会被创建;默认:false updateExisting - (boolean) 如果设置为true , 现有的图片将会被更新; 默认:false |
items | object | 导入监控项的规则 支持的参数: createMissing - (boolean) 如果设置为true ,新的监控项将会被创建;默认:false ;updateExisting - (boolean) 已有的监控项将会被更新;默认:false ;deleteMissing - (boolean) 不在导入数据中的监控项将会从数据库中被删除;默认:false 。 |
maps | object | 导入拓扑图的规则。 支持的参数: createMissing - (boolean) 如果设置为 true , 新的拓扑图将会被创建; 默认: false ;updateExisting - (boolean) 如果设置为true , 现有的拓扑图将被更新; 默认: false . |
mediaTypes | object | 导入媒介类型的规则 支持参数: createMissing - (boolean) 如果设置为 true , 新的媒介类型将被创建; 默认: false ;updateExisting - (boolean) 如果设置为true , 现有的媒介类型将被更新; 默认: false . |
templateLinkage | object | 导入模板链接的规则. 支持参数: createMissing - (boolean) 如果设置为true , 新的模板和主机之间的链接将会被创建; 默认: false ;deleteMissing - (boolean) 如果设置为true , 不在导入数据中的模板链接将会从数据库中被删除; 默认: false . |
templates | object | 导入模板的规则. 支持参数: createMissing - (boolean) 如果设置为 true , 新的模板将被创建; 默认: false ;updateExisting - (boolean) 如果设置为true , 已有的模板将被更新; 默认: false . |
templateDashboards | object | 导入模板仪表板的规则. 支持的参数: createMissing - (boolean) 如果设置为true , 新的模板仪表板将被创建; 默认: false ;updateExisting - (boolean) 如果设置为 true , 已有的模板仪表板将被更新; 默认: false ;deleteMissing - (boolean) 如果设置为 true , 不在导入数据中的模板仪表板将会从数据库中被删除; 默认: false . |
triggers | object | 导入触发器的规则 支持的参数: createMissing - (boolean) 如果设置为 true , 新的触发器将被创建; 默认: false ;updateExisting - (boolean) 如果设置为true , 已有的触发器将被更新; 默认: false ;deleteMissing - (boolean) 如果设置为true ,不在导入数据中的触发器将会从数据库中被删除; 默认: false . |
valueMaps | object | 导入值映射的规则. 支持的参数: createMissing - (boolean) 如果设置为 true , 新的值映射将被创建; 默认: false ;updateExisting - (boolean) 如果设置为true , 已有的值映射将被更新; 默认: false ;deleteMissing - (boolean) 如果设置为true , 不在导入数据中的值映射将会从数据库中被删除; 默认: false . |
(boolean)
如果导入成功将返回 true
导入的主机和监控项包含在 XML 字符串中。 如果在 XML 中遗漏了任何监控项,这些监控项将会在数据库中被删除,其他的则不改变。
请求:
{
"jsonrpc": "2.0",
"method": "configuration.import",
"params": {
"format": "xml",
"rules": {
"valueMaps": {
"createMissing": true,
"updateExisting": false
},
"hosts": {
"createMissing": true,
"updateExisting": true
},
"items": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
}
},
"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>"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
CConfiguration::import() in ui/include/classes/api/services/CConfiguration.php.