configuration.importcompare

Опис

array configuration.importcompare(object parameters)

Овај метод омогућава упоређивање датотеке за увоз са тренутним системским елементима и показује шта ће бити промењено ако се ова увозна датотека увезе.

Овај метод је доступан корисницима било ког типа. Дозволе за позивање методе могу се опозвати у подешавањима улоге корисника. Погледајте User roles за више информација.

Параметри

(object) Параметри који садрже све могуће податке за увози правила како треба поступити са тим подацима.

Parameter Type Description
format string Формат серијализиваног стринга.

Могуће вредности:
yaml - YAML;
xml - XML;
json - JSON.

Parameter behavior:
- обавезно
rules object Правила како треба поредити нове и постојеће објекте.

Parameter behavior:
- обавезно
rules object Правила како треба поредити нове и постојеће објекте.

Параметар rules је описан детаљно у табели испод.

Parameter behavior:
- обавезно

Ако нису дата правила, неће бити ничега да се ажурира и резултат ће бити празан.

Поређење ће бити извршено само за групе домаћина и шаблоне. Окидачи и графови ће бити поређени само са увезеним шаблонима, а сви остали ће се сматрати "новим".

Објекат rules подржава следеће парамтре.

Parameter Type Description
discoveryRules object Правила како увозити LLD правила.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, ново LLD правило ће бити креирано; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, ново LLD правило ће бити ажурирано; подразумевано: false;
deleteMissing - (boolean) ако је постављено на true, правила која нису присутна у увезеним подацима биће обрисана из базе података; подразумевано: false.
graphs object Правила како импортовати графове.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, креираће се нови графици; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојеће групе домаћина ће бити ажуриране; подразумевано: false;
deleteMissing - (boolean) ако је постављено на true, графици који нису нису присутни у увезеним подацима биће обрисани из базе података;подразуемевано: false.
host_groups object Правила како увозити групе домаћина.

Подржани параметри:
createMissing - (boolean) ако је постављено наtrue, биће креиране нове групе домаћина; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојеће групе домаћина ће бити ажуриране; подразумевано: false.
template_groups object Правила како увозити групе шаблона.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, нове групе шаблона ће бити креиране; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојеће групе шаблона ће бити ажуриране; подразумевано: false.
hosts object Правила како увозити домаћине.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, нови домаћини ће бити креирани; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојећи домаћини ће бити ажурирани; подразумевано: false.

Овај параметар неће правити никакву разлику за излаз. Дозвољено је само за доследност са configuration.import.
httptests object Правила како увозити веб сценарије.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, нови веб сценарији ће бити креирани; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојећи веб сценарији ће бити ажурирани; подразумевано: false;
deleteMissing - (boolean) ако је постављено на true, веб сценарији који нису присутни у увезеним подацима биће обрисани из базе података; подразумевано: false.
images object Правила како увозити слике.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, нове слике ће бити креиране; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојеће слике ће бити ажуриране; подразумевано: false.

Овај параметар неће правити разлику на излазу. Ово је дозвољено само са коинзистентношћу са configuration.import.
items object Правила како увозити ставке.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, нове ставке ће бити креиране; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојеће ставке ће бити ажуриране; подразумевано: false;
deleteMissing - (boolean) ако је постављено на true, ставке које нису присутне у увезеним подацима биће избрисане из базе података; подразумевано: false.
maps object Правила како увозити мапе.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, нове мапе ће се креирати; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, нове мапе ће бити ажуриране; подразумевано: false.

Овај параметар неће направити разлику на излазу. Ово је дозвољено само за коинзистентност саconfiguration.import.
mediaTypes object Правила како увозити типове медија.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, нови типови медија ће бити креирани; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, нови типови медија ће бити ажурирани; подразумевано: false.

Ови параметри не праве разлику на излазу. Ово је дозвољено само за коинзистентност са configuration.import.
templateLinkage object Правила како увозити линкове шаблона.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, шаблони који нису линковани за домаћина или шаблон који се увози, а присутни су у увезеним подацима, биће линковани; подразумеванo: false;
deleteMissing - (boolean) ако су постављени на true, шаблони који су линковани за домаћина или шаблон који се увози, а нису присутни у увезеним подацима, биће уклоњени без брисања ентитета (items, triggers, итд.) наслеђених од уклоњених шаблона; подразумеванo: false.
templates object Правила како увозити шаблоне.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, нови шаблон ће бити креиран; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојећи шаблон ће бити ажуриран; подразумевано: false.
templateDashboards object Правила како увозити шаблоне контролних табли.

Подржани параметри:
createMissing - (boolean) ако је постављен на true, нови шаблони контролних табли ће бити креирани; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојећи шаблони контролних табли ће бити ажурирани; подразумевано: false;
deleteMissing - (boolean) ако је постављено на true, шаблони контролних табли који нису присутни у увезеним подацима биће обрисани из базе података; подразумевано: false.
triggers object Правила како увозити окидаче.

Подржани параметри:
createMissing - (boolean) ако је постављен на true, нови окидачи ће бити креирани; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојећи окидачи ће бити ажурирани; подразумевано: false;
deleteMissing - (boolean) ако је постављено на true, окидачи који нису присутни у увезеним подацима биће обрисани из базе података; подразумевано: false.
valueMaps object Правила како увозити вредносне мапе домаћина или шаблона.

Подржани параметри:
createMissing - (boolean) ако је постављено на true, нове вредносне мапе ће бити креиране ; подразумевано: false;
updateExisting - (boolean) ако је постављено на true, постојеће мапе ће бити ажуриране; подразумевано: false;
deleteMissing - (boolean) ако ј епостављено на true, вредносне мапе које нису присутне у увезеним подацима биће обрисане из базе података; подразумевано: false.

Повратне вредности

(array) Враћа низ са променама у конфигурацији, које ће бити направљене.

Примери

Поређење увоза шаблона

Упоредите шаблон садржан у XML стрингу са тренутним елементима система и прикажите шта ће бити промењено ако се овај шаблон увезе.

Request:

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

Одговор:

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

Извор

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