configuration.import

Descrição

boolean configuration.import(object parameters)

Este método permite importar dados de configuração de uma string serializada.

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

Parâmetros

(object) Parâmetros contendo os dados a serem importados e as regras sobre como os dados devem ser tratados.

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

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

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

Se nenhuma regra for fornecida, a configuração não será atualizada.

O objeto rules suporta os seguintes parâmetros.

Parâmetro Tipo Descrição
discoveryRules objeto Regras sobre 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, as regras de LLD existentes serão atualizadas; padrão: false;
deleteMissing - (boolean) se definido como true, as regras de LLD rules não presentes nos dados importados serão excluídas do banco de dados; padrão: false.
gráficos objeto 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.
grupos objetos Regras sobre como importar grupos de host.

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, hosts existentes serão atualizados; padrão: false.
hosts objeto 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.
httptests objeto Regras sobre como importar cenários web.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos cenários web scenarios 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.
imagens objeto 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, images existentes serão atualizadas; padrão: false.
itens objeto Regras sobre como importar itens.

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

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos mapas serão criados; padrão: false;
updateExisting - (boolean) se defining como true, mapas existentes serão atualizados; padrão: false.
Tipos de mídia objeto 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.
templateLinkage objeto 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 vinculados ao host ou template sendo importado, mas que não estão presentes nos dados importados, serão desvinculados sem remover as entidades (itens, triggers, etc.) herdadas dos templates desvinculados; padrão: false.
templates objeto 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 objeto Regras sobre 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, dashboards de templates existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, dashboards de templates não presentes nos dados importados serão excluídos do banco de dados; padrão: false.
triggers objeto 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 presente nos dados importados serão excluídos banco de dados; padrão: false.
valueMaps objeto Regras sobre como importar mapas de valores de hosts ou templates.

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

(boolean) Retorna true se a importação foi bem sucedida.

Exemplos

Importando um template

Importa a configuração do template contida na string XML. Se houver itens ou triggers na string XML, eles serão excluídos do banco de dados, e todo o resto permanecerá inalterado.

Solicitação:

{
           "jsonrpc": "2.0",
           "method": "configuration.import",
           "params": {
               "format": "xml",
               "rules": {
                   "templates": {
                       "createMissing": true,
                       "updateExisting": true
                   },
                   "items": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "triggers": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "valueMaps": {
                       "createMissing": true,
                       "updateExisting": false
                   }
               },
               "source": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<zabbix_export><version>6.0</version><date>2023-01-01T12:00: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></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>6805d4c39a624a8bab2cc8ab63df1ab3</uuid><name>CPU load</name><key>system.cpu.load</key><value_type>FLOAT</value_type><triggers><trigger><uuid>ab4c2526c2bc42e48a633082255ebcb3</uuid><expression>avg(/New template/system.cpu.load,3m)>2</expression><name>CPU load 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": true,
           "id": 1
       }

Fonte

CConfiguration::import() in ui/include/classes/api/services/CConfiguration.php.