Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

configuration.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 este arquivo de importação for importado.

Este método está disponível para usuários de qualquer tipo. As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Consulte Funções de usuário para mais informações.

Parâmetros

(object) Parâmetros contendo os possíveis dados a serem importados e regras de como os dados devem ser tratados.

Parâmetro Tipo Descrição
format string Formato da string serializada.

Valores possíveis:
yaml - YAML;
xml - XML;
json - JSON.

Comportamento do parâmetro:
- obrigatório
source string String serializada contendo os dados de configuração.

Comportamento do parâmetro:
- obrigatório
rules object Regras sobre como novos objetos e objetos existentes devem ser comparados.

Usuários do tipo Admin e User podem comparar novos objetos apenas com objetos existentes para os quais tenham permissão de somente leitura ou leitura e gravação permissão.

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

Comportamento do parâmetro:
- obrigatório

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 rules suporta os seguintes parâmetros.

Parâmetro Tipo Descrição
discoveryRules object Regras sobre como importar regras LLD.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novas regras LLD serão criadas; padrão: false;
updateExisting - (boolean) se definido como true, regras LLD existentes serão atualizadas; padrão: false;
deleteMissing - (boolean) se definido como true, regras LLD não presentes nos dados importados serão excluídas do banco de dados; padrão: false.
graphs object Regras sobre 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 não presentes nos dados importados serão excluídos do banco de dados; padrão: false.
host_groups object Regras sobre 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, grupos de hosts existentes serão atualizados; padrão: false.
template_groups object Regras sobre como importar grupos de templates.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos grupos de templates serão criados; padrão: false;
updateExisting - (boolean) se definido como true, grupos de templates existentes serão atualizados; padrão: false.
hosts object Regras sobre 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 object Regras sobre 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, cenários web existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, cenários web não presentes nos dados importados serão excluídos do banco de dados; padrão: false.
images object Regras sobre 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.
items object Regras sobre como importar items.

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

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos mapas serão criados; padrão: false;
updateExisting - (boolean) se definido como true, mapas 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.
mediaTypes object Regras sobre 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, 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.
templateLinkage object Regras sobre como importar links de template.

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 (items, triggers, etc.) herdadas dos templates desvinculados; padrão: false.
templates object Regras sobre 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.
templateDashboards object Regras sobre como importar dashboards de template.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos dashboards de template serão criados; padrão: false;
updateExisting - (boolean) se definido como true, dashboards de template existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, dashboards de template não presentes nos dados importados serão excluídos do banco de dados; padrão: false.
triggers object Regras sobre 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, triggers existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, triggers não presentes nos dados importados serão excluídos do banco de dados; padrão: false.
valueMaps object Regras sobre como importar mapas de valores de host ou template.

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

Valores de retorno

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

Exemplos

Comparando a importação de um template

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

Requisição:

{
           "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>8.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>&lt;dt&gt;Server uptime: (.*)&lt;/dt&gt;</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)&gt;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
       }

Resposta:

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

Fonte

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