Migrando Dashboards entre versões do Kibana
Faz um tempinho que não apareço por aqui, estava terminando meus cursos do Cloudera, alias bom pra caramba, recomendo eim…
Surgiu uma necessidade lá no trampo, tínhamos um ElasticSearch legado, Deus sabe de quem, nem vou entrar nos detalhes pois é uma história sinistra, vou logo pros detalhes finais, precisamos migrar os dados e dashboards de um cluster 6.4.2 para um Cluster 7.12 (que alias atualizei ontem mlk!)
Para um processo de migração simples e torcendo que não dê nenhum problema o processo seria o seguinte:
- Migração do indices entre os ambientes.
- Criação das roles de acessos de acordo com os usuários e aplicação, pois no ambiente novo eles não existem.
Mas para os dashboards rola uma dependência, se liga no desenho abaixo:
Entendendo as dependencias
- Para exibir informações de um índice do Elasticsearch no Kibana, você precisa criar um index pattern, uma especie de alias que aponta as informações do pattern para o índice final, sem isso sem dashboard.
- Com o índice criado, você cria as visualizations, basicamente uma visualization é um gráfico que você quer montar com os dados do Elasticsearch de acordo com o assunto necessário.
- O Dashboard é um conjunto de visualizations, onde você usa seu senso de artista e monta o melhor layout possível para exibição dessas informações.
Agora que você se ligou, considere que já levei os indices para o cluster da versão 7.12 e eles tem os mesmo nomes e estrutura (Isso é importante). Agora fazemos a mágica acontecer (é mó fácil! rs).
Exportando os objetos
Vamo la no Kibana do Elasticsearch 6.4.2 e na página inicial clicamos em Management.
Clicando em Management será aberta uma pagina divida em serviços, na aba do Kibana tem a opção Saved Objects, clique nele.
Clicando nesse cara vai abrir uma pagina com os considerados Objetos do Kibana, que são divididos em:
- Index Pattern
- Visualization
- Dashboards
- Search
Você consegue filtrar os tipos de objetos clicando em Type
Eu sou meio chato e separei por tipos e importei na ordem necessária conforme citado a cima, basta filtrar, selecionar e clicar em export.
Os arquivos gerados são do formato Json, agora vamos para o processo de importação.
Importando os JSONs com os objetos
Já no Cluster Elastic 7.12, logamos na console do Kibana e logo na pagina inicial vamos procurar por Stack Management, a disposição é meio diferente do Kibana 6.4.
Clicando nessa tela vão ser exibidos os serviços do Stack na lateral esquerda tem os indices do Kibana, onde você vai encontrar o Saved Objects.
Agora o processo é inverso, basta importar os JSONs, mas recomendo que seja nessa ordem:
- Index Patterns
- Visualizations
- Dashboards
Bom, feito isso seus Dashboards foram migrados, pode que igual no meu caso os Dashboards não reconheçam algumas visualizations devido ao ID, caso tenha mudado, remova e busque na Visualization Library que ele vai estar lá.
Espero ter ajudado.
Anselmo Borges