configuration.importcompare
Beschreibung
array configuration.importcompare(object parameters)
Diese Methode ermöglicht es Ihnen, die Importdatei mit den aktuellen Systemelementen zu vergleichen und zeigt an, was geändert wird, wenn diese Importdatei importiert wird.
Diese Methode ist für Benutzer aller Typen verfügbar. Berechtigungen zum Aufrufen der Methode können in den Einstellungen der Benutzerrolle widerrufen werden. Weitere Informationen finden Sie unter Benutzerrollen.
Parameter
(object) Parameter, die die möglichen zu importierenden Daten und die Regeln 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.Parameterverhalten: - erforderlich |
| source | string | Serialisierte Zeichenfolge, die die Konfigurationsdaten enthält. Parameterverhalten: - erforderlich |
| rules | object | Regeln dafür, wie neue und vorhandene Objekte verglichen werden sollen. Benutzer vom Typ Admin und User dürfen neue Objekte nur mit vorhandenen Objekten vergleichen, für die sie über die Berechtigung nur lesen oder lesen und schreiben permission verfügen. Der Parameter rules wird in der folgenden Tabelle ausführlich beschrieben.Parameterverhalten: - erforderlich |
| returnMissingObjects | boolean | Regeln, ob das Antwortobjekt Informationen über fehlende Objekte enthalten soll; Standard: false. |
Wenn keine Regeln angegeben werden, gibt es nichts zu aktualisieren und das Ergebnis ist leer.
Der Vergleich wird nur für Hostgruppen und Vorlagen durchgeführt. Auslöser und Diagramme werden nur für importierte Vorlagen verglichen, alle anderen werden als "neu" betrachtet.
Das Objekt rules unterstützt die folgenden Parameter.
| Parameter | Type | Beschreibung |
|---|---|---|
| dashboards | object | Regeln für den Import von Dashboards. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Dashboards erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt und ein bestimmtes importierbares Dashboard im System vorhanden ist, wird es vollständig aktualisiert. Seiten und Widgets werden vollständig durch die neuen ersetzt; Standard: false. |
| discoveryRules | object | Regeln für den Import von LLD-Regeln. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue LLD-Regeln erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene LLD-Regeln aktualisiert; Standard: false;deleteMissing - (boolean) wenn auf true gesetzt, werden in den importierten Daten nicht vorhandene LLD-Regeln aus der Datenbank gelöscht; Standard: false. |
| global_regexes | object | Regeln für den Import globaler regulärer Ausdrücke. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue globale reguläre Ausdrücke erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene globale reguläre Ausdrücke aktualisiert, wobei ihre Unterausdrücke vollständig überschrieben werden; Standard: false. |
| graphs | object | Regeln für den Import von Diagrammen. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Diagramme erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Diagramme aktualisiert; Standard: false;deleteMissing - (boolean) wenn auf true gesetzt, werden in den importierten Daten nicht vorhandene Diagramme aus der Datenbank gelöscht; Standard: false. |
| host_groups | object | Regeln für den Import von Hostgruppen. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Hostgruppen erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Hostgruppen aktualisiert; Standard: false. |
| httptests | object | Regeln für den Import von Web-Szenarien. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Web-Szenarien erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Web-Szenarien aktualisiert; Standard: false;deleteMissing - (boolean) wenn auf true gesetzt, werden in den importierten Daten nicht vorhandene Web-Szenarien aus der Datenbank gelöscht; Standard: false. |
| images | object | Regeln für den Import von Bildern. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Bilder erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Bilder aktualisiert; Standard: false.Dieser Parameter hat keine Auswirkung auf die Ausgabe. Er ist nur aus Gründen der Konsistenz mit configuration.import zulässig. |
| items | object | Regeln für den Import von Datenpunkten. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Datenpunkte erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Datenpunkte aktualisiert; Standard: false;deleteMissing - (boolean) wenn auf true gesetzt, werden in den importierten Daten nicht vorhandene Datenpunkte aus der Datenbank gelöscht; Standard: false. |
| maps | object | Regeln für den Import von Karten. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Karten erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Karten aktualisiert; Standard: false.Dieser Parameter hat keine Auswirkung auf die Ausgabe. Er ist nur aus Gründen der Konsistenz mit configuration.import zulässig. |
| mediaTypes | object | Regeln für den Import von Medientypen. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Medientypen erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Medientypen aktualisiert; Standard: false.Dieser Parameter hat keine Auswirkung auf die Ausgabe. Er ist nur aus Gründen der Konsistenz mit configuration.import zulässig. |
| templateDashboards | object | Regeln für den Import von Vorlagen-Dashboards. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Vorlagen-Dashboards erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Vorlagen-Dashboards aktualisiert; Standard: false;deleteMissing - (boolean) wenn auf true gesetzt, werden in den importierten Daten nicht vorhandene Vorlagen-Dashboards aus der Datenbank gelöscht; Standard: false. |
| template_groups | object | Regeln für den Import von Vorlagengruppen. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Vorlagengruppen erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Vorlagengruppen aktualisiert; Standard: false. |
| templateLinkage | object | Regeln für den Import von Vorlagenverknüpfungen. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden Vorlagen, die nicht mit dem zu importierenden Host oder der zu importierenden 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 zu importierenden Host oder der zu importierenden Vorlage verknüpft sind, aber in den importierten Daten nicht vorhanden sind, getrennt, ohne von den getrennten Vorlagen geerbte Entitäten (Datenpunkte, Auslöser usw.) zu entfernen; Standard: false. |
| templates | object | Regeln für den Import von Vorlagen. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Vorlagen erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Vorlagen aktualisiert; Standard: false. |
| triggers | object | Regeln für den Import von Auslösern. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Auslöser erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Auslöser aktualisiert; Standard: false;deleteMissing - (boolean) wenn auf true gesetzt, werden in den importierten Daten nicht vorhandene Auslöser aus der Datenbank gelöscht; Standard: false. |
| valueMaps | object | Regeln für den Import von Wertzuordnungen für Host oder Vorlage. Unterstützte Parameter: createMissing - (boolean) wenn auf true gesetzt, werden neue Wertzuordnungen erstellt; Standard: false;updateExisting - (boolean) wenn auf true gesetzt, werden vorhandene Wertzuordnungen aktualisiert; Standard: false;deleteMissing - (boolean) wenn auf true gesetzt, werden in den importierten Daten nicht vorhandene Wertzuordnungen aus der Datenbank gelöscht; Standard: false. |
Rückgabewerte
(array) Gibt ein Array mit den Änderungen in der Konfiguration zurück, die vorgenommen werden.
Beispiele
Vergleich des Imports einer Vorlage
Vergleichen Sie die in der XML-Zeichenfolge enthaltene Vorlage mit den aktuellen Systemelementen und zeigen Sie, was geändert wird, wenn diese Vorlage importiert wird.
{
"jsonrpc": "2.0",
"method": "configuration.importcompare",
"params": {
"format": "xml",
"rules": {
"discoveryRules": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"graphs": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"host_groups": {
"createMissing": true,
"updateExisting": true
},
"template_groups": {
"createMissing": true,
"updateExisting": true
},
"httptests": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"items": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"templateLinkage": {
"createMissing": true,
"deleteMissing": true
},
"templates": {
"createMissing": true,
"updateExisting": true
},
"templateDashboards": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"triggers": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"valueMaps": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
}
},
"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><delay>3m</delay></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><dt>Server uptime: (.*)</dt></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>648006da5971424ead0c47ddbbf1ea2e</uuid><name>CPU utilization</name><key>system.cpu.util</key><value_type>FLOAT</value_type><units>%</units><triggers><trigger><uuid>736225012c534ec480c2a66a91322ce0</uuid><expression>avg(/New template/system.cpu.util,3m)>70</expression><name>CPU utilization too high on 'New 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": {
"templates": {
"updated": [
{
"before": {
"uuid": "5aef0444a82a4d8cb7a95dc4c0c85330",
"template": "New template",
"name": "New template",
"groups": [
{
"name": "Templates"
}
]
},
"after": {
"uuid": "5aef0444a82a4d8cb7a95dc4c0c85330",
"template": "New template",
"name": "New template",
"groups": [
{
"name": "Templates"
}
]
},
"items": {
"added": [
{
"after": {
"uuid": "648006da5971424ead0c47ddbbf1ea2e",
"name": "CPU utilization",
"key": "system.cpu.util",
"value_type": "FLOAT",
"units": "%"
},
"triggers": {
"added": [
{
"after": {
"uuid": "736225012c534ec480c2a66a91322ce0",
"expression": "avg(/New template/system.cpu.util,3m)>70",
"name": "CPU utilization too high on 'New host' for 3 minutes",
"priority": "WARNING"
}
}
]
}
}
],
"removed": [
{
"before": {
"uuid": "6805d4c39a624a8bab2cc8ab63df1ab3",
"name": "CPU load",
"key": "system.cpu.load",
"value_type": "FLOAT"
},
"triggers": {
"removed": [
{
"before": {
"uuid": "ab4c2526c2bc42e48a633082255ebcb3",
"expression": "avg(/New template/system.cpu.load,3m)>2",
"name": "CPU load too high on 'New host' for 3 minutes",
"priority": "WARNING"
}
}
]
}
}
],
"updated": [
{
"before": {
"uuid": "7f1e6f1e48aa4a128e5b6a958a5d11c3",
"name": "Zabbix agent ping",
"key": "agent.ping"
},
"after": {
"uuid": "7f1e6f1e48aa4a128e5b6a958a5d11c3",
"name": "Zabbix agent ping",
"key": "agent.ping",
"delay": "3m"
}
}
]
}
}
]
}
},
"id": 1
}
Quelle
CConfiguration::importcompare() in ui/include/classes/api/services/CConfiguration.php.