Áú»¢¶Ä²©

configura??o.importcompare

Descri??o

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.

Par?metros

(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.|

Valores de retorno

(array) Retorna um array com mudan?as na configura??o, que ser?o fez.

Exemplos

Importando hosts e itens

Importa o template e itens contidos na string YAML. Se qualquer item estiver faltando no YAML, ele ser¨¢ mostrado como exclu¨ªdo e todo o resto permanecer¨¢ inalterado.

Requisi??o:

{
           "jsonrpc": "2.0",
           "method": "configuration.import",
           "params": {
               "format": "xml",
               "rules": {
                   "groups": {
                       "createMissing": true,
                       "updateExisting": true
                   },
                   "templates": {
                       "createMissing": true,
                       "updateExisting": true
                   },
                   "items": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "triggers": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "discoveryRules": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "valueMaps": {
                       "createMissing": true,
                       "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>Áú»¢¶Ä²© servers</name></group></groups><templates><template><uuid>e1bde9bf2f0544f5929f45b82502e744</uuid><template>Export template</template><name>Export template</name><groups><group><name>Áú»¢¶Ä²© servers</name></group></groups><items><item><uuid>3237bc89226e42ed8207574022470e83</uuid><name>Item</name><key>item.key</key><delay>30s</delay><valuemap><name>Host status</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>Discovery rule</name><key>rule.key</key><item_prototypes><item_prototype><uuid>7e164881825744248b3039af3435cf4b</uuid><name>Item prototype</name><key>prototype.key</key></item_prototype></item_prototypes></discovery_rule></discovery_rules><valuemaps><valuemap><uuid>7e666857c5df4af3a338349586f2afc3</uuid><name>Host status</name><mappings><mapping><value>0</value><newvalue>Up</newvalue></mapping><mapping><value>2</value><newvalue>Unreachable</newvalue></mapping></mappings></valuemap></valuemaps></template></templates></zabbix_export>"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

{
          "jsonrpc":"2.0",
          "result":{
             "templates":{
                "updated":[
                   {
                      "before":{
                         "uuid":"e1bde9bf2f0544f5929f45b82502e744",
                         "template":"Export template",
                         "name":"Export template"
                      },
                      "after":{
                         "uuid":"e1bde9bf2f0544f5929f45b82502e744",
                         "template":"Export template",
                         "name":"Export template"
                      },
                      "items":{
                         "added":[
                            {
                               "after":{
                                  "uuid":"3237bc89226e42ed8207574022470e83",
                                  "name":"Item",
                                  "key":"item.key",
                                  "delay":"30s",
                                  "valuemap":{
                                     "name":"Host status"
                                  }
                               },
                               "triggers":{
                                  "added":[
                                     {
                                        "after":{
                                           "uuid":"bd1ed0089e4b4f35b762c9d6c599c348",
                                           "expression":"last(/Export template/item.key)=0",
                                           "name":"Trigger"
                                        }
                                     }
                                  ]
                               }
                            }
                         ],
                         "removed":[
                            {
                               "before":{
                                  "uuid":"bd3e7b28b3d544d6a83ed01ddaa65ab6",
                                  "name":"Old Item",
                                  "key":"ite_old.key",
                                  "delay":"30s",
                                  "valuemap":{
                                     "name":"Host status"
                                  }
                               }
                            }
                         ]
                      },
                      "discovery_rules":{
                         "updated":[
                            {
                               "before":{
                                  "uuid":"c91616bcf4a44f349539a1b40cb0979d",
                                  "name":"Discovery rule",
                                  "key":"rule.key"
                               },
                               "after":{
                                  "uuid":"c91616bcf4a44f349539a1b40cb0979d",
                                  "name":"Discovery rule",
                                  "key":"rule.key"
                               },
                               "item_prototypes":{
                                  "updated":[
                                     {
                                        "before":{
                                           "uuid":"7e164881825744248b3039af3435cf4b",
                                           "name":"Old item prototype",
                                           "key":"prototype_old.key"
                                        },
                                        "after":{
                                           "uuid":"7e164881825744248b3039af3435cf4b",
                                           "name":"Item prototype",
                                           "key":"prototype.key"
                                        }
                                     }
                                  ]
                               }
                            }
                         ]
                      }
                   }
                ]
             }
          },
          "id":1
       }

Fonte

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