Este parece ser o comportamento padrão para este plugin, então ele deve ser gerenciado usando os recursos do plugin.
Basicamente, você precisa configurar o plug-in para fazer backup e excluir os objetos com um prefixo para o mesmo bloco. Dessa forma, o Logstash ignorará o objeto quando ele pesquisar o intervalo após o próximo intervalo.
Configuração da amostra:
s3 {
bucket => "s3-access-logs-eu-west-1"
type => "s3-access"
prefix => "2016-"
region => "eu-west-1"
sincedb_path => "/tmp/last-s3-file-s3-access-logs-eu-west-1"
backup_add_prefix => "logstash-"
backup_to_bucket => "s3-access-logs-eu-west-1"
interval => 120
delete => true
}
Esta configuração varrerá o balde sempre em 120 segundos para objetos que começam com
2016-
Ele processará esses objetos e, em seguida, fará o backup deles no mesmo bloco com prefixo
logstash-
exclua-os.
Isso significa que eles não serão encontrados no próximo intervalo de pesquisa.
2 notas importantes:
-
Você não pode usar o backup_add_prefix sozinho (os documentos sugerem que você pode). Você só pode usar esse parâmetro em conjunto com backup_to_bucket
-
Verifique se a conta / função do IAM que você está usando para interagir com o S3 tem permissões de gravação para os grupos que você está usando (outros Logstash não podem excluir / renomear objetos).