O Alibaba Cloud Logstash suporta até 20 pipelines paralelos. Cada um utiliza plugins de input, output e filtros opcionais para coletar e processar dados. É possível criar, modificar, clonar e excluir pipelines por meio de arquivos de configuração.
Pré-requisitos
-
Uma instância do Alibaba Cloud Elasticsearch foi criada.
-
A criação automática de índices está ativada na instância do Elasticsearch, ou os índices e mapeamentos foram criados previamente.
Ative a criação automática de índices conforme descrito em Configure YML parameters. Crie índices e mapeamentos seguindo as instruções em Beginner's guide: From instance creation to data retrieval.
NotaPara garantir a segurança dos dados, o Alibaba Cloud Elasticsearch define o recurso Auto Indexing como Not allowed por padrão. Quando o Alibaba Cloud Logstash envia dados, ele cria um índice ao submeter esses dados, e não por meio da API de criação de índice. Portanto, antes de usar o Alibaba Cloud Logstash para carregar dados, defina o recurso Auto Indexing do seu cluster como Permitted ou crie antecipadamente o índice e os mapeamentos.
-
Uma instância do Alibaba Cloud Logstash foi criada.
Limitações
É permitido executar no máximo 20 pipelines em paralelo.
Caso o output seja uma instância do Alibaba Cloud Elasticsearch, ative a criação automática de índices ou crie o índice e os mapeamentos antes de prosseguir.
Todos os services da Alibaba Cloud devem estar na mesma VPC. Para acesso entre VPCs diferentes, Configure NAT public network data transfer.
Para utilizar o parâmetro de output file_extend, instale primeiro o plugin logstash-output-file_extend. Install or uninstall plugins.
Criar um pipeline
Acesse a página Logstash Clusters.
-
Acesse o cluster desejado.
Na barra de navegação superior, selecione a região onde o cluster está localizado.
Na página Logstash Clusters, localize o cluster e clique em seu ID.
No painel de navegação à esquerda, clique em Pipelines.
Clique em Create Pipeline.
-
Insira o Pipeline ID e as Config Settings.
Exemplo de configuração:
input { beats { port => 8000 } } filter { } output { elasticsearch { hosts => ["http://es-cn-o40xxxxxxxxxx****.elasticsearch.aliyuncs.com:9200"] index => "logstash_test_1" password => "es_password" user => "elastic" } file_extend { path => "/ssd/1/ls-cn-v0h1kzca****/logstash/logs/debug/test" } }Parâmetro
Descrição
input
Fonte de dados de entrada. Para tipos suportados, consulte plugins de input.
Nota-
Plugins de input que escutam em uma porta devem utilizar uma porta no intervalo de 8000 a 9000.
-
Para adicionar plugins, drivers ou outros arquivos à seção de input, clique em Show Third-party Libraries. Na caixa de diálogo Third-party Libraries, clique em Upload para carregar os arquivos. configure extended files.
filter
Filtra os dados de entrada. Para tipos de plugins suportados, consulte plugins de filtro.
output
Destino de saída. Para tipos suportados, consulte plugins de output.
file_extend: Opcional. Ativa logs de depuração e define o caminho de saída desses logs com o parâmetro path. Utilize este parâmetro para visualizar o output diretamente no console, sem precisar verificar no destino. Use the Logstash pipeline configuration debugging feature.
ImportanteO parâmetro file_extend exige 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.
A estrutura do arquivo de configuração e os tipos de dados suportados variam conforme a versão. Para mais detalhes, consulte Estrutura de um arquivo de configuração.
ImportanteAo usar um driver JDBC, adicione
allowLoadLocalInfile=false&autoDeserialize=falseao parâmetro jdbc_connection_string para passar na validação do pipeline. Exemplo:jdbc_connection_string => "jdbc:mysql://xxx.drds.aliyuncs.com:3306/<database_name>?allowLoadLocalInfile=false&autoDeserialize=false".Para parâmetros como last_run_metadata_path, utilize o caminho /ssd/1/<Logstash_instance_ID>/logstash/data/ durante testes. Os dados nesse diretório são persistentes, portanto garanta espaço suficiente em disco. O Logstash gera automaticamente um arquivo no caminho especificado, mas não é possível visualizar seu conteúdo.
As instâncias do Logstash operam dentro de uma VPC. Sempre que possível, utilize recursos na mesma VPC. Para acesso via internet, Configure NAT public network data transfer.
Utilize o plugin file_extend para logs de depuração em vez do stdout.
-
-
Clique em Next step e configure os parâmetros do pipeline.
Parâmetro
Descrição
Pipeline Workers
Quantidade de threads de trabalho para as etapas de filtro e output. 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
Número máximo de eventos que um worker coleta antes de executar filtros e outputs. 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 entre1e253-1. Valor padrão:1024.NotaCertifique-se de que este valor seja menor que a capacidade total do 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.
AvisoSalvar e implantar a configuração reinicia a instância. Prossiga apenas se isso não impactar seus negócios.
-
-
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.
-
Na mensagem de sucesso, clique em OK. O pipeline recém-criado estará visível em Pipelines.
O pipeline é criado após o reinício da instância.
Modificar um pipeline
Modificar e implantar um pipeline reinicia a instância. Execute esta operação apenas quando não houver impacto nos seus negócios.
Na seção Pipelines, localize o pipeline desejado e clique em Modify na coluna Actions.
Na página Modify, altere as Config Settings e os Pipeline Parameters. Não é possível modificar o Pipeline ID.
Clique em Save ou Save and Deploy. A modificação do pipeline ocorre após a conclusão do reinício da instância.
Clonar um pipeline
Clonar e implantar um pipeline reinicia a instância. Realize esta operação somente se não afetar seus negócios.
Na seção Pipelines, encontre o pipeline alvo e, na coluna Actions, clique em .
Na página Copy, altere o Pipeline ID. As demais configurações permanecem inalteradas.
Clique em Save ou Save and Deploy. O pipeline será clonado após o término do reinício da instância.
Excluir um pipeline
Pipelines excluídos não podem ser recuperados. Esta ação interrompe tarefas em execução no pipeline.
A exclusão de um pipeline desencadeia uma alteração na instância. Execute esta operação apenas quando não houver impacto nos seus negócios.
Na seção Pipelines, localize o pipeline desejado e, na coluna Actions, clique em .
Na caixa de diálogo Delete, revise o aviso de risco.
Clique em Continue. O pipeline é excluído após a conclusão da alteração na instância.
Documentos relacionados
API para criação de pipelines: CreatePipelines
Melhor prática para migração de dados com Logstash: Migrate data from a self-managed Elasticsearch cluster to an Alibaba Cloud Elasticsearch cluster by using Alibaba Cloud Logstash
Sincronizar dados do MySQL com Logstash: Synchronize data from an ApsaraDB RDS for MySQL database to an Elasticsearch cluster by using Logstash
Sincronizar dados de log com Logstash: logstash-input-sls plugin user guide
> Copy