Documentation

Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

configuration.import

Описание

логический configuration.import(объект параметры)

Этот метод позволяет импортировать данные конфигурации из сериализованной строки.

Параметры

(объект) Параметры, которые содержат импортируемые данные конфигурации и правила каким образом необходимо обрабатывать эти данные.

Параметр Тип Описание
format
(требуется)
строка Формат сериализованной строки.

Возможные значения:
json - JSON;
xml - XML.
source
(требуется)
строка Сериализованная строка, которая содержит данные конфигурации.
rules
(требуется)
объект Правила, каким образом необходимо импортировать новые и существующие объекты.

Параметр rules детально описан в таблице ниже.

Если правила не заданы, конфигурация не будет обновляться.

Объект rules поддерживает следующие параметры.

Параметр Тип Описание
applications объект Правила, каким образом импортировать группы элементов данных.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые группы элементов данных; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие группы элементов данных будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие группы элементов данных в импортируемых данных будут удалены из базы данных; по умолчанию: false.
discoveryRules объект Правила, каким образом импортировать LLD правила.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые LLD правила; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие LLD правила будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие LLD правила в импортируемых данных будут удалены из базы данных; по умолчанию: false.
graphs объект Правила, каким образом импортировать графики.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые графики; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие графики будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие графики в импортируемых данных будут удалены из базы данных; по умолчанию: false.
groups объект Правила, каким образом импортировать группы узлов сети.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые группы узлов сети; по умолчанию: false.
hosts объект Правила, каким образом импортировать узлы сети.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые узлы сети; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие узлы сети будут обновлены; по умолчанию: false.
images объект Правила, каким образом импортировать изображения.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые изображения; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие изображения будут обновлены; по умолчанию: false.
items объект Правила, каким образом импортировать элементы данных.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые элементы данных; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие элементы данных будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие элементы данных в импортируемых данных будут удалены из базы данных; по умолчанию: false.
maps объект Правила, каким образом импортировать карты сетей.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые карты сетей; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие карты сетей будут обновлены; по умолчанию: false.
screens объект Правила, каким образом импортировать комплексные экраны.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые комплексные экраны; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие комплексные экраны будут обновлены; по умолчанию: false.
templateLinkage объект Правила, каким образом импортировать соединения с шаблонами.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые соединения между шаблонами и узлами сети; по умолчанию: false.
templates объект Правила, каким образом импортировать шаблоны.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые шаблоны; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие шаблоны будут обновлены; по умолчанию: false.
templateScreens объект Правила, каким образом импортировать комплексные экраны шаблонов.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые комплексные экраны шаблонов; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие комплексные экраны шаблонов будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие комплексные экраны шаблонов в импортируемых данных будут удалены из базы данных; по умолчанию: false.
triggers объект Правила, каким образом импортировать триггеры.

Поддерживаемые параметры:
createMissing - (логический) Если задано значение true, будут созданы новые триггеры; по умолчанию: false;
updateExisting - (логический) Если задано значение true, существующие триггеры будут обновлены; по умолчанию: false;
deleteMissing - (логический) если задано значение true, отсутствующие триггеры в импортируемых данных будут удалены из базы данных; по умолчанию: false.

Возвращаемые значения

(логический) Возвращает true при успешном импорте.

Примеры

Импорт узлов сети с элементами данных

Импорт узлов сети и элементов данных, которые имеются в строке XML. Если какие-либо элементы данных отсутствуют в XML, они будут удалены из базы данных, всё остальное останется не тронутым.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "configuration.import",
           "params": {
               "format": "xml",
               "rules": {
                   "hosts": {
                       "createMissing": true,
                       "updateExisting": true
                   },
                   "items": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   }
               },
               "source": "<!--?xml version=\"1.0\" encoding=\"UTF-8\"?-→<zabbix_export><version>2.0</version><date>2012-04-18T11:20:14Z</date><groups><group><name>Zabbix servers</name></group></groups><hosts><host><host>Export host</host><name>Export host</name><proxyid>0</proxyid><status>0</status><ipmi_authtype>-1</ipmi_authtype><ipmi_privilege>2</ipmi_privilege><ipmi_username></ipmi_username><ipmi_password></ipmi_password><templates></templates><groups><group><name>Zabbix servers</name></group></groups><interfaces><interface><default>1</default><type>1</type><useip>1</useip><ip>127.0.0.1</ip><dns></dns><port>10050</port><interface_ref>if1</interface_ref></interface></interfaces><applications><application><name>Application</name></application></applications><items><item><name>Item</name><type>0</type><snmp_community></snmp_community><multiplier>0</multiplier><snmp_oid></snmp_oid><key>item.key</key><delay>30</delay><history>90</history><trends>365</trends><status>0</status><value_type>3</value_type><allowed_hosts></allowed_hosts><units></units><delta>0</delta><snmpv3_securityname></snmpv3_securityname><snmpv3_securitylevel>0</snmpv3_securitylevel><snmpv3_authpassphrase></snmpv3_authpassphrase><snmpv3_privpassphrase></snmpv3_privpassphrase><formula>1</formula><delay_flex></delay_flex><params></params><ipmi_sensor></ipmi_sensor><data_type>0</data_type><authtype>0</authtype><username></username><password></password><publickey></publickey><privatekey></privatekey><port></port><description></description><inventory_link>0</inventory_link><applications><application><name>Application</name></application></applications><valuemap></valuemap><interface_ref>if1</interface_ref></item></items><discovery_rules></discovery_rules><macros></macros><inventory></inventory></host></hosts><triggers><trigger><expression>{Export host:item.key.last()}=0</expression><name>Trigger</name><url></url><status>0</status><priority>2</priority><description>Host trigger</description><type>0</type><dependencies></dependencies></trigger></triggers><graphs><graph><name>Graph</name><width>900</width><height>200</height><yaxismin>0.0000</yaxismin><yaxismax>100.0000</yaxismax><show_work_period>1</show_work_period><show_triggers>1</show_triggers><type>0</type><show_legend>1</show_legend><show_3d>0</show_3d><percent_left>0.0000</percent_left><percent_right>0.0000</percent_right><ymin_type_1>0</ymin_type_1><ymax_type_1>0</ymax_type_1><ymin_item_1>0</ymin_item_1><ymax_item_1>0</ymax_item_1><graph_items><graph_item><sortorder>0</sortorder><drawtype>0</drawtype><color>C80000</color><yaxisside>0</yaxisside><calc_fnc>7</calc_fnc><type>0</type><item><host>Export host</host><key>item.key</key></item></graph_item></graph_items></graph></graphs></zabbix_export>"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

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

Исходный код

CConfiguration::import() в frontends/php/include/classes/api/services/CConfiguration.php.