Todos os produtos
Search
Central de documentação

Elasticsearch:Migrar dados do Elasticsearch autogerenciado usando o Alibaba Cloud Logstash

Última atualização: Aug 21, 2026

Utilize um pipeline do Alibaba Cloud Logstash para migrar dados de um cluster Elasticsearch autogerenciado para uma instância do Alibaba Cloud Elasticsearch.

Limitações

  • As instâncias ECS que hospedam seu cluster Elasticsearch autogerenciado devem estar implantadas em uma VPC. Instâncias ECS conectadas via ClassicLink não são suportadas.

  • As instâncias do Alibaba Cloud Logstash são implantadas em uma VPC. Caso seu cluster Elasticsearch autogerenciado e a instância do Alibaba Cloud Logstash estejam na mesma VPC, a conexão direta é possível. Se estiverem em VPCs diferentes, será necessário usar um NAT Gateway para estabelecer a conexão pela internet pública. Para mais informações, consulte Configure data transmission over the public network by using a NAT Gateway.

  • O grupo de segurança das instâncias ECS que hospedam o cluster Elasticsearch autogerenciado deve permitir tráfego na porta 9200 proveniente de todos os endereços IP dos nós da instância Logstash. Consulte a página Basic Information para obter esses endereços IP.

  • Este tópico utiliza como exemplo um cluster Elasticsearch 8.17 autogerenciado, uma instância do Alibaba Cloud Elasticsearch 8.17 e uma instância do Alibaba Cloud Logstash 8.11.4. Os scripts fornecidos aplicam-se exclusivamente a este cenário e podem não ser compatíveis com outras configurações.

Procedimento

  1. Step 1: Prepare the environment

  2. Step 2: Configure and run the Logstash pipeline

  3. Step 3: View the migration results

Etapa 1: Preparar o ambiente

  1. Configure um cluster Elasticsearch autogerenciado.

    Implante o cluster Elasticsearch autogerenciado no Alibaba Cloud ECS. Este tópico usa a versão 8.17 como exemplo. Para mais detalhes, consulte Instalar e executar o Elasticsearch.

  2. Crie uma instância do Alibaba Cloud Logstash.

    Crie a instância Logstash na mesma VPC das instâncias ECS que hospedam seu cluster Elasticsearch autogerenciado. Para mais informações, consulte Create an Alibaba Cloud Logstash instance.

  3. Crie a instância de destino do Alibaba Cloud Elasticsearch e ative a indexação automática para ela.

    • Crie uma instância Elasticsearch na mesma VPC e com a mesma versão da sua instância Logstash. Este tópico utiliza a versão 8.17 como exemplo. Para mais informações, consulte Create an Alibaba Cloud Elasticsearch instance.

    • Para saber como ativar a indexação automática, consulte Configure YML parameters.

      Nota

      O Logstash sincroniza apenas dados, e não estruturas de dados. Ativar a indexação automática pode resultar em inconsistências nas estruturas de dados após a migração. Para garantir a consistência, crie um índice vazio na instância Elasticsearch de destino antes de iniciar. Ao criar o índice, copie os mappings e settings do índice de source e configure um número adequado de shards.

Etapa 2: Configurar e executar o pipeline do Logstash

  1. Acesse a página Logstash Clusters.

  2. Acesse o cluster de destino.

    1. Na barra de navegação superior, selecione a região onde o cluster está localizado.

    2. Na página Logstash Clusters, localize o cluster e clique em seu ID.

  3. No painel de navegação à esquerda, clique em Pipelines.

  4. Clique em Create Pipeline.

  5. Na página Create, insira um ID de pipeline e configure-o.

    Utilize a seguinte configuração de pipeline.

    input {
      elasticsearch {
        hosts => ["http://<IP address of the self-managed Elasticsearch master node>:9200"]
        user => "elastic"
        index => "*,-.monitoring*,-.security*,-.kibana*"
        password => "your_password"
        docinfo => true
      }
    }
    filter {
    }
    output {
      elasticsearch {
        hosts => ["http://es-cn-mp91cbxsm000c****.elasticsearch.aliyuncs.com:9200"]
        user => "elastic"
        password => "your_password"
        index => "%{[@metadata][input][elasticsearch][_index]}"
        document_id => "%{[@metadata][input][elasticsearch][_id]}"
      }    
      file_extend {
            path => "/ssd/1/ls-cn-v0h1kzca****/logstash/logs/debug/test"
        }
    }

    Tabela 1. Parâmetros

    Parâmetro

    Descrição

    hosts

    Endpoint do service Elasticsearch autogerenciado ou do Alibaba Cloud. Na seção input, utilize o formato http://<IP address of the self-managed Elasticsearch master node>:<port>. Na seção output, utilize o formato http://<ID of the Alibaba Cloud Elasticsearch instance>.elasticsearch.aliyuncs.com:9200.

    Importante

    Substitua <IP address of the self-managed Elasticsearch master node>, <port> e <ID of the Alibaba Cloud Elasticsearch instance> pelos seus valores reais.

    user

    Nome de usuário para acessar o service Elasticsearch autogerenciado ou do Alibaba Cloud.

    Importante
    • Os parâmetros user e password são obrigatórios. Caso seu cluster Elasticsearch autogerenciado não tenha o X-Pack instalado, deixe esses parâmetros vazios.

    • O nome de usuário padrão para acessar uma instância do Alibaba Cloud Elasticsearch é elastic, conforme utilizado neste guia. Para utilizar um usuário personalizado, atribua as funções e permissões necessárias a ele. Para mais informações, consulte Use Elasticsearch X-Pack for role-based access control.

    password

    Senha para acessar o service Elasticsearch autogerenciado ou do Alibaba Cloud.

    index

    Especifique os nomes dos índices a serem sincronizados. Defina o parâmetro input como ,-.monitoring,-.security,-.kibana para sincronizar todos os índices, exceto os índices de sistema que começam com .. Defina o parâmetro output como %{[@metadata][input][elasticsearch][_index]} para corresponder ao nome do índice nos metadados. Isso garante que os nomes dos índices no Alibaba Cloud Elasticsearch sejam idênticos aos do seu Elasticsearch autogerenciado.

    docinfo

    Quando definido como true, o plugin de input elasticsearch extrai metadados do documento, como índice, tipo e ID, dos documentos do Elasticsearch autogerenciado.

    document_id

    Se definido como %{[@metadata][input][elasticsearch][_id]}, o ID do documento é obtido dos metadados. Isso assegura que os IDs dos documentos na instância de destino correspondam aos da source.

    file_extend

    Opcional. Ativa logs de depuração e utiliza o parâmetro path para definir o caminho de saída desses logs. Recomendamos configurar este parâmetro. Após ativá-lo, é possível visualizar a saída diretamente no console. Sem essa ativação, você precisará verificar a saída no destino e retornar ao console para modificar o pipeline, um processo que consome tempo. Para mais informações, consulte Use pipeline configuration debugging.

    Importante

    O parâmetro file_extend requer o plugin logstash-output-file_extend. Install or uninstall plugins. O parâmetro path assume por padrão um caminho especificado pelo sistema. Não o modifique. Também é possível obter o path clicando em Start Configuration Debug.

    O plugin de input do Elasticsearch é útil para tarefas como importação em massa de logs de teste mediante a leitura de documentos de um cluster do Alibaba Cloud Elasticsearch. Por padrão, esse processo é interrompido após a leitura de todos os dados. No entanto, as instâncias do Alibaba Cloud Logstash executam continuamente e reiniciam automaticamente processos parados. Em cenários de tarefa única, esse comportamento pode causar gravações duplicadas de dados. Para evitar isso, utilize o parâmetro schedule com uma expressão cron para executar a tarefa apenas uma vez. O pipeline será encerrado após essa execução única, impedindo repetições. Para mais informações, consulte a documentação oficial do Logstash sobre Agendamento.

    Por exemplo, para agendar a execução da tarefa às 13:20 do dia 5 de março:

    schedule => "20 13 5 3 *"

    Para mais detalhes sobre as opções de configuração de pipeline, consulte Logstash configuration files.

  6. Clique em Next step e configure os parâmetros do pipeline.

    Parâmetro

    Descrição

    Pipeline Workers

    Número de threads de trabalho para as etapas de filtro e saída. Aumente este valor se houver acúmulo de eventos ou subutilização da CPU. Padrão: número de núcleos da CPU.

    Pipeline Batch Size

    Quantidade máxima de eventos que um worker coleta antes de executar filtros e saídas. Lotes maiores aumentam o uso de memória e podem exigir um tamanho maior para o heap da JVM (LS_HEAP_SIZE). Padrão: 125.

    Pipeline Batch Delay

    Tempo de espera em milissegundos antes de enviar um lote incompleto para uma thread de trabalho. Padrão: 50 ms.

    Queue Type

    Modelo interno de enfileiramento para buffer de eventos entre etapas. Valores válidos:

    • MEMORY: Padrão. Utiliza uma fila em memória.

    • PERSISTED: Fila persistente baseada em disco.

    Queue Max Bytes

    Quantidade máxima de dados que a fila pode armazenar, em MB. O valor deve ser um inteiro entre 1 e 253-1. Valor padrão: 1024.

    Nota

    Certifique-se de que este valor seja inferior à capacidade total do seu disco.

    Queue Checkpoint Writes

    Número máximo de eventos gravados antes que um checkpoint seja forçado (apenas para fila persistente). 0 indica sem limite. Padrão: 1024.

    Aviso

    Salvar e implantar a configuração aciona a reinicialização da instância. Prossiga apenas se isso não impactar seus negócios.

  7. Clique em Save ou Save and Deploy.

    • Save: Salva a configuração do pipeline sem aplicá-la. Após salvar, você retorna à página Pipelines. Na seção Pipelines, clique em Deploy Now na coluna Actions para reiniciar a instância e aplicar a configuração.

    • Save and Deploy: Salva e implanta a configuração, reiniciando a instância para aplicar as alterações.

Etapa 3: Visualizar os resultados da migração

  1. No Alibaba Cloud Elasticsearch, log on to the Kibana console. No painel de navegação à esquerda, clique no ícone 展开图标 e selecione Management > Dev Tools.

    Nota

    Este tópico utiliza o Alibaba Cloud Elasticsearch 8.17 como exemplo. A interface do usuário pode variar conforme a sua versão.

  2. No Console, execute o comando GET /_cat/indices?v para visualizar os índices migrados com sucesso.

    Os resultados retornados mostram que o índice orders apresenta health verde, status open e docs.count igual a 1, indicando que a migração dos dados foi concluída com êxito.

Perguntas frequentes

  • P: Como estabelecer conectividade de rede se as instâncias ECS que hospedam o cluster Elasticsearch autogerenciado e a instância do Alibaba Cloud Logstash pertencerem a contas diferentes?

    R: Se as instâncias ECS e a instância Logstash pertencerem a contas distintas, elas deverão estar em VPCs diferentes. Conecte as duas VPCs utilizando a Cloud Enterprise Network (CEN). Para mais informações, consulte Step 3: Attach network instances.

  • P: O que fazer se ocorrer um erro durante a gravação de dados pelo Logstash?

    R: Consulte Troubleshoot Logstash data write issues para obter etapas de diagnóstico e resolução.

  • P: Posso usar o Alibaba Cloud Logstash 8.11 para migrar dados de uma instância Elasticsearch 7.2 autogerenciada para uma instância do Alibaba Cloud Elasticsearch 7.10?

    R: Sim. No entanto, é necessário atender aos seguintes requisitos principais:

    • Rede e autenticação

      • Elasticsearch autogerenciado → Alibaba Cloud Logstash

        • A instância Elasticsearch autogerenciada deve possuir um IP público e uma lista de permissões configurada.

        • Configure a autenticação para o plugin de input: user/password (Basic Auth) ou um certificado SSL.

      • Alibaba Cloud Logstash → Alibaba Cloud Elasticsearch

        • Utilize uma conexão privada direta dentro da mesma VPC (recomendado). Esse método oferece acesso sem senha, autorizado pela associação de instâncias.

        • Caso as instâncias estejam em VPCs diferentes, configure um grupo de segurança e uma lista de permissões.

      Exemplo de configuração do Logstash

      input {
        elasticsearch {
          hosts => ["http://<public_IP_of_self-managed_ES>:9200"]
          user => "self_es_user"
          password => "self_es_password"
          index => "source_index"
          query => '{ "query": { "match_all": {} } }'
          size => 500
          scroll => "5m"
          docinfo => true  # Preserves _source metadata, which is used to specify _id on write.
        }
      }
      filter {
        # Optional: Add field cleanup, mapping conversion, and more.
      }
      output {
        elasticsearch {
          hosts => ["https://<internal_endpoint_of_Alibaba_Cloud_ES>:9200"]
          # Alibaba Cloud Logstash typically injects authentication automatically after you select the destination Elasticsearch instance.
          index => "target_index"
          document_id => "%{[@metadata][_id]}"  # Ensures consistent document IDs.
          ssl => true
          ssl_certificate_verification => false # You can disable this in test environments. We recommend that you use a CA certificate in production.
        }
      }