Amazon s3 什么';这个日志存储配置有什么问题?
我们使用Logstash(2.3.3)来听卡夫卡的多个主题,使用卡夫卡的。然后根据主题名称(添加为元数据),将每个主题的数据重新定向到S3存储桶中的特定文件夹。然而,在当前配置中,只有第一个S3输出的数据似乎落在它的S3 bucket/文件夹中 有人能告诉我这里出了什么问题吗?我敢肯定有更好的方式来编写这个配置,可以满足我们的要求Amazon s3 什么';这个日志存储配置有什么问题?,amazon-s3,logstash,apache-kafka,Amazon S3,Logstash,Apache Kafka,我们使用Logstash(2.3.3)来听卡夫卡的多个主题,使用卡夫卡的。然后根据主题名称(添加为元数据),将每个主题的数据重新定向到S3存储桶中的特定文件夹。然而,在当前配置中,只有第一个S3输出的数据似乎落在它的S3 bucket/文件夹中 有人能告诉我这里出了什么问题吗?我敢肯定有更好的方式来编写这个配置,可以满足我们的要求 input { kafka { bootstrap_servers => "10.0.0.5:9093,10.0.1.5:9093" topics
input
{
kafka
{
bootstrap_servers => "10.0.0.5:9093,10.0.1.5:9093"
topics => "topic"
codec => "json"
ssl => true
ssl_keystore_location => "/opt/logstash/ssl/server.keystore.jks"
ssl_keystore_password => "<snipped>"
ssl_truststore_location => "/opt/logstash/ssl/server.truststore.jks"
ssl_truststore_password => "<snipped>"
add_field => { "[@metadata][topic]" => "topic" }
}
kafka
{
bootstrap_servers => "10.0.0.5:9093,10.0.1.5:9093"
topics => "topic-test"
codec => "json"
ssl => true
ssl_keystore_location => "/opt/logstash/ssl/server.keystore.jks"
ssl_keystore_password => "<snipped>"
ssl_truststore_location => "/opt/logstash/ssl/server.truststore.jks"
ssl_truststore_password => "<snipped>"
add_field => { "[@metadata][topic]" => "topic-test" }
}
kafka
{
bootstrap_servers => "10.0.0.5:9093,10.0.1.5:9093"
topics => "daily_batch"
ssl => true
ssl_keystore_location => "/opt/logstash/ssl/server.keystore.jks"
ssl_keystore_password => "<snipped>"
ssl_truststore_location => "/opt/logstash/ssl/server.truststore.jks"
ssl_truststore_password => "<snipped>"
add_field => { "[@metadata][topic]" => "daily_batch" }
}
}
output
{
if [@metadata][topic] == "topic"
{
s3
{
region => "us-east-1"
bucket => "our-s3-storage/topic"
size_file => 20971520
temporary_directory => "/logstash"
use_ssl => "true"
codec => json_lines
}
}
if [@metadata][topic] == "topic-test"
{
s3
{
region => "us-east-1"
bucket => "our-s3-storage/topic-test"
size_file => 2097152
temporary_directory => "/logstash"
use_ssl => "true"
codec => json_lines
}
}
if [@metadata][topic] == "daily_batch"
{
s3
{
region => "us-east-1"
bucket => "our-s3-storage/daily_batch"
size_file => 41943
temporary_directory => "/logstash"
use_ssl => "true"
}
}
}
输入
{
卡夫卡
{
引导服务器=>“10.0.0.5:9093,10.0.1.5:9093”
主题=>“主题”
编解码器=>“json”
ssl=>true
ssl_keystore_location=>“/opt/logstash/ssl/server.keystore.jks”
ssl_密钥库_密码=>“”
ssl\u truststore\u location=>“/opt/logstash/ssl/server.truststore.jks”
ssl_信任库_密码=>“”
add_field=>{“[@metadata][topic]”=>“topic”}
}
卡夫卡
{
引导服务器=>“10.0.0.5:9093,10.0.1.5:9093”
主题=>“主题测试”
编解码器=>“json”
ssl=>true
ssl_keystore_location=>“/opt/logstash/ssl/server.keystore.jks”
ssl_密钥库_密码=>“”
ssl\u truststore\u location=>“/opt/logstash/ssl/server.truststore.jks”
ssl_信任库_密码=>“”
add_field=>{“[@metadata][topic]”=>“topictest”}
}
卡夫卡
{
引导服务器=>“10.0.0.5:9093,10.0.1.5:9093”
主题=>“每日批处理”
ssl=>true
ssl_keystore_location=>“/opt/logstash/ssl/server.keystore.jks”
ssl_密钥库_密码=>“”
ssl\u truststore\u location=>“/opt/logstash/ssl/server.truststore.jks”
ssl_信任库_密码=>“”
添加_字段=>{“[@metadata][topic]”=>“每日_批处理”}
}
}
输出
{
如果[@metadata][topic]=“topic”
{
s3
{
地区=>“美国东部-1”
bucket=>“我们的-s3-存储/主题”
文件大小=>20971520
临时目录=>“/logstash”
使用\u ssl=>“true”
编解码器=>json\u行
}
}
如果[@metadata][topic]==“主题测试”
{
s3
{
地区=>“美国东部-1”
bucket=>“我们的-s3-存储/主题测试”
文件大小=>2097152
临时目录=>“/logstash”
使用\u ssl=>“true”
编解码器=>json\u行
}
}
如果[@metadata][topic]==“每日批处理”
{
s3
{
地区=>“美国东部-1”
bucket=>“我们的-s3-存储/每日批次”
文件大小=>41943
临时目录=>“/logstash”
使用\u ssl=>“true”
}
}
}
在Logstash5.0
中,您将能够使用主题
并为您的卡夫卡输入提供一系列主题,并且
topics => ["topic", "topic-test", "daily_batch"]
在一个卡夫卡输入。但是,logstash 2.3无法做到这一点,因为它没有主题
字段
通过使用logstash在配置中按事件将字段值插入字符串的能力,您可以明确地压缩输出。为了确保您的数据不会在坏数据上获得奇怪的一次性存储桶,您可以使用数组检查是否存在错误
if [@metadata][topic] in ["topic", "topic-test", "daily_batch"]
{
s3
{
region => "us-east-1"
bucket => "our-s3-storage/%{[@metadata][topic]}"
size_file => 41943
temporary_directory => "/logstash"
use_ssl => "true"
}
}
}
在Logstash
5.0
中,您将能够使用主题
,并为您的卡夫卡输入提供一系列主题,并且
topics => ["topic", "topic-test", "daily_batch"]
在一个卡夫卡输入。但是,logstash 2.3无法做到这一点,因为它没有主题
字段
通过使用logstash在配置中按事件将字段值插入字符串的能力,您可以明确地压缩输出。为了确保您的数据不会在坏数据上获得奇怪的一次性存储桶,您可以使用数组检查是否存在错误
if [@metadata][topic] in ["topic", "topic-test", "daily_batch"]
{
s3
{
region => "us-east-1"
bucket => "our-s3-storage/%{[@metadata][topic]}"
size_file => 41943
temporary_directory => "/logstash"
use_ssl => "true"
}
}
}
除非您正在使用logstash
5.0
,当前为alpha,主题
不是有效选项,否则您可能需要使用当前文档:我正在使用logstash 2.3.3的新Kafka输入插件。您可以链接到该插件吗?除非您正在使用logstash5.0
,当前为alpha,主题
不是一个有效选项,您可能希望使用当前文档:我正在使用带有Logstash 2.3.3的新Kafka输入插件。您可以链接到该插件吗?