configuratie.importvergelijking

The method configuration.importcompare allows you to compare an import file with the current system elements and see what changes would occur if the import file were to be imported. This can help you understand the impact of importing the configuration changes without actually applying them to the system.

Please note that this method is available to users of any type, but permissions to call the method can be controlled through user role settings.

For more information on how to use this method and its parameters, you can refer to the official Zabbix documentation.

Parameters

(object) Parameters met de mogelijke gegevens om te importeren en de regels voor hoe de gegevens moeten worden verwerkt.

Parameter Type Omschrijving
format string Formaat van de geserialiseerde string.

Mogelijke waarden:
yaml - YAML;
xml - XML;
json - JSON.

Gedrag van de parameter:
- verplicht
source string Geserialiseerde string met de configuratiegegevens.

Gedrag van de parameter:
- verplicht
rules object Regels over hoe nieuwe en bestaande objecten moeten worden vergeleken.

De parameter rules wordt in detail beschreven in de onderstaande tabel.

Gedrag van de parameter:
- verplicht

Als er geen regels worden opgegeven, is er niets om bij te werken en is het resultaat leeg.

Vergelijking wordt alleen gedaan voor hostgroepen en sjablonen. Triggers en grafieken worden alleen vergeleken voor geïmporteerde sjablonen, alle andere worden beschouwd als "nieuw".

Het rules-object ondersteunt de volgende parameters.

Parameter Type Omschrijving
discoveryRules object Regels voor het importeren van LLD-regels (Low-Level Discovery).

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe LLD-regels gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande LLD-regels bijgewerkt; standaard: false;
deleteMissing - (boolean) als dit is ingesteld op true, worden LLD-regels die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: false.
graphs object Regels voor het importeren van grafieken.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe grafieken gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande grafieken bijgewerkt; standaard: false;
deleteMissing - (boolean) als dit is ingesteld op true, worden grafieken die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: false.
host_groups object Regels voor het importeren van hostgroepen.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe hostgroepen gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande hostgroepen bijgewerkt; standaard: false.
template_groups object Regels voor het importeren van sjabloongroepen.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe sjabloongroepen gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande sjabloongroepen bijgewerkt; standaard: false.
hosts object Regels voor het importeren van hosts.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe hosts gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande hosts bijgewerkt; standaard: false.

Deze parameter maakt geen verschil voor de output. Het is alleen toegestaan voor consistentie met configuration.import.
httptests object Regels voor het importeren van web scenario's.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe web scenario's gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande web scenario's bijgewerkt; standaard: false;
deleteMissing - (boolean) als dit is ingesteld op true, worden web scenario's die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: false.
images object Regels voor het importeren van afbeeldingen.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe afbeeldingen gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande afbeeldingen bijgewerkt; standaard: false.

Deze parameter maakt geen verschil voor de output. Het is alleen toegestaan voor consistentie met configuration.import.
items object Regels voor het importeren van items.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe items gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande items bijgewerkt; standaard: false;
deleteMissing - (boolean) als dit is ingesteld op true, worden items die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: false.
maps object Regels voor het importeren van kaarten.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe kaarten gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande kaarten bijgewerkt; standaard: false.

Deze parameter maakt geen verschil voor de output. Het is alleen toegestaan voor consistentie met configuration.import.
mediaTypes object Regels voor het importeren van mediatypen.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe mediatypen gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande mediatypen bijgewerkt; standaard: false.

Deze parameter maakt geen verschil voor de output. Het is alleen toegestaan voor consistentie met configuration.import.
templateLinkage object Regels voor het importeren van sjabloonkoppelingen.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden sjablonen die niet zijn gekoppeld aan de geïmporteerde host of sjabloon, maar wel aanwezig zijn in de geïmporteerde gegevens, gekoppeld; standaard: false;
deleteMissing - (boolean) als dit is ingesteld op true, worden sjablonen die zijn gekoppeld aan de geïmporteerde host of sjabloon, maar niet aanwezig zijn in de geïmporteerde gegevens, ontkoppeld zonder entiteiten te verwijderen (items, triggers, etc.) die zijn overgenomen van de ontkoppelde sjablonen; standaard: false.
templates object Regels voor het importeren van sjablonen.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe sjablonen gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande sjablonen bijgewerkt; standaard: false.
templateDashboards object Regels voor het importeren van sjabloon-dashboards.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe sjabloon-dashboards gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande sjabloon-dashboards bijgewerkt; standaard: false;
deleteMissing - (boolean) als dit is ingesteld op true, worden sjabloon-dashboards die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: false.
triggers object Regels voor het importeren van triggers.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe triggers gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande triggers bijgewerkt; standaard: false;
deleteMissing - (boolean) als dit is ingesteld op true, worden triggers die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: false.
valueMaps object Regels voor het importeren van host- of sjabloonwaardekaarten.

Ondersteunde parameters:
createMissing - (boolean) als dit is ingesteld op true, worden nieuwe waardekaarten gemaakt; standaard: false;
updateExisting - (boolean) als dit is ingesteld op true, worden bestaande waardekaarten bijgewerkt; standaard: false;
deleteMissing - (boolean) als dit is ingesteld op true, worden waardekaarten die niet in de geïmporteerde gegevens voorkomen, verwijderd uit de database; standaard: false.

Teruggegeven waarden

(array) Geeft een array terug met wijzigingen in de configuratie die zullen worden uitgevoerd.

Voorbeelden

Vergelijking van de import van een sjabloon

Vergelijk het sjabloon dat is opgenomen in de XML-string met de huidige systeemelementen en laat zien wat er zal veranderen als dit sjabloon wordt geïmporteerd.

Aanvraag:

{
           "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>6.4</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
       }

Reactie:

{
           "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
       }

Bron

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