configuration.import

Descrição

boolean configuration.import(object parameters)

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

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 de usuário. Consulte User roles para obter mais informações.

Parâmetros

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

Parameter Type Description
format string Formato da string serializada.

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

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

Comportamento do parâmetro:
- required
rules object Regras sobre como novos objetos e objetos existentes devem ser importados.

Usuários do tipo Admin podem importar apenas os objetos para os quais têm permissão de leitura e gravação, bem como mapas. Por exemplo, um host e suas entidades (items, triggers, graphs, etc.) podem ser importados somente se o grupo de usuários do usuário tiver permissão para o grupo de hosts ao qual o host importado pertencerá. Imagens e tipos de mídia não podem ser importados por usuários do tipo Admin.

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

Comportamento do parâmetro:
- required
returnMissingObjects boolean Regras para saber se o objeto de resposta deve conter informações sobre objetos ausentes; padrão: false.

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

O objeto rules oferece suporte aos seguintes parâmetros.

Parameter Type Description
dashboards object Regras sobre como importar dashboards.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos dashboards serão criados; padrão: false;
updateExisting - (boolean) se definido como true e um dashboard importável específico estiver presente no sistema, ele será totalmente atualizado. As páginas e os widgets serão totalmente substituídos pelos novos; padrão: false.
discoveryRules object 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, 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.
global_regexes object Regras sobre como importar expressões regulares globais.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novas expressões regulares globais serão criadas; padrão: false;
updateExisting - (boolean) se definido como true, expressões regulares globais existentes serão atualizadas, com suas subexpressões totalmente substituídas; padrão: false.
graphs object Regras sobre como importar graphs.

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

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos maps serão criados; padrão: false;
updateExisting - (boolean) se definido como true, maps existentes serão atualizados; padrão: false.
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.
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 que não estiverem presentes nos dados importados serão excluídos do banco de dados; padrão: false.
template_groups object Regras sobre como importar grupos de template.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos grupos de template serão criados; padrão: false;
updateExisting - (boolean) se definido como true, grupos de template existentes serão atualizados; padrão: false.
templateLinkage object Regras sobre como importar links de template.

Parâmetros suportados:
createMissing - (boolean) se definido como true, templates que não estiverem vinculados ao host ou template sendo importado, mas que estiverem presentes nos dados importados, serão vinculados; padrão: false;
deleteMissing - (boolean) se definido como true, templates que estiverem vinculados ao host ou template sendo importado, mas que não estiverem 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.
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 que não estiverem presentes nos dados importados serão excluídos do banco de dados; padrão: false.
valueMaps object Regras sobre como importar value maps de host ou template.

Parâmetros suportados:
createMissing - (boolean) se definido como true, novos value maps serão criados; padrão: false;
updateExisting - (boolean) se definido como true, value maps existentes serão atualizados; padrão: false;
deleteMissing - (boolean) se definido como true, value maps que não estiverem 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 algum item ou trigger na string XML estiver ausente, ele será excluído do banco de dados e todo o restante permanecerá inalterado.

Requisiçã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>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></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>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)&gt;2</expression><name>CPU load too high on {HOST.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": true,
    "id": 1
}

Fonte

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