elasticsearch 多次记录索引文件?,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 多次记录索引文件?,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 多次记录索引文件?

elasticsearch 多次记录索引文件?,elasticsearch,logstash,elasticsearch,Logstash,我正在使用logstash(v2.3.3-1)为从S3到AWS ElasticSearch的大约800k个文档编制索引,一些文档被编制了2到3次索引,而不是只编制了一次 这些文件是静态的(没有任何东西在更新或触摸它们),而且它们非常小(每个大约1.1KB) 该过程在t2.micro(~1天)上运行需要很长时间 我使用的配置是: input { s3 { bucket => "$BUCKETNAME" codec => "json" region => "$REGION" ac

我正在使用logstash(v2.3.3-1)为从S3到AWS ElasticSearch的大约800k个文档编制索引,一些文档被编制了2到3次索引,而不是只编制了一次

这些文件是静态的(没有任何东西在更新或触摸它们),而且它们非常小(每个大约1.1KB)

该过程在t2.micro(~1天)上运行需要很长时间

我使用的配置是:

input {

s3 {
bucket => "$BUCKETNAME"
codec => "json"
region => "$REGION"
access_key_id => '$KEY'
secret_access_key => '$KEY'
type => 's3'
}
}

filter {
  if [type] == "s3" {
    metrics {
      meter => "events"
      add_tag => "metric"
    }
  }
}

output {

if "metric" in [tags] {
    stdout { codec => line {
        format => "rate: %{[events][rate_1m]}"
           }
      }
} else {
     amazon_es {
      hosts => [$HOST]
      region => "$REGION"
      index => "$INDEXNAME"
      aws_access_key_id => '$KEY'
      aws_secret_access_key => '$KEY'
      document_type => "$TYPE"
     }

     stdout { codec => rubydebug }
}
}
我已经运行了两次了,都遇到了同样的问题(不同的ES索引),每次索引>1x的文件都不一样


感谢您的建议

s3输入非常脆弱。它记录最后处理的文件的时间,因此不会处理共享相同时间戳的任何文件,并且无法从同一个bucket读取多个日志存储实例。正如您所看到的,确定要处理哪些文件的速度也非常慢(这里很大一部分责任归于亚马逊)


s3只适用于我使用单个日志存储读取文件,然后删除(或备份到另一个存储桶/文件夹)文件以保持原始存储桶尽可能空,然后将sincedb_path设置为/dev/null。

这将是
s3
输入的问题,除此之外,我不确定,谢谢?对如何测试有什么建议吗?我现在只是去重复数据消除(因为我不必定期重新索引这些数据)。下次我想我将把文件复制到一个新的S3存储桶中,然后使用事件驱动的Lambda处理到ES中。非常感谢,这非常有用!