configuração de matriz.importcompare(parâmetros de objeto)
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. Permissões para chamar o método pode ser revogado nas configurações de função do usuário. Veja Usuário funções Para maiores informações.
(object)
Parâmetros contendo os dados possíveis para importar e regras 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;<br >json
- JSON.| |source
(obrigatório)|string|String serializada contendo os dados de configuração.| |rules
(obrigatório)|object|Regras sobre como objetos novos e existentes devem ser importados.
O parâmetro rules
é descrito em detalhes na tabela abaixo.|
Se nenhuma regra for fornecida, não haverá nada para atualizar e o resultado estará vazio.
A comparação vai ser feito apenas para grupos de hosts e modelos. Triggers e gráficos serão comparado 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; default: false
;updateExisting
- (boolean)
se definido como true
, as regras LLD existentes serão atualizadas; default: false
;deleteMissing
- (boolean)
se definido como true
, as regras LLD não presentes nos dados importados serão excluídas do banco de dados; padrão: falso
.| |graphs|object|Regras sobre como importar gráficos.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novos gráficos serão criados; default: false
;updateExisting
- (boolean)
se definido como true
, os gráficos existentes serão atualizados; default: false
;deleteMissing
- (boolean)
se definido como true
, os gráficos não presentes nos dados importados serão excluídos do banco de dados; padrão: falso
.| |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; default: false
;updateExisting
- (boolean)
se definido como true
, os grupos de hosts existentes serão atualizados; padrão: falso
.| |hosts|object|Regras sobre como importar hosts.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novos hosts serão criados; default: false
;updateExisting
- (boolean)
se definido como true
, os hosts existentes serão atualizados; default: 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 da web.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novos cenários da web serão criados; default: false
;updateExisting
- (boolean)
se definido como true
, os cenários da web existentes serão atualizados; default: false
;deleteMissing
- (boolean)
se definido como true
, os cenários da web não presentes nos dados importados serão excluídos do banco de dados; padrão: falso
.| |images|object|Regras sobre como importar imagens.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novas imagens serão criadas; default: false
;updateExisting
- (boolean)
se definido como true
, as imagens existentes serão atualizadas; default: 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 itens.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novos itens serão criados; default: false
;updateExisting
- (boolean)
se definido como true
, os itens existentes serão atualizados; default: false
;deleteMissing
- (boolean)
se definido como true
, os itens não presentes nos dados importados serão excluídos do banco de dados; padrão: falso
.| |maps|object|Regras sobre como importar mapas.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novos mapas serão criados; default: false
;updateExisting
- (boolean)
se definido como true
, os mapas existentes serão atualizados; default: 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; default: false
;updateExisting
- (boolean)
se definido como true
, os tipos de mídia existentes serão atualizados; default: 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 modelo.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novos links entre os modelos e o host serão criados ; padrão: falso
;
deleteMissing
- (boolean)
se definido como true
, os links de modelo não presentes nos dados importados serão excluídos do banco de dados; padrão: falso
.| |templates|object|Regras sobre como importar modelos.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novos modelos serão criados; default: false
;updateExisting
- (boolean)
se definido como true
, os modelos existentes serão atualizados; padrão: falso
.| |templateDashboards|object|Regras sobre como importar painéis de modelo.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novos painéis de modelo serão criados; default: false
;updateExisting
- (boolean)
se definido como true
, os painéis de modelos existentes serão atualizados; default: false
;deleteMissing
- (boolean)
se definido como true
, os painéis de modelo não presentes nos dados importados serão excluídos do banco de dados; padrão: falso
.| |triggers|object|Regras sobre como importar gatilhos.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novos gatilhos serão criados; default: false
;updateExisting
- (boolean)
se definido como true
, os gatilhos existentes serão atualizados; default: false
;deleteMissing
- (boolean)
se definido como true
, triggers não presentes nos dados importados serão excluídos do banco de dados; padrão: falso
.| |valueMaps|object|Regras sobre como importar mapas de valor de host ou modelo.
Parâmetros suportados:createMissing
- (boolean)
se definido como true
, novos mapas de valor serão criados ; default: false
;updateExisting
- (boolean)
se definido como true
, os mapas de valores existentes serão atualizados; default: false
;deleteMissing
- (boolean)
se definido como true
, os mapas de valores não presentes nos dados importados serão excluídos do banco de dados; padrão: falso
.|
(array)
Retorna um array com mudanças na configuração, que serão fez.
Importe o modelo e os itens contidos na string YAML. Se algum item em YAML estão ausentes, eles serão mostrados como excluídos e tudo mais será deixado inalterado.
Solicitação:
{
"jsonrpc": "2.0",
"método": "configuração.importação",
"parâmetros": {
"formato": "xml",
"as regras": {
"grupos": {
"createMissing": verdadeiro,
"updateExisting": true
},
"modelos": {
"createMissing": verdadeiro,
"updateExisting": true
},
"Itens": {
"createMissing": verdadeiro,
"updateExisting": true,
"deleteMissing": verdadeiro
},
"gatilhos": {
"createMissing": verdadeiro,
"updateExisting": true,
"deleteMissing": verdadeiro
},
"discoveryRules": {
"createMissing": verdadeiro,
"updateExisting": true,
"deleteMissing": verdadeiro
},
"valueMaps": {
"createMissing": verdadeiro,
"updateExisting": false
}
},
"source": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><zabbix_export><version>5.4</version><date>2021-05-27T07:12:07Z< /date><groups><group><uuid>6f6799aa69e844b4b3918f779f2abf08</uuid><name>Servidores Zabbix</name></group></groups><templates><template><uuid>e1bde9bf2f0544f5929f45b82502e744</uuid><template >Exportar modelo</template><name>Exportar modelo</name><groups><group><name>Servidores Zabbix</name></group></groups><items><item><uuid>3237bc89226e42ed8207574022470e83< /uuid><name>Item</name><key>item.key</key><delay>30s</delay><valuemap><name>Status do host</name></valuemap><triggers><trigger ><uuid>bd1ed0089e4b4f35b762c9d6c599c348</uuid><expression>last(/Export template/item.key)=0</expression><name>Trigger</name></trigger></triggers></item></ items><discovery_rules><discovery_rule><uuid>c91616bcf4a44f349539a1b40cb0979d</uuid><name>Regra de descoberta</name><key>rule.key</key><item_prototypes><item_prototype><uuid>7e164881825744248b3039af3435cf4b</uuid>< name>Protótipo de item</name><key>prototype.key</ key></item_prototype></item_prototypes></discovery_rule></discovery_rules><valuemaps><valuemap><uuid>7e666857c5df4af3a338349586f2afc3</uuid><name>Status do host</name><mappings><mapping><value> 0</value><newvalue>Para cima</newvalue></mapping><mapping><value>2</value><newvalue>Inacessível</newvalue></mapping></mappings></valuemap></ valuemaps></template></templates></zabbix_export>"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Resposta:
{
"jsonrpc":"2.0",
"resultado":{
"modelos":{
"Atualizada":[
{
"antes de":{
"uuid":"e1bde9bf2f0544f5929f45b82502e744",
"template":"Exportar modelo",
"name":"Exportar modelo"
},
"depois de":{
"uuid":"e1bde9bf2f0544f5929f45b82502e744",
"template":"Exportar modelo",
"name":"Exportar modelo"
},
"Itens":{
"adicionado":[
{
"depois de":{
"uuid":"3237bc89226e42ed8207574022470e83",
"nome":"Artigo",
"chave":"item.chave",
"atraso":"30s",
"mapa de valores":{
"name":"Status do host"
}
},
"gatilhos":{
"adicionado":[
{
"depois de":{
"uuid":"bd1ed0089e4b4f35b762c9d6c599c348",
"expression":"last(/Export template/item.key)=0",
"name":"Acionador"
}
}
]
}
}
],
"removido":[
{
"antes de":{
"uuid":"bd3e7b28b3d544d6a83ed01ddaa65ab6",
"name":"Item antigo",
"key":"ite_old.key",
"atraso":"30s",
"mapa de valores":{
"name":"Status do host"
}
}
}
]
},
"discovery_rules":{
"Atualizada":[
{
"antes de":{
"uuid":"c91616bcf4a44f349539a1b40cb0979d",
"name":"Regra de descoberta",
"chave":"regra.chave"
},
"depois de":{
"uuid":"c91616bcf4a44f349539a1b40cb0979d",
"name":"Regra de descoberta",
"chave":"regra.chave"
},
"item_prototypes":{
"Atualizada":[
{
"antes de":{
"uuid":"7e164881825744248b3039af3435cf4b",
"name":"Protótipo de item antigo",
"key":"prototype_old.key"
},
"depois de":{
"uuid":"7e164881825744248b3039af3435cf4b",
"name":"Protótipo de item",
"key":"prototype.key"
}
}
]
}
}
]
}
}
]
}
},
"id":1
}
CConfiguration::importcompare() em ui/include/classes/api/services/CConfiguration.php.