Áú»¢¶Ä²©

configura??o.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 o 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 podem ser revogadas nas configura??es de fun??o do usu¨¢rio. Para mais informa??es, consulte User roles.

Par?metros

(object) Par?metros que cont¨ºm os poss¨ªveis dados a serem importados e as regras de como os dados devem ser tratados.

Par?metro Tipo Descri??o
formato
(´Ç²ú°ù¾±²µ²¹³Ù¨®°ù¾±´Ç)
string Formato da string serializada.

Valores poss¨ªveis:
yaml - YAML;
xml - XML;
json - JSON.
fonte
(´Ç²ú°ù¾±²µ²¹³Ù¨®°ù¾±´Ç)
string String serializada contendo os dados de configura??o.
regras
(´Ç²ú°ù¾±²µ²¹³Ù¨®°ù¾±´Ç)
objeto Regras de como novos objetos e objetos existentes devem ser importados.

O par?metro regras rules ¨¦ descrito em detalhes na tabela abaixo.

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 ²µ°ù¨¢´Ú¾±³¦´Ç²õ ser?o comparados apenas para templates importados, qualquer outro ser¨¢ considerado como "novo".

O objeto regras rules suporta os seguintes par?metros:

Par?metro Tipo Descri??o
Regras de descoberta objecto Regras de 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.
²µ°ù¨¢´Ú¾±³¦´Ç²õ objeto Regras de como importar ²µ°ù¨¢´Ú¾±³¦´Ç²õ.

Par?metros suportados:
createMissing - (boolean) se definido como true, novos ²µ°ù¨¢´Ú¾±³¦´Ç²õ ser?o criados; padr?o:false;
updateExisting - (boolean) se definido como true, ²µ°ù¨¢´Ú¾±³¦´Ç²õ existentes ser?o atualizados; padr?o: false;
deleteMissing - (boolean) se definido como true, ²µ°ù¨¢´Ú¾±³¦´Ç²õ que n?o estiverem presentes nos dados importados ser?o exclu¨ªdos do banco de dados; padr?o: false.
grupos objeto Regras de 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, os grupos de hosts existentes ser?o atualizados; padr?o false.
hosts objeto Regras de 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 objeto Regras de 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, os 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.
imagens objeto Regras de 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.
itens objeto Regras de como importar itens.

Par?metros suportados:
createMissing - (boolean) se definido como true, novos itens ser?o criados; padr?o: false;
updateExisting - (boolean) se definido como true, os itens existentes ser?o atualizados; padr?o: false;
deleteMissing - (boolean) se definido como true, itens que n?o estiverem presentes nos dados importados ser?o exclu¨ªdos do banco de dados; padr?o: false.
mapas objeto Regras de como importar mapas.

Par?metros suportados:
createMissing - (boolean) se definido como true, novos mapas ser?o criados; padr?o: false;
updateExisting - (boolean) se definido comotrue, novos mapas ser?o criados; padr?o: false.

Este par?metro n?o far¨¢ diferen?a na sa¨ªda. ? permitido apenas para consist¨ºncia com configuration.import.
°Õ¾±±è´Ç²õ»å±ð³¾¨ª»å¾±²¹ objeto Regras de 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, os 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.
Vincula??odetemplates objeto Regras de como importar links de templates.

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 (itens, triggers, etc.) herdadas dos templates desvinculados; padr?o: false.
templates objeto Regras de 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.
Dashboardsdetemplates objeto Regras de 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,os dashboards de templates existentes ser?o atualizados; padr?o: false;
deleteMissing - (boolean) se definido como true, dashboards de templates que n?o estiverem presentes nos dados importados ser?o exclu¨ªdos do banco de dados; padr?o: false.
triggers objeto Regras de 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, os 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.
Mapasdevalor objeto Regras de como importar mapas de valor de host ou template.

Par?metros suportados:
createMissing - (boolean) se definido como true, novos mapas de valor ser?o criados; padr?o: false;
updateExisting - (boolean) se definido como true, os mapas de valor existentes ser?o atualizados; padr?o: false;
deleteMissing - (boolean) se definido como true, mapas de valor que n?o estiverem presentes nos dados importados ser?o exclu¨ªdos do banco de dados; padr?o: false.

Valores de retorno

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

Exemplos

Comparando a importa??o de um template

Compare o template contido na string XML com os elementos atuais do sistema e mostre o que ser¨¢ alterado se este template for importado.

Request:

{
           "jsonrpc": "2.0",
           "method": "configuration.importcompare",
           "params": {
               "format": "xml",
               "rules": {
                   "discoveryRules": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "graphs": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "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>6.0</version><date>2023-01-01T12:30: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>Áú»¢¶Ä²© 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><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>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)>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>Áú»¢¶Ä²© 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": {
               "templates": {
                   "updated": [
                       {
                           "before": {
                               "uuid": "5aef0444a82a4d8cb7a95dc4c0c85330",
                               "template": "New template",
                               "name": "New template"
                           },
                           "after": {
                               "uuid": "5aef0444a82a4d8cb7a95dc4c0c85330",
                               "template": "New template",
                               "name": "New template"
                           },
                           "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": "Áú»¢¶Ä²© agent ping",
                                           "key": "agent.ping"
                                       },
                                       "after": {
                                           "uuid": "7f1e6f1e48aa4a128e5b6a958a5d11c3",
                                           "name": "Áú»¢¶Ä²© agent ping",
                                           "key": "agent.ping",
                                           "delay": "3m"
                                       }
                                   }
                               ]
                           }
                       }
                   ]
               }
           },
           "id": 1
       }

Fonte

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