12 Экспорт/импорт конфигурации

Обзор

Функциональность экспорта/импорта в Zabbix позволяет обмениваться различными сущностями конфигурации между одной системой Zabbix и другой.

Типичные варианты использования этой функциональности:

  • совместное использование шаблонов или карт сети — пользователи Zabbix могут делиться своими параметрами конфигурации
  • загрузка шаблона в Zabbix Community templates. Затем другие пользователи смогут скачать шаблон и импортировать файл в Zabbix.
  • интеграция со сторонними инструментами — универсальные форматы YAML, XML и JSON позволяют выполнять интеграцию, а также импорт/экспорт данных с помощью сторонних инструментов и приложений
Что можно импортировать / экспортировать

Объекты, которые можно импортировать / экспортировать:

Формат экспорта

Данные можно экспортировать при помощи веб-интерфейса Zabbix или Zabbix API. Поддерживаемые форматы экспорта: YAML, XML и JSON.

Подробности об экспорте

  • Все поддерживаемые элементы экспортируются в один файл.
  • Сущности узла сети и шаблона (элементы данных, триггеры, графики, правила обнаружения), которые наследуются от связанных шаблонов, не экспортируются. Любые изменения, внесённые в эти сущности на уровне узла сети (например, изменённый интервал элемента данных, изменённое регулярное выражение или добавленные прототипы в правило low-level discovery), будут потеряны при экспорте; при импорте все сущности из связанных шаблонов будут созданы заново в соответствии с исходным связанным шаблоном.
  • Сущности, созданные low-level discovery, и любые сущности, зависящие от них, не экспортируются. Например, триггер, созданный для элемента данных, сгенерированного правилом LLD, не будет экспортирован.
  • Если экспортируемый узел сети/шаблон содержит сущности, поддерживающие тайм-ауты, значения тайм-аутов будут экспортированы, если для этих сущностей настроены собственные тайм-ауты.

Дополнительная информация об импорте

  • Импорт останавливается при первой ошибке.
  • При обновлении существующих изображений при импорте изображений поле «тип изображения» игнорируется, т.е. изменить тип изображения посредством импорта невозможно.
  • При импорте хостов/шаблонов с использованием опции «Удалить отсутствующие» макросы хоста/шаблона, отсутствующие в файле импорта, будут удалены из хоста/шаблона после импорта.
  • Пустые теги для элементов, триггеров, графиков, discoveryRules, itemPrototypes, ignorePrototypes, graphPrototypes не имеют смысла, т.е. это то же самое, как если бы они отсутствовали.
  • Если для объектов импортированного хоста/шаблона настроены собственные таймауты, они будут применены; в противном случае будут применены прокси/глобальные таймауты.
  • Импорт поддерживает YAML, XML и JSON, файл импорта должен иметь правильное расширение файла: .yaml и .yml для YAML, .xml для XML и .json для JSON. См. информацию о совместимости о поддерживаемых версиях XML.
  • Импорт поддерживает файлы конфигурации только в кодировке UTF-8 (с [BOM] или без него (https://en.wikipedia.org/wiki/Byte_order_mark)); другие кодировки (UTF16LE, UTF16BE, UTF32LE, UTF32BE и т. д.) приведут к ошибке преобразования импорта.

Базовый формат YAML

Формат экспорта YAML содержит следующие узлы:

  • Корневой узел для экспорта Zabbix в YAML
  • Версия экспорта
zabbix_export:
  version: '8.0'

Другие узлы зависят от экспортируемых объектов.

Формат XML

Формат экспорта XML содержит следующие теги:

  • Заголовок по умолчанию для XML-документов
  • Корневой тег для XML-экспорта Zabbix
  • Версия экспорта
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>8.0</version>
</zabbix_export>

Другие теги зависят от экспортируемых объектов.

Формат JSON

Формат экспорта JSON содержит следующие объекты:

  • Корневой объект для экспорта Zabbix в JSON
  • Версия экспорта
{
    "zabbix_export": {
        "version": "8.0"
    }
}

Другие объекты зависят от экспортируемых объектов.