12 Konfigurations-Export/-Import

Überblick

Die Zabbix-Export/Import-Funktion ermöglicht den Austausch verschiedener Konfigurationen zwischen zwei Zabbix-Systemen.

Typische Anwendungsfälle für diese Funktionalität sind:

  • Austausch von Vorlagen oder Netzwerkkarten - Zabbix-Benutzer können ihre Konfigurationsparameter austauschen
  • eine Vorlage in Zabbix Community templates hochladen. Dann können andere die Vorlage herunterladen und die Datei in Zabbix importieren.
  • Integration mit Drittanbieter-Tools - universelle YAML-, XML- und JSON-Formate ermöglichen die Integration und den Datenimport/-export mit Drittanbieter Tools und Anwendungen
Was kann exportiert/importiert werden?

Objekte, die exportiert/importiert werden können, sind:

Exportformat

Die Daten können über das Zabbix-Webfrontend oder die Zabbix API. Unterstützte Exportformate sind YAML, XML und JSON.

Details zum Export

  • Alle unterstützten Elemente werden in eine Datei exportiert.
  • Von verknüpften Vorlagen geerbte Host- und Vorlagen-Entitäten (Datenpunkte, Auslöser, Graphen, Discovery-Regeln) werden nicht exportiert. Alle Änderungen, die an diesen Entitäten auf Host-Ebene vorgenommen wurden (z. B. geändertes Datenpunkt-Intervall, geänderter regulärer Ausdruck oder hinzugefügte Prototypen zur Low-Level-Discovery-Regel), gehen beim Export verloren; beim Import werden alle Entitäten aus verknüpften Vorlagen wie in der ursprünglich verknüpften Vorlage neu erstellt.
  • Durch Low-Level-Discovery erstellte Entitäten sowie alle von ihnen abhängigen Entitäten werden nicht exportiert. Zum Beispiel wird ein für einen durch eine LLD-Regel erzeugten Datenpunkt erstellter Auslöser nicht exportiert.
  • Wenn der exportierte Host/die exportierte Vorlage Entitäten enthält, die Timeouts unterstützen, werden die Timeout-Werte exportiert, sofern für diese Entitäten eigene Timeouts konfiguriert sind.

Details zum Import

  • Der Import wird beim ersten Fehler abgebrochen.
  • Beim Aktualisieren vorhandener Bilder während des Bildimports wird das Feld „imagetype“ ignoriert, d. h. es ist nicht möglich, den Bildtyp per Import zu ändern.
  • Beim Importieren von Hosts/Vorlagen mit der Option „Delete missing“ werden Host-/Vorlagen-Makros, die in der Importdatei nicht vorhanden sind, nach dem Import vom Host/von der Vorlage gelöscht.
  • Leere Tags für Datenpunkte, Auslöser, Diagramme, discoveryRules, itemPrototypes, triggerPrototypes, graphPrototypes sind bedeutungslos, d. h. es ist dasselbe, als würden sie fehlen.
  • Wenn Entitäten des importierten Hosts/der importierten Vorlage eigene Timeouts konfiguriert haben, werden diese angewendet; andernfalls werden Proxy-/globale Timeouts angewendet.
  • Der Import unterstützt YAML, XML und JSON; die Importdatei muss die korrekte Dateierweiterung haben: .yaml und .yml für YAML, .xml für XML und .json für JSON. Siehe Kompatibilitätsinformationen zu unterstützten XML-Versionen.
  • Der Import unterstützt Konfigurationsdateien nur in UTF-8-Kodierung (mit oder ohne BOM); andere Kodierungen (UTF16LE, UTF16BE, UTF32LE, UTF32BE usw.) führen zu einem Konvertierungsfehler beim Import.

YAML-Basisformat

Das YAML-Exportformat enthält die folgenden Knoten:

  • Stammknoten für den Zabbix-YAML-Export
  • Exportversion
zabbix_export:
  version: '8.0'

Andere Knoten hängen von den exportierten Objekten ab.

XML-Format

Das XML-Exportformat enthält die folgenden Tags:

  • Standard-Header für XML-Dokumente
  • Root-Tag für den Zabbix-XML-Export
  • Exportversion
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>8.0</version>
</zabbix_export>

Andere Tags hängen von den exportierten Objekten ab.

JSON-Format

Das JSON-Exportformat enthält die folgenden Objekte:

  • Root-Objekt für den Zabbix-JSON-Export
  • Exportversion
{
    "zabbix_export": {
        "version": "8.0"
    }
}

Andere Objekte sind von den exportierten Objekten abhängig.