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.
(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 . |
(array)
Geeft een array terug met wijzigingen in de configuratie die zullen worden doorgevoerd.
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
}
CConfiguratie::importcompare() in ui/include/classes/api/services/CConfiguration.php.