Todos os produtos
Search
Central de documentação

Elasticsearch:Uso do plug-in logstash-input-sls

Última atualização: Aug 19, 2026

O logstash-input-sls é um plug-in de entrada nativo do Alibaba Cloud Logstash que recupera logs do Simple Log Service.

Nota

O logstash-input-sls é um plug-in open source mantido pela Alibaba Cloud. Para mais informações, consulte logstash-input-logservice.

Recursos

  • Consumo colaborativo distribuído: Configure vários servidores para consumir dados de log em um Logstore simultaneamente.

    Nota

    Para implementar o consumo colaborativo distribuído com múltiplos servidores Logstash, garanta a implantação de apenas um pipeline com o logstash-input-sls em cada servidor. Essa restrição deve-se aos limites do plug-in. A implantação de vários pipelines com o logstash-input-sls em um único servidor pode gerar dados duplicados na saída.

  • Alto desempenho: Com um grupo de consumidores Java, a velocidade de consumo de uma CPU single-core atinge 20 MB/s.

  • Alta confiabilidade: O logstash-input-sls salva o progresso de consumo nos servidores. Se um servidor se recuperar de uma falha, ele retomará o consumo dos dados a partir do último checkpoint.

  • Balanceamento de carga automático: O sistema aloca shards automaticamente conforme a quantidade de consumidores no grupo. Quando consumidores entram ou saem do grupo, o logstash-input-sls realoca os shards.

Pré-requisitos

  • Plug-in logstash-input-sls instalado.

    Para mais informações, consulte Instale ou remova plug-ins.

  • Projeto do Simple Log Service e Logstore criados, com coleta de dados configurada.

    Para mais informações, consulte Quick start.

Aplicação do logstash-input-sls

Após atender aos prerequisites, crie um pipeline seguindo as instruções em Gerencie pipelines do Logstash com arquivos de configuração. Durante a criação, configure os parâmetros do pipeline conforme as descrições na tabela da seção Parâmetros. Salve as configurações e implante o pipeline para acionar o Alibaba Cloud Logstash a recuperar dados do Simple Log Service.

Importante

Antes de usar o plug-in logstash-input-sls com um usuário RAM, conceda as permissões relacionadas a grupos de consumidores a esse usuário. Para mais informações, consulte Consuming logs with a consumer group.

O exemplo a seguir demonstra como usar o Alibaba Cloud Logstash para consumir dados de log de um Logstore e transferi-los para o Alibaba Cloud Elasticsearch:

input {
 logservice{
  endpoint => "your project endpoint"
  access_id => "your access id"
  access_key => "your access key"
  project => "your project name"
  logstore => "your logstore name"
  consumer_group => "consumer group name"
  consumer_name => "consumer name"
  position => "end"
  checkpoint_second => 30
  include_meta => true
  consumer_name_with_ip => true
  }
}

output {
  elasticsearch {
    hosts => ["http://es-cn-***.elasticsearch.aliyuncs.com:9200"]
    index => "<your_index>"
    user => "elastic"
    password => "changeme"
  }
}

Considere o seguinte cenário: o Logstore possui 10 shards, cada um com tráfego de dados de 1 MB/s, e a capacidade de processamento de cada servidor Logstash é de 3 MB/s. Cinco servidores Logstash são alocados, com um pipeline contendo o logstash-input-sls implantado em cada um. Todos os servidores utilizam as mesmas configurações para consumer_group e consumer_name, e o parâmetro consumer_name_with_ip está definido como true.

Nesse caso, dois shards são alocados para cada servidor, resultando em um processamento de dados de 2 MB/s por shard.

Parâmetros

A tabela a seguir descreve os parâmetros suportados pelo logstash-input-sls.

Parâmetro

Tipo

Obrigatório

Descrição

endpoint

String

Sim

Endpoint do projeto do Simple Log Service em uma virtual private cloud (VPC). Para mais informações, consulte Internal Simple Log Service endpoints.

access_id

String

Sim

AccessKey ID da conta com permissões no grupo de consumidores. Para mais informações, consulte Consuming logs with a consumer group.

access_key

String

Sim

AccessKey secret da conta com permissões no grupo de consumidores. Para mais informações, consulte Consuming logs with a consumer group.

project

String

Sim

Nome do projeto do Simple Log Service.

logstore

String

Sim

Nome do Logstore.

consumer_group

String

Sim

Nome do grupo de consumidores (personalizável).

consumer_name

String

Sim

Nome do consumidor (personalizável). Cada consumidor deve ter um nome exclusivo dentro do grupo para evitar comportamentos indefinidos.

position

String

Sim

Posição inicial para o consumo de dados de log. Valores válidos:

  • begin: Consome a partir da primeira entrada de log gravada no Logstore.

  • end: Consome a partir do momento atual.

  • yyyy-MM-dd HH:mm:ss: Consome a partir do horário especificado.

checkpoint_second

Number

Não

Intervalo para acionar um checkpoint. Recomenda-se definir um valor entre 10s e 60s. Valor mínimo: 10. Valor padrão: 30. Unidade: segundos.

include_meta

Boolean

Não

Define se os logs de entrada contêm metadados, como origem do log, horário, tag e tópico. Valor padrão: true.

consumer_name_with_ip

Boolean

Não

Indica se o nome do consumidor inclui um endereço IP. Valor padrão: true. Defina como true para consumo colaborativo distribuído.

Teste de benchmark de desempenho

  • Ambiente de teste

    • CPU: Processador Intel(R) Xeon(R) Platinum 8163 @ 2,50 GHz, 4 núcleos

    • Memória: 8 GB

    • Sistema operacional: Linux

  • Configuração de um pipeline do Logstash

    input {
      logservice{
      endpoint => "cn-hangzhou-intranet.log.aliyuncs.com"
      access_id => "***"
      access_key => "***"
      project => "test-project"
      logstore => "logstore1"
      consumer_group => "consumer_group1"
      consumer_name => "consumer1"
      position => "end"
      checkpoint_second => 30
      include_meta => true
      consumer_name_with_ip => true
      }
    }
    output {
      elasticsearch {
        hosts => ["http://es-cn-***.elasticsearch.aliyuncs.com:9200"]
        index => "myindex"
        user => "elastic"
        password => "changeme"
      }
    }
  • Procedimento de teste

    1. Envie 2 MB, 4 MB, 8 MB, 16 MB e 32 MB de dados por segundo para o Logstore usando um producer Java.

      Cada entrada de log contém 10 pares chave-valor e tem aproximadamente 500 bytes.

    2. Inicie o Logstash para consumir os dados no Logstore. Verifique se a latência de consumo não aumenta e se a velocidade de consumo acompanha a velocidade de produção.

  • Resultados do teste

    Tráfego (MB/s)

    Utilização da CPU (%)

    Uso de memória (GB)

    32

    170,3

    1,3

    16

    83,3

    1,3

    8

    41,5

    1,3

    4

    21,0

    1,3

    2

    11,3

    1,3