Use o Logstash para consumir dados do Simple Log Service. Configure o Simple Log Service Simple Log Service para recuperar dados do Simple Log Service e gravá-los em outros sistemas, como Kafka ou HDFS.Simple Log ServiceSimple Log ServiceSimple Log ServiceSimple Log Service
Recursos
-
Consumo distribuído: configure múltiplos servidores para consumir dados de um único Logstore simultaneamente.
-
Alto desempenho: com base na implementação de grupo de consumidores em Java, um único núcleo consome dados não comprimidos a até 20 MB/s.
-
Alta confiabilidade: o progresso do consumo é salvo no servidor. Em caso de exceção, o consumo é retomado automaticamente a partir do último checkpoint.
-
Balanceamento de carga automático: os shards são alocados automaticamente com base no número de consumidores. O balanceamento é refeito de forma automática quando consumidores são adicionados ou removidos.
Procedimento
Baixe o pacote de instalação do Logstash para o seu sistema operacional em LogstashLogstash.Logstash
Este tópico usa um sistema Linux como exemplo:
-
Instale o Logstash. Para obter mais informações, consulte Logstash.
-
Baixe e instale a chave de assinatura pública.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch -
No diretório /etc/yum.repos.d/, crie um arquivo com extensão .repo, como logstash.repo, e adicione o seguinte conteúdo:
/etc/yum.repos.d/.repologstash.repo[logstash-9.x] name=Elastic repository for 9.x packages baseurl=https://artifacts.elastic.co/packages/9.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md -
Baixe e instale o Logstash.
sudo yum install logstash
-
-
Instale o plugin de entrada.
-
Baixe o plugin de entrada em logstash-input-sls.
-
Instale o plugin de entrada.
/usr/share/logstash/bin/logstash-plugin install logstash-input-sls.zipnullpara obter informações sobre possíveis falhas de instalação e soluções, consulte Plugin installation and configuration.
-
-
Crie o usuário logstash. O Logstash deve ser executado como um usuário não root.
logstash-
Crie o usuário logstash.
logstashsudo adduser --system --no-create-home --group logstash -
Defina as permissões para o usuário logstash. Verifique se os diretórios relacionados ao Logstash, como /usr/share/logstash, /etc/logstash e /var/log/logstash, pertencem ao usuário logstash.
/usr/share/logstash/etc/logstash/var/log/logstashlogstashsudo chown -R logstash:logstash /usr/share/logstash /etc/logstash /var/log/logstash -
Verifique se o usuário logstash foi criado. A saída exibe o ID do usuário (UID) e o ID do grupo (GID) do usuário logstash, confirmando que a criação foi bem-sucedida.
logstashid logstashThe output shows the user ID (UID) and group ID (GID) for the
logstashuser, which confirms that the user was created successfully.[root@iZxxx ~]# id logstash uid=995(logstash) gid=992(logstash) groups=992(logstash)
-
-
Inicie o Logstash como o usuário logstash.
logstash-
No diretório /etc/logstash, crie um arquivo com extensão .conf. Este tópico usa logstash-sample.conf como exemplo.
/etc/logstashlogstash-sample.conf -
No arquivo logstash-sample.conf, adicione o código de exemplo e execute o Logstash como o usuário logstash. O exemplo a seguir configura o Logstash para consumir dados de um Logstore e exibi-los na saída padrão. A tabela abaixo descreve os parâmetros.
logstash-sample.conflogstashsudo -u logstash /usr/share/logstash/bin/logstash -f /etc/logstash/logstash-sample.confThe following example configures Logstash to consume data from a Logstore and print it to standard output. The following table describes the parameters.
*Parâmetros*
Código de exemplo
input { logservice{ endpoint => "your project endpoint" access_id => "your_accesskey_id" access_key => "your_accesskey_secret" 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 { stdout {} }endpointstring (Obrigatório) O endpoint de serviço para o SLS Project.
stringPara obter mais informações, consulte <a data-root="16376" data-node="3320807" data-tag="xref" href="t2157390.xdita#" id="9dd7ace2c94c5">Endpoints de serviço</a>. Service endpoints
access_idstring (Obrigatório) O AccessKey ID da sua conta Alibaba Cloud.
stringEssa chave deve ter permissões para gerencie o grupo de consumidores. Para obter mais informações, consulte <a data-root="16376" data-node="19056" data-tag="xref" id="59079596b57bb" href="t19056.xdita#4f866f00249iy">Conceder permissões para consumir dados de um Logstore</a>.Grant permissions to consume data from a Logstore
access_keystring (Obrigatório) O AccessKey Secret da sua conta Alibaba Cloud.
stringEssa chave deve ter permissões para gerencie o grupo de consumidores. Para obter mais informações, consulte <a data-root="16376" data-node="19056" data-tag="xref" id="09ad661da158r" href="t19056.xdita#4f866f00249iy">Conceder permissões para consumir dados de um Logstore</a>.Grant permissions to consume data from a Logstore
projectstring (Obrigatório) O nome do SLS Project.
stringThe name of the SLS Project.
logstorestring (Obrigatório) O nome do SLS Logstore.
stringThe name of the SLS Logstore.
consumer_groupstring (Obrigatório) O nome do grupo de consumidores.
stringThe name of the consumer group.
consumer_namestring (Obrigatório) O nome do consumidor.
stringO nome deve ser exclusivo dentro de um grupo de consumidores.
positionstring (Obrigatório) A posição de início do consumo. begin: inicia o consumo a partir da primeira entrada do Logstore. end: inicia o consumo a partir do momento atual. yyyy-MM-dd HH:mm:ss: inicia o consumo a partir de um ponto específico no tempo.
stringThe consumption start position.
-
begin: Start consumption from the first entry in the Logstore.
-
end: Start consumption from the current time.
-
yyyy-MM-dd HH:mm:ss: Start consumption from a specific point in time.
checkpoint_secondnumber (Opcional) O intervalo, em segundos, para salvar um checkpoint.
numberO intervalo recomendado é de 10 a 60. O valor mínimo é 10. Padrão: 30.
include_metaboolean (Opcional) Especifica se os metadados devem ser incluídos, como source, time, tag e topic.
booleanPadrão: true.
consumer_name_with_ipboolean (Opcional) Especifica se o endereço IP deve ser anexado ao nome do consumidor.
booleanEste parâmetro deve ser defina como true para consumo distribuído. Padrão: true.
-
-