这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

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 对象支持如下参数

参数 类型 说明
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
       }

响应:

{
           "jsonrpc": "2.0",
           "result": true,
           "id": 1
       }

来源

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