0

如何使用 logstash 忽略旧文件并仅从 S3 推送最新的日志文件。我们正在使用 logstash 将 cloudtaril 日志从 s3 推送到 elasticsearch。Cloudtrail 日志采用以下格式

/AWSLogs/CloudTrail/xxxAccount Numberxxxx/aws-region/year(YYYY)/Month(MM)/day(DD)/

我只需要提取最新数据(例如当月的数据),因为整个存储桶都有大量 TB 的数据,而 Logstash 无法扩展那么多数据。有没有办法做到这一点?

4

2 回答 2

1

我只是遇到了同样的问题并像这样解决了它(阅读:解决了它):

使用正常配置启动 logstash,这会导致您描述的行为。

它会在启动时在其日志中告诉您其 sincedb 文件所在的位置。(默认为 logstash-7.8.0/data/plugins/inputs/s3/sincedb_ someid)。

该文件需要一段时间才能创建。创建文件时再次停止logstash。

现在,我想,您可以删除刚刚导入但我不在乎的数据。

现在编辑文件。这只是一个UTC时间戳。调整到现在。

再次启动logstash,它将开始处理您刚刚输入的时间戳之后创建的文件。

于 2020-07-17T11:45:30.363 回答
0

处理完日志后,您可以将它们移至其他文件夹。这将使您无法再次处理它们,并且还会使处理速度更快(我们发现 s3/logstash 对于较大的文件夹非常慢)。

请参阅backup_to_bucket选项。

于 2019-10-07T19:58:20.947 回答