Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 什么';这个日志存储配置有什么问题?_Amazon S3_Logstash_Apache Kafka - Fatal编程技术网

Amazon s3 什么';这个日志存储配置有什么问题?

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

我们使用Logstash(2.3.3)来听卡夫卡的多个主题,使用卡夫卡的。然后根据主题名称(添加为元数据),将每个主题的数据重新定向到S3存储桶中的特定文件夹。然而,在当前配置中,只有第一个S3输出的数据似乎落在它的S3 bucket/文件夹中

有人能告诉我这里出了什么问题吗?我敢肯定有更好的方式来编写这个配置,可以满足我们的要求

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”
}
}
}

在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
中,您将能够使用
主题
,并为您的卡夫卡输入提供一系列主题,并且

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输入插件。您可以链接到该插件吗?除非您正在使用logstash
5.0
,当前为alpha,
主题
不是一个有效选项,您可能希望使用当前文档:我正在使用带有Logstash 2.3.3的新Kafka输入插件。您可以链接到该插件吗?