Eksport/import konfiguracji

Omówienie

Funkcja eksportu/importu Zabbixa umożliwia wymianę różnych obiektów konfiguracji między jednym systemem Zabbix a innym.

Typowe przypadki użycia tej funkcji:

  • udostępnianie szablonów lub map sieciowych - użytkownicy Zabbixa mogą udostępniać swoje parametry konfiguracji
  • przesłanie szablonu do Zabbix Community templates. Następnie inni mogą pobrać szablon i zaimportować plik do Zabbixa.
  • integracja z narzędziami firm trzecich - uniwersalne formaty YAML, XML i JSON umożliwiają integrację oraz import/eksport danych z narzędziami i aplikacjami firm trzecich
Co można eksportować/importować

Obiekty, które można eksportować/importować, to:

Format eksportu

Dane można eksportować za pomocą frontend Zabbix lub Zabbix API. Obsługiwane formaty eksportu to YAML, XML i JSON.

Szczegóły dotyczące eksportu

  • Wszystkie obsługiwane elementy są eksportowane do jednego pliku.
  • Encje hosta i szablonu (pozycje, wyzwalacze, wykresy, reguły wykrywania), które są dziedziczone z powiązanych szablonów, nie są eksportowane. Wszelkie zmiany wprowadzone w tych encjach na poziomie hosta (takie jak zmieniony interwał pozycji, zmodyfikowane wyrażenie regularne lub dodane prototypy do reguły wykrywania niskiego poziomu) zostaną utracone podczas eksportu; podczas importu wszystkie encje z powiązanych szablonów są odtwarzane tak jak w oryginalnym powiązanym szablonie.
  • Encje utworzone przez wykrywanie niskiego poziomu oraz wszelkie encje od nich zależne nie są eksportowane. Na przykład wyzwalacz utworzony dla pozycji wygenerowanej przez regułę LLD nie zostanie wyeksportowany.
  • Gdy eksportowany host/szablon zawiera encje obsługujące limity czasu, wartości limitów czasu zostaną wyeksportowane, jeśli dla tych encji skonfigurowano własne limity czasu.

Szczegóły dotyczące importu

  • Import zatrzymuje się przy pierwszym błędzie.
  • Podczas aktualizacji istniejących obrazów w trakcie importu obrazów pole "imagetype" jest ignorowane, tzn. nie można zmienić typu obrazu za pomocą importu.
  • Podczas importowania hostów/szablonów z użyciem opcji "Delete missing" makra hosta/szablonu, których nie ma w pliku importu, zostaną usunięte z hosta/szablonu po imporcie.
  • Puste tagi dla pozycji, wyzwalaczy, wykresów, discoveryRules, itemPrototypes, triggerPrototypes, graphPrototypes nie mają znaczenia, tzn. jest tak, jakby ich nie było.
  • Jeśli encje importowanego hosta/szablonu mają skonfigurowane własne limity czasu, zostaną one zastosowane; w przeciwnym razie zostaną zastosowane limity czasu proxy/globalne.
  • Import obsługuje YAML, XML i JSON, a plik importu musi mieć poprawne rozszerzenie: .yaml i .yml dla YAML, .xml dla XML oraz .json dla JSON. Informacje o obsługiwanych wersjach XML znajdują się w informacjach o zgodności.
  • Import obsługuje pliki konfiguracyjne wyłącznie w kodowaniu UTF-8 (z BOM lub bez niego); inne kodowania (UTF16LE, UTF16BE, UTF32LE, UTF32BE itd.) spowodują błąd konwersji importu.

Podstawowy format YAML

Format eksportu YAML zawiera następujące węzły:

  • Węzeł główny dla eksportu YAML Zabbix
  • Wersja eksportu
zabbix_export:
  version: '8.0'

Pozostałe węzły zależą od eksportowanych obiektów.

Format XML

Format eksportu XML zawiera następujące tagi:

  • Domyślny nagłówek dla dokumentów XML
  • Tag główny dla eksportu XML Zabbix
  • Wersja eksportu
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>8.0</version>
</zabbix_export>

Pozostałe tagi zależą od eksportowanych obiektów.

Format JSON

Format eksportu JSON zawiera następujące obiekty:

  • Obiekt główny dla eksportu JSON Zabbix
  • Wersja eksportu
{
    "zabbix_export": {
        "version": "8.0"
    }
}

Pozostałe obiekty zależą od eksportowanych obiektów.