Use snapshots do OSS para copiar funções de usuário e visualizações do Kibana de um cluster do Elasticsearch de origem para um cluster de destino.
Pré-requisitos
O Object Storage Service (OSS) está ativado e há um bucket do OSS da classe Standard criado na mesma região dos seus clusters do Elasticsearch. Para mais informações, consulte Ativar o OSS e Criar um bucket.
Dois clusters do Alibaba Cloud Elasticsearch criados na mesma região: um como cluster de origem e outro como cluster de destino. Para detalhes sobre compatibilidade de versões, consulte Compatibilidade de índices.
O procedimento de restauração difere entre clusters V7.X e V8.X. Este tópico aborda dois cenários: restauração de um snapshot do Elasticsearch V7.10 para outro cluster V7.10 e restauração de um snapshot do Elasticsearch V8.5 para outro cluster V8.5.
Para compatibilidade entre versões diferentes, consulte Compatibilidade de índices.
Precauções
Execute todos os comandos deste tópico no console do Kibana do cluster correspondente.
No Elasticsearch V8.0 ou superior, faça backup e restaure índices de sistema e fluxos de dados usando exclusivamente a API
_features. Para mais detalhes, consulte Snapshot and restore.
Reutilizar informações de usuário, incluindo as funções atribuídas a um usuário em um cluster de origem, para um cluster de destino
Etapa 1: Preparar o ambiente
Faça login no console do Kibana do cluster do Elasticsearch de origem. Para mais informações, consulte Fazer login no console do Kibana.
Crie uma função chamada
cj_test_rolee um usuário chamadokarae, em seguida, atribua a funçãocj_test_roleao usuáriokara. Para mais informações, consulte Usar o mecanismo RBAC fornecido pelo Elasticsearch X-Pack para implementar controle de acesso.
Etapa 2: Criar um snapshot para fazer backup dos dados no cluster do Elasticsearch de origem
Faça login no console do Kibana do cluster do Elasticsearch de origem. Para mais informações, consulte Fazer login no console do Kibana.
-
Crie um repositório de snapshots chamado
my_backupno cluster de origem. O comando varia dependendo se o cluster é gerenciado pelo Alibaba Cloud ou auto-gerenciado.-
Para um cluster gerenciado pelo Alibaba Cloud:
``
PUT _snapshot/my_backup/ { "type": "oss", "settings": { "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com", "access_key_id": "xxxx", "secret_access_key": "xxxxxx", "bucket": "xxxxxx", "compress": true, "chunk_size": "500mb", "base_path": "snapshot/" } }`` -
Para um cluster V8.X auto-gerenciado, instale primeiro o plug-in elasticsearch-repository-oss. Para etapas de instalação, consulte Instalar o plug-in elasticsearch-repository-oss. Para detalhes sobre o plug-in, consulte elasticsearch-repository-oss.
``
PUT /_snapshot/my_backup { "type": "oss", "settings": { "oss.client.endpoint": "oss-cn-shanghai.aliyuncs.com", "oss.client.access_key_id": "xxx", "oss.client.secret_access_key": "xxx", "oss.client.bucket": "xxxxxx", "oss.client.base_path":"snapshot/", "oss.client.compress": true } }``
Parâmetro
Descrição
endpoint
Endpoint interno do bucket do OSS. Para mais informações, consulte Regiões e endpoints.
access_key_id
AccessKey ID da sua conta. Para mais informações, consulte Obter um par de AccessKey.
secret_access_key
AccessKey Secret da sua conta. Para mais informações, consulte Obter um par de AccessKey.
bucket
Nome do bucket do OSS. Para mais informações, consulte Criar um bucket.
compress
Define se os dados do snapshot devem ser compactados. Defina como
truepara ativar a compactação (aplica-se apenas a metadados de índice, como mapeamentos e configurações). O padrão éfalse.chunk_size
Tamanho máximo de cada parte ao carregar grandes volumes de dados no OSS em múltiplas partes. Dados que excedem esse tamanho são transferidos para a próxima parte.
base_path
Diretório raiz do repositório. O padrão é a raiz. Especifique um subdiretório para isolar snapshots — por exemplo,
snapshot/myindex/. -
-
Crie um snapshot para o cluster de origem. O comando varia conforme a versão do cluster.
-
Para um cluster de origem V7.10, execute o seguinte comando para criar um snapshot chamado
snapshot_1. Na versão V7.10, as informações de usuário (funções e atribuições) ficam armazenadas nos índices de sistema.kibana*e.security*. Para detalhes dos parâmetros, consulte Create snapshot API.``
PUT _snapshot/my_backup/snapshot_1 { "indices": ".kibana*,.security*", "ignore_unavailable": true, "include_global_state": true }`` -
Para um cluster de origem V8.5, execute o seguinte comando para criar um snapshot chamado
snapshot_1direcionado apenas ao estado do recurso de segurança. Para detalhes dos parâmetros, consulte Create snapshot API.``
PUT _snapshot/my_backup/snapshot_1 { "indices": "-*", "ignore_unavailable": true, "include_global_state": true, "feature_states": [ "security" ] }``
-
-
Verifique se o snapshot foi criado com sucesso. Execute o seguinte comando para consultar
snapshot_1no repositóriomy_backup.GET _snapshot/my_backup/snapshot_1
Etapa 3: Restaurar dados do snapshot
Faça login no console do Kibana do cluster do Elasticsearch de destino. Para mais informações, consulte Fazer login no console do Kibana.
-
Crie um repositório de snapshots chamado
my_restoreno cluster de destino, apontando para o mesmo bucket do OSS usado no cluster de origem.PUT _snapshot/my_restore { "type": "oss", "settings": { "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com", "access_key_id": "[your_access_key_id]", "secret_access_key": "[your_secret_access_key]", "bucket": "[your_bucket_name]", "compress": true, "chunk_size": "500mb", "base_path": "snapshot/" } } -
Restaure os dados do snapshot para o cluster de destino.
-
Para um cluster de origem V7.10, siga estas etapas. O fechamento de índices de sistema desativa temporariamente recursos do cluster — realize essa operação apenas fora do horário de pico ou quando o cluster estiver ocioso.
Fechar o índice
.kibana*torna o console do Kibana indisponível. Fechar o índice.security*afeta a segurança dos dados. Faça backup desses índices antes de prosseguir.Faça backup dos dados nesses índices de sistema antes de fechá-los para garantir a recuperação, se necessário.
Feche esses índices apenas fora do horário de pico ou quando o cluster não estiver atendendo tráfego.
Se o fechamento de índices pelo console do Kibana falhar, use um terminal. Para detalhes, consulte Comandos curl para gerenciar um cluster do Elasticsearch.
-
Feche os índices de sistema
.kibana*e.security*no cluster de destino.``
POST /<index name>/_close`` -
Restaure os dados do
snapshot_1para o cluster de destino.``
POST /_snapshot/my_restore/snapshot_1/_restore { "indices": ".kibana*,.security*", "ignore_unavailable": true, "include_global_state": false }`` -
Reabra os índices de sistema
.kibana*e.security*imediatamente após a conclusão da restauração.``
POST /<index name>/_open``
-
Para um cluster de origem V8.5, execute o seguinte comando no console do Kibana do cluster de destino para restaurar o estado do recurso de segurança a partir do
snapshot_1.``
POST _snapshot/my_restore/snapshot_1/_restore { "feature_states": [ "security" ], "include_global_state": false, "indices": "-*" }``
-
-
Verifique se as informações de usuário foram restauradas no cluster de destino.
No canto superior esquerdo do console do Kibana do cluster de destino, clique em
. No painel de navegação à esquerda, escolha Management > Stack Management.No painel de navegação à esquerda, clique em Users. Na página Users, confirme que o usuário
karacom a funçãocj_test_roleexiste. Se o usuário aparecer, a restauração foi bem-sucedida.

Reutilizar visualizações de um cluster do Elasticsearch de origem para um cluster do Elasticsearch de destino
Etapa 1: Preparar o ambiente
Faça login no console do Kibana do cluster do Elasticsearch de origem. Para mais informações, consulte Fazer login no console do Kibana.
-
Adicione dados de amostra. Quando Add data mudar para View data, o conjunto de dados estará carregado e o Kibana criará automaticamente as visualizações relacionadas.
Na página inicial do console do Kibana, clique em Try sample data na seção Get started by adding integrations.
Na aba Sample data, clique em Other sample data sets.
No cartão Sample flight data, clique em Add data.
NotaEste exemplo utiliza um cluster do Elasticsearch V8.5. As etapas para adicionar dados de amostra podem variar conforme a versão do Elasticsearch — siga as instruções exibidas no seu console do Kibana.

Confirme que as visualizações existem no cluster de origem. Clique em
no canto superior esquerdo e escolha Analytics > Visualize Library. Confirme que visualizações como [Flights] Destination Weather e [Flights] Delays & Cancellations estão listadas.
Etapa 2: Criar um snapshot para fazer backup dos dados no cluster do Elasticsearch de origem
Faça login no console do Kibana do cluster do Elasticsearch de origem. Para mais informações, consulte Fazer login no console do Kibana.
-
Crie um repositório de snapshots chamado
my_backupno cluster de origem.-
Para um cluster gerenciado pelo Alibaba Cloud:
``
PUT _snapshot/my_backup/ { "type": "oss", "settings": { "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com", "access_key_id": "xxxx", "secret_access_key": "xxxxxx", "bucket": "xxxxxx", "compress": true, "chunk_size": "500mb", "base_path": "snapshot/" } }`` -
Para um cluster V8.X auto-gerenciado, instale primeiro o plug-in elasticsearch-repository-oss. Para etapas de instalação, consulte Instalar o plug-in elasticsearch-repository-oss. Para detalhes sobre o plug-in, consulte elasticsearch-repository-oss.
``
PUT /_snapshot/my_backup { "type": "oss", "settings": { "oss.client.endpoint": "oss-cn-shanghai.aliyuncs.com", "oss.client.access_key_id": "xxx", "oss.client.secret_access_key": "xxx", "oss.client.bucket": "xxxxxx", "oss.client.base_path":"snapshot/", "oss.client.compress": true } }``
Parâmetro
Descrição
endpoint
Endpoint interno do bucket do OSS. Para mais informações, consulte Regiões e endpoints.
access_key_id
AccessKey ID da sua conta. Para mais informações, consulte Obter um par de AccessKey.
secret_access_key
AccessKey Secret da sua conta. Para mais informações, consulte Obter um par de AccessKey.
bucket
Nome do bucket do OSS. Para mais informações, consulte Criar um bucket.
compress
Define se os dados do snapshot devem ser compactados. Defina como
truepara ativar a compactação (aplica-se apenas a metadados de índice, como mapeamentos e configurações). O padrão éfalse.chunk_size
Tamanho máximo de cada parte ao carregar grandes volumes de dados no OSS em múltiplas partes. Dados que excedem esse tamanho são transferidos para a próxima parte.
base_path
Diretório raiz do repositório. O padrão é a raiz. Especifique um subdiretório para isolar snapshots — por exemplo,
snapshot/myindex/. -
-
Crie um snapshot para o cluster de origem. O comando varia conforme a versão do cluster.
-
Para um cluster de origem V7.10, execute o seguinte comando para criar um snapshot chamado
snapshot_2. Para detalhes dos parâmetros, consulte Create snapshot API.``
PUT _snapshot/my_backup/snapshot_2 { "indices": ".kibana*,.security*", "ignore_unavailable": true, "include_global_state": true }`` -
Para um cluster de origem V8.5, execute o seguinte comando para criar um snapshot chamado
snapshot_2direcionado aos estados dos recursos de segurança e do Kibana. Para detalhes dos parâmetros, consulte Create snapshot API.``
PUT _snapshot/my_backup/snapshot_2 { "indices": "-*", "ignore_unavailable": true, "include_global_state": true, "feature_states": [ "security","kibana" ] }``
-
-
Verifique se o snapshot foi criado com sucesso. Execute o seguinte comando para consultar
snapshot_2no repositóriomy_backup.GET _snapshot/my_backup/snapshot_2
Etapa 3: Restaurar dados do snapshot
Faça login no console do Kibana do cluster do Elasticsearch de destino. Para mais informações, consulte Fazer login no console do Kibana.
-
Crie um repositório de snapshots chamado
my_restoreno cluster de destino, apontando para o mesmo bucket do OSS usado no cluster de origem.PUT _snapshot/my_restore { "type": "oss", "settings": { "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com", "access_key_id": "[your_access_key_id]", "secret_access_key": "[your_secret_access_key]", "bucket": "[your_bucket_name]", "compress": true, "chunk_size": "500mb", "base_path": "snapshot/" } } -
Restaure os dados do snapshot para o cluster de destino.
-
Para um cluster de origem V7.10, siga estas etapas. O fechamento de índices de sistema desativa temporariamente recursos do cluster — realize essa operação apenas fora do horário de pico ou quando o cluster estiver ocioso.
Fechar o índice
.kibana*torna o console do Kibana indisponível. Fechar o índice.security*afeta a segurança dos dados. Faça backup desses índices antes de prosseguir.Faça backup dos dados nesses índices de sistema antes de fechá-los para garantir a recuperação, se necessário.
Feche esses índices apenas fora do horário de pico ou quando o cluster não estiver atendendo tráfego.
Se o fechamento de índices pelo console do Kibana falhar, use um terminal. Para detalhes, consulte Comandos curl para gerenciar um cluster do Elasticsearch.
-
Feche os índices de sistema
.kibana*e.security*no cluster de destino.``
POST /<index name>/_close`` -
Restaure os dados do
snapshot_2para o cluster de destino.``
POST /_snapshot/my_restore/snapshot_2/_restore { "indices": ".kibana*,.security*", "ignore_unavailable": true, "include_global_state": false }`` -
Reabra os índices de sistema
.kibana*e.security*imediatamente após a conclusão da restauração.``
POST /<index name>/_open``
-
Para um cluster de origem V8.5, execute o seguinte comando no console do Kibana do cluster de destino para restaurar os estados dos recursos de segurança e do Kibana a partir do
snapshot_2.``
POST _snapshot/my_restore/snapshot_2/_restore { "feature_states": [ "security","kibana" ], "include_global_state": false, "indices": "-*" }``
-
Verifique se as visualizações estão disponíveis no cluster de destino. Clique em
no canto superior esquerdo do console do Kibana e escolha Analytics > Visualize Library. Confirme que as visualizações do cluster de origem aparecem na página Visualize Library.