configuratie.importvergelijk

Beschrijving

array configuration.importcompare(object parameters)

Met deze methode kunt u een importbestand vergelijken met de huidige systeemelementen en zien wat er zal veranderen als dit importbestand wordt geïmporteerd.

Deze methode is beschikbaar voor gebruikers van elk type. Toestemmingen om de methode te gebruiken kunnen worden ingetrokken in de gebruikersrolinstellingen. Zie Gebruikersrollen voor meer informatie.

Parameters

(object) Parameters die de mogelijke gegevens bevatten die geïmporteerd kunnen worden en regels over hoe de gegevens moeten worden behandeld.

Parameter Type Beschrijving
format
(verplicht)
string Indeling van de geserialiseerde string.

Mogelijke waarden:
yaml - YAML;
xml - XML;
json - JSON.
source
(verplicht)
string Geserialiseerde string die de configuratiegegevens bevat.
rules
(verplicht)
object Regels voor hoe nieuwe en bestaande objecten moeten worden geïmporteerd.

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

Als er geen regels worden gegeven, zal er niets zijn om bij te werken en zal het resultaat leeg zijn.

De vergelijking wordt alleen uitgevoerd 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 Beschrijving
discoveryRules object Regels voor het importeren van LLD-regels.

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

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

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

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

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

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

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

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

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

Ondersteunde parameters:
createMissing - (boolean) als ingesteld op true, worden er nieuwe plattegronden aangemaakt; standaard: false;
updateExisting - (boolean) als ingesteld op true, worden bestaande plattegronden bijgewerkt; standaard: false.

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

Ondersteunde parameters:
createMissing - (boolean) als ingesteld op true, worden er nieuwe mediatypes aangemaakt; standaard: false;
updateExisting - (boolean) als ingesteld op true, worden bestaande mediatypes bijgewerkt; standaard: false.

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

Ondersteunde parameters:
createMissing - (boolean) als ingesteld op true, worden sjablonen die niet zijn gekoppeld aan de geïmporteerde host of sjabloon, maar aanwezig zijn in de geïmporteerde gegevens, gekoppeld; standaard: false;
deleteMissing - (boolean) als ingesteld op true, worden sjablonen die zijn gekoppeld aan de geïmporteerde host of sjabloon, maar niet aanwezig zijn in de geïmporteerde gegevens, losgekoppeld zonder entiteiten te verwijderen (items, triggers, enz.) die zijn overgeërfd van de losgekoppelde sjablonen; standaard: false.
templates object Regels voor het importeren van sjablonen.

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

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

Ondersteunde parameters:
createMissing - (boolean) als ingesteld op true, worden er nieuwe triggers aangemaakt; standaard: false;
updateExisting - (boolean) als ingesteld op true, worden bestaande triggers bijgewerkt; standaard: false;
deleteMissing - (boolean) als ingesteld op true, worden triggers die niet aanwezig zijn in de geïmporteerde gegevens, verwijderd uit de database; standaard: false.
valueMaps object Regels voor het importeren van waarde-toewijzingen van hosts of sjablonen.

Ondersteunde parameters:
createMissing - (boolean) als ingesteld op true, worden er nieuwe waarde-toewijzingen aangemaakt; standaard: false;
updateExisting - (boolean) als ingesteld op true, worden bestaande waarde-toewijzingen bijgewerkt; standaard: false;
deleteMissing - (boolean) als ingesteld op true, worden waarde-toewijzingen die niet aanwezig zijn in de geïmporteerde gegevens, verwijderd uit de database; standaard: false.

Teruggegeven waarden

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

Voorbeelden

Het vergelijken van het importeren 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
                   },
                   "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.0</version><date>2023-01-01T12:30:00Z</date><groups><group><uuid>7df96b18c230490a9a0a9e2307226338</uuid><name>Templates</name></group></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"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Antwoord:

{
           "jsonrpc": "2.0",
           "result": {
               "templates": {
                   "updated": [
                       {
                           "before": {
                               "uuid": "5aef0444a82a4d8cb7a95dc4c0c85330",
                               "template": "New template",
                               "name": "New template"
                           },
                           "after": {
                               "uuid": "5aef0444a82a4d8cb7a95dc4c0c85330",
                               "template": "New template",
                               "name": "New template"
                           },
                           "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.