configuration.import

Beschreibung

boolean configuration.import(object parameters)

Diese Methode ermöglicht den Import von Konfigurationsdaten aus einer serialisierten Zeichenkette.

Diese Methode steht Nutzern jeder Art zur Verfügung. Die Berechtigung zum Aufruf der Methode kann in den Benutzerrolleneinstellungen widerrufen werden. Prüfen Sie Benutzerrollen für mehr Informationen.

Parameter

(object) Parameter, die die zu importierenden Daten und Regeln dazu enthalten, wie die Daten verarbeitet werden sollen.

Parameter Type Beschreibung
format string Format der serialisierten Zeichenfolge.

Mögliche Werte:
yaml - YAML;
xml - XML;
json - JSON.

Parameter behavior:
- erforderlich
source string Serialisierte Zeichenfolge mit den Konfigurationsdaten.

Parameter behavior:
- erforderlich
rules object Regeln dazu, wie neue und bestehende Objekte importiert werden sollen.

Benutzer vom Typ Admin dürfen nur die Objekte importieren, für die sie Lese-/Schreib- Berechtigung haben, sowie Karten. Beispielsweise dürfen ein Host und seine Entitäten (Datenpunkte, Auslöser, Diagramme usw.) nur importiert werden, wenn die Benutzergruppe des Benutzers eine Berechtigung für die Hostgruppe hat, zu der der importierte Host gehören wird. Bilder und Medientypen können von Benutzern vom Typ Admin nicht importiert werden.

Der Parameter rules wird in der folgenden Tabelle ausführlich beschrieben.

Parameter behavior:
- erforderlich

Wenn keine Regeln angegeben werden, wird die Konfiguration nicht aktualisiert.

Das Objekt rules unterstützt die folgenden Parameter.

Parameter Type Beschreibung
discoveryRules object Regeln dazu, wie LLD-Regeln importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue LLD-Regeln erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende LLD-Regeln aktualisiert; Standard: false;
deleteMissing - (boolean) wenn auf true gesetzt, werden LLD-Regeln, die in den importierten Daten nicht vorhanden sind, aus der Datenbank gelöscht; Standard: false.
graphs object Regeln dazu, wie Diagramme importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Diagramme erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Diagramme aktualisiert; Standard: false;
deleteMissing - (boolean) wenn auf true gesetzt, werden Diagramme, die in den importierten Daten nicht vorhanden sind, aus der Datenbank gelöscht; Standard: false.
host_groups object Regeln dazu, wie Hostgruppen importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Hostgruppen erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Hostgruppen aktualisiert; Standard: false.
template_groups object Regeln dazu, wie Vorlagengruppen importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Vorlagengruppen erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Vorlagengruppen aktualisiert; Standard: false.
hosts object Regeln dazu, wie Hosts importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Hosts erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Hosts aktualisiert; Standard: false.
httptests object Regeln dazu, wie Webszenarien importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Webszenarien erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Webszenarien aktualisiert; Standard: false;
deleteMissing - (boolean) wenn auf true gesetzt, werden Webszenarien, die in den importierten Daten nicht vorhanden sind, aus der Datenbank gelöscht; Standard: false.
images object Regeln dazu, wie Bilder importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Bilder erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Bilder aktualisiert; Standard: false.
items object Regeln dazu, wie Datenpunkte importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Datenpunkte erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Datenpunkte aktualisiert; Standard: false;
deleteMissing - (boolean) wenn auf true gesetzt, werden Datenpunkte, die in den importierten Daten nicht vorhanden sind, aus der Datenbank gelöscht; Standard: false.
maps object Regeln dazu, wie Karten importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Karten erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Karten aktualisiert; Standard: false.
mediaTypes object Regeln dazu, wie Medientypen importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Medientypen erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Medientypen aktualisiert; Standard: false.
templateLinkage object Regeln dazu, wie Vorlagenverknüpfungen importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden Vorlagen, die nicht mit dem importierten Host oder der importierten Vorlage verknüpft sind, aber in den importierten Daten vorhanden sind, verknüpft; Standard: false;
deleteMissing - (boolean) wenn auf true gesetzt, werden Vorlagen, die mit dem importierten Host oder der importierten Vorlage verknüpft sind, aber in den importierten Daten nicht vorhanden sind, getrennt, ohne dabei von den getrennten Vorlagen geerbte Entitäten (Datenpunkte, Auslöser usw.) zu entfernen; Standard: false.
templates object Regeln dazu, wie Vorlagen importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Vorlagen erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Vorlagen aktualisiert; Standard: false.
templateDashboards object Regeln dazu, wie Vorlagen-Dashboards importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Vorlagen-Dashboards erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Vorlagen-Dashboards aktualisiert; Standard: false;
deleteMissing - (boolean) wenn auf true gesetzt, werden Vorlagen-Dashboards, die in den importierten Daten nicht vorhanden sind, aus der Datenbank gelöscht; Standard: false.
triggers object Regeln dazu, wie Auslöser importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Auslöser erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Auslöser aktualisiert; Standard: false;
deleteMissing - (boolean) wenn auf true gesetzt, werden Auslöser, die in den importierten Daten nicht vorhanden sind, aus der Datenbank gelöscht; Standard: false.
valueMaps object Regeln dazu, wie Wertzuordnungen von Hosts oder Vorlagen importiert werden.

Unterstützte Parameter:
createMissing - (boolean) wenn auf true gesetzt, werden neue Wertzuordnungen erstellt; Standard: false;
updateExisting - (boolean) wenn auf true gesetzt, werden bestehende Wertzuordnungen aktualisiert; Standard: false;
deleteMissing - (boolean) wenn auf true gesetzt, werden Wertzuordnungen, die in den importierten Daten nicht vorhanden sind, aus der Datenbank gelöscht; Standard: false.

Rückgabewerte

(boolean) gibt true zurück, wenn der Importvorgang erfolgreich war.

Beispiele

Importieren einer Vorlage

Importieren Sie die in der XML-Zeichenfolge enthaltene Vorlagenkonfiguration. Falls in der XML-Zeichenfolge Datenpunkte oder Auslöser fehlen, werden diese aus der Datenbank gelöscht, und alles andere bleibt unverändert.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "configuration.import",
    "params": {
        "format": "xml",
        "rules": {
            "templates": {
                "createMissing": true,
                "updateExisting": true
            },
            "items": {
                "createMissing": true,
                "updateExisting": true,
                "deleteMissing": true
            },
            "triggers": {
                "createMissing": true,
                "updateExisting": true,
                "deleteMissing": true
            },
            "valueMaps": {
                "createMissing": true,
                "updateExisting": false
            }
        },
        "source": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<zabbix_export><version>8.0</version><template_groups><template_group><uuid>7df96b18c230490a9a0a9e2307226338</uuid><name>Templates</name></template_group></template_groups><templates><template><uuid>5aef0444a82a4d8cb7a95dc4c0c85330</uuid><template>New template</template><name>New template</name><groups><group><name>Templates</name></group></groups><items><item><uuid>7f1e6f1e48aa4a128e5b6a958a5d11c3</uuid><name>Zabbix agent ping</name><key>agent.ping</key></item><item><uuid>77ba228662be4570830aa3c503fcdc03</uuid><name>Apache server uptime</name><type>DEPENDENT</type><key>apache.server.uptime</key><delay>0</delay><trends>0</trends><value_type>TEXT</value_type><preprocessing><step><type>REGEX</type><parameters><parameter>&lt;dt&gt;Server uptime: (.*)&lt;\/dt&gt;</parameter><parameter>\\1</parameter></parameters></step></preprocessing><master_item><key>web.page.get[127.0.0.1/server-status]</key></master_item></item><item><uuid>6805d4c39a624a8bab2cc8ab63df1ab3</uuid><name>CPU load</name><key>system.cpu.load</key><value_type>FLOAT</value_type><triggers><trigger><uuid>ab4c2526c2bc42e48a633082255ebcb3</uuid><expression>avg(/New template/system.cpu.load,3m)&gt;2</expression><name>CPU load too high on {HOST.HOST} for 3 minutes</name><priority>WARNING</priority></trigger></triggers></item><item><uuid>590efe5731254f089265c76ff9320726</uuid><name>Apache server status</name><key>web.page.get[127.0.0.1/server-status]</key><trends>0</trends><value_type>TEXT</value_type></item></items><valuemaps><valuemap><uuid>8fd5814c45d44a00a15ac6eaae1f3946</uuid><name>Zabbix agent ping</name><mappings><mapping><value>1</value><newvalue>Available</newvalue></mapping><mapping><value>0</value><newvalue>Not available</newvalue></mapping></mappings></valuemap></valuemaps></template></templates></zabbix_export>\n"
    },
    "id": 1
}

Antwort:

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

Quelle

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