configuração.importcompare

Descrição

array configuration.importcompare(object parameters)

Este método permite comparar o arquivo de importação com os elementos atuais do sistema e mostra o que será alterado se o arquivo de importação for importado.

Este método está disponível para usuários de qualquer tipo.
Permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Para mais informações, consulte User roles.

Parâmetros

(object) Parâmetros que contêm os possíveis dados a serem importados e as regras de como os dados devem ser tratados.

Parâmetro Tipo Descrição
formato
(obrigatório)
string Formato da string serializada.

Valores possíveis:
yaml - YAML;
xml - XML;
json - JSON.
fonte
(obrigatório)
string String serializada contendo os dados de configuração.
regras
(obrigatório)
objeto Regras de como novos objetos e objetos existentes devem ser importados.

O parâmetro regras rules é descrito em detalhes na tabela abaixo.

Se nenhuma regra for fornecida, não haverá nada para atualizar e o resultado será vazio.

A comparação será feita apenas para grupos de hosts e templates. Triggers e gráficos serão comparados apenas para templates importados, qualquer outro será considerado como "novo".

O objeto regras rules suporta os seguintes parâmetros:

Parâmetro Tipo Descrição
Regras de descoberta objecto Regras de como importar regras de LLD.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novas regras de LLD serão criadas; padrão: false;
updateExisting - (boolean) se definido como true, regras de LLD existentes serão atualizadas; padrão: false;
deleteMissing - (boolean) se definido como true, regras de LLD que não estiverem presentes nos dados importados serão excluídas do banco de dados; padrão: false.
gráficos objeto Regras de como importar gráficos.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos gráficos serão criados; padrão:false;
updateExisting - (boolean) se definido como true, gráficos existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, gráficos que não estiverem presentes nos dados importados serão excluídos do banco de dados; padrão: false.
grupos objeto Regras de como importar grupos de hosts.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos grupos de hosts serão criados; padrão:false;
updateExisting - (boolean) se definido como true, os grupos de hosts existentes serão atualizados; padrão false.
hosts objeto Regras de como importar hosts.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos hosts serão criados; padrão: false;
updateExisting - (boolean) se definido como true, hosts existentes serão atualizados; padrão: false.

Este parâmetro não fará diferença na saída. É permitido apenas para consistência com configuration.import.
httptests objeto Regras de como importar cenários web.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos cenários web serão criados; padrão: false;
updateExisting - (boolean) se definido como true, os cenários web existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, cenários web que não estiverem presentes nos dados importados serão excluídos do banco de dados; padrão: false.
imagens objeto Regras de como importar imagens.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novas imagens serão criadas; padrão:false;
updateExisting - (boolean) se definido como true, imagens existentes serão atualizadas; padrão:false.

Este parâmetro não fará diferença na saída. É permitido apenas para consistência com configuration.import.
itens objeto Regras de como importar itens.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos itens serão criados; padrão: false;
updateExisting - (boolean) se definido como true, os itens existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, itens que não estiverem presentes nos dados importados serão excluídos do banco de dados; padrão: false.
mapas objeto Regras de como importar mapas.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos mapas serão criados; padrão: false;
updateExisting - (boolean) se definido comotrue, novos mapas serão criados; padrão: false.

Este parâmetro não fará diferença na saída. É permitido apenas para consistência com configuration.import.
Tiposdemídia objeto Regras de como importar tipos de mídia.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos tipos de mídia serão criados; padrão: false;
updateExisting - (boolean) se definido como true, os tipos de mídia existentes serão atualizados; padrão: false.

Este parâmetro não fará diferença na saída. É permitido apenas para consistência com configuration.import.
Vinculaçãodetemplates objeto Regras de como importar links de templates.

Parâmetros suportados:
createMissing - (boolean) se definido como true, templates que não estão vinculados ao host ou template sendo importado, mas estão presentes nos dados importados, serão vinculados; padrão: false;
deleteMissing - (boolean) se definido como true, templates que estão vinculados ao host ou template sendo importado, mas não estão presentes nos dados importados, serão desvinculados sem remover entidades (itens, triggers, etc.) herdadas dos templates desvinculados; padrão: false.
templates objeto Regras de como importar templates.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos templates serão criados; padrão: false;
updateExisting - (boolean) se definido como true, templates existentes serão atualizados; padrão: false.
Dashboardsdetemplates objeto Regras de como importar dashboards de templates.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos dashboards de templates serão criados; padrão: false;
updateExisting - (boolean) se definido como true,os dashboards de templates existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, dashboards de templates que não estiverem presentes nos dados importados serão excluídos do banco de dados; padrão: false.
triggers objeto Regras de como importar triggers.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos triggers serão criados; padrão: false;
updateExisting - (boolean) se definido como true, os triggers existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, triggers que não estiverem presentes nos dados importados serão excluídos do banco de dados; padrão: false.
Mapasdevalor objeto Regras de como importar mapas de valor de host ou template.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos mapas de valor serão criados; padrão: false;
updateExisting - (boolean) se definido como true, os mapas de valor existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, mapas de valor que não estiverem presentes nos dados importados serão excluídos do banco de dados; padrão: false.

Valores de retorno

(array) Retorna um array com mudanças na configuração que serão feitas.

Exemplos

Comparando a importação de um template

Compare o template contido na string XML com os elementos atuais do sistema e mostre o que será alterado se este template for importado.

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

Resposta:

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

Fonte

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