O plug-in logstash-output-oss transfere dados de pipelines do Alibaba Cloud Logstash para o Object Storage Service (OSS). Trata-se de um plug-in open source mantido pela Alibaba Cloud. Para acessar o código-fonte, consulte logstash-output-oss.
O Alibaba Cloud Logstash oferece suporte à transferência de dados apenas dentro de uma Virtual Private Cloud (VPC). Se a fonte de dados estiver na Internet, configure um gateway NAT antes de prosseguir. Para mais informações, consulte Configurar um gateway NAT para transferência de dados pela Internet .
Pré-requisitos
Antes de começar, verifique se você:
Instalou o plug-in logstash-output-oss. Para mais informações, consulte Instalar e remover um plug-in.
Ativou o OSS. Para mais informações, consulte Ativar o OSS.
Criou um bucket do OSS com permissão de leitura e escrita e obteve o AccessKey ID e o AccessKey secret de uma conta com permissões de gravação nesse bucket. Para mais informações, consulte Criar buckets.
Preparou as fontes de dados. O plug-in é compatível com todos os plug-ins de entrada do Logstash. Para obter a lista completa, consulte Input plugins.
Configurar o plug-in
Crie um pipeline usando um arquivo de configuração e defina a seção de saída com os parâmetros do plug-in oss. Após salvar e implantar o pipeline, o Alibaba Cloud Logstash transfere os dados das suas fontes para o OSS.
Para obter instruções sobre como criar um pipeline, consulte Usar arquivos de configuração para gerenciar pipelines.
O exemplo a seguir configura um pipeline que lê do Beats e grava no OSS:
input {
beats {
port => "8044" # required
codec => json {
charset => "UTF-8"
}
}
}
output {
oss {
endpoint => "http://oss-cn-hangzhou-internal.aliyuncs.com" # required
bucket => "zl-log-output-test" # required
access_key_id => "LTAI****************" # required
access_key_secret => "yourAccessKeySecret" # required
temporary_directory => "/ssd/1/<Logstash cluster ID>/logstash/data/22" # required
prefix => "oss/database" # optional, default: empty
recover => true # optional, default: true
rotation_strategy => "size_and_time" # optional, default: size_and_time
time_rotate => 1 # optional, default: 15 (minutes)
size_rotate => 1000 # optional, default: 31457280 (bytes)
encoding => "gzip" # optional, default: none
additional_oss_settings => {
max_connections_to_oss => 1024 # optional, default: 1024
secure_connection_enabled => false # optional, default: false
}
codec => json {
charset => "UTF-8"
}
}
}
Atualmente, o Alibaba Cloud Logstash oferece suporte à transferência de dados apenas dentro da mesma Virtual Private Cloud (VPC). Para transferir dados pela rede pública, configure o NAT. Para mais informações, consulte Configurar NAT para transferência de dados pela rede pública.
Parâmetros
A tabela a seguir descreve todos os parâmetros compatíveis com o logstash-output-oss.
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
endpoint |
String | Sim | — | Endpoint do OSS. Para valores de endpoint por região, consulte Regiões e endpoints. |
bucket |
String | Sim | — | Nome do bucket do OSS. |
access_key_id |
String | Sim | — | AccessKey ID de uma conta com permissões de gravação no bucket do OSS. |
access_key_secret |
String | Sim | — | AccessKey secret de uma conta com permissões de gravação no bucket do OSS. |
temporary_directory |
String | Sim | — | Diretório local usado para armazenar dados em cache antes do upload para o OSS. Defina o valor como /ssd/1/<Logstash cluster ID>/logstash/data/<customized>. Esse diretório é excluído segundos após a conclusão da transferência. |
prefix |
String | Não | (vazio) | Prefixo aplicado aos nomes dos arquivos. Importante
Definir este parâmetro pode gerar muitos arquivos temporários na máquina local. |
recover |
Boolean | Não | true |
Indica se o upload de dados locais deve ser retomado caso o programa seja encerrado inesperadamente. |
rotation_strategy |
String, um entre size, time, size_and_time |
Não | size_and_time |
Controla quando um arquivo é fechado e enviado ao OSS. Com size, a rotação ocorre ao atingir o limiar de size_rotate. Na opção time, o arquivo rotaciona ao atingir o tempo definido em time_rotate. Já em size_and_time, a rotação acontece assim que qualquer um dos dois limites for atingido primeiro. |
size_rotate |
Number | Não | 31457280 |
Limiar de tamanho de arquivo para rotação, em bytes. Válido apenas quando rotation_strategy estiver definido como size. |
time_rotate |
Number | Não | 15 |
Tempo limite de idade do arquivo para rotação, em minutos. Aplica-se somente se rotation_strategy for time. |
upload_workers_count |
Number | Não | — | Quantidade de threads simultâneas para upload. |
upload_queue_size |
Number | Não | — | Tamanho da fila de upload. |
encoding |
String, um entre gzip, none |
Não | none |
Codificação aplicada aos arquivos antes do envio. |
additional_oss_settings |
Hash | Não | — | Configurações adicionais do cliente OSS. Consulte os subparâmetros abaixo. |
Subparâmetros de additional_oss_settings
|
Subparâmetro |
Padrão |
Descrição |
|
|
— |
Algoritmo de criptografia do lado do servidor. Apenas |
|
|
|
Define se HTTPS será utilizado na conexão com o OSS. |
|
|
|
Número máximo de conexões simultâneas permitidas para o OSS. |
Arquivos temporários
Durante a transferência, o plug-in armazena dados em cache num arquivo temporário local e envia periodicamente para o OSS. Use o parâmetro temporary_directory para especificar onde esse arquivo ficará salvo.
O caminho do arquivo temporário segue este formato:
/ssd/1/<Logstash cluster ID>/logstash/data/eaced620-e972-0136-2a14-02b7449b****/logstash/1/ls.oss.eaced620-e972-0136-2a14-02b7449b****.2018-12-24T14.27.part-0.data
Os segmentos do caminho são descritos a seguir:
|
Segmento do caminho |
Descrição |
|
|
Diretório definido pelo parâmetro |
|
|
Identificador universal único (UUID) gerado aleatoriamente. |
|
|
Prefixo do objeto no OSS. |
|
|
Nome base do arquivo temporário criado pelo plug-in logstash-output-oss. |
|
|
Timestamp de criação do arquivo temporário. |
|
|
Sufixo indicativo da parte do arquivo temporário. |
|
|
Extensão do arquivo. Será |
Próximos passos
Para instalar ou remover plug-ins, consulte Instalar e remover um plug-in.
Para gerenciar pipelines por meio de arquivos de configuração, acesse Usar arquivos de configuração para gerenciar pipelines.