Logstash 每天摄取 JSON 个文件

Logstash Ingesting Daily JSON Files

我在一个设置中工作,Logstash 将在本地特定目录中查找 JSON 文件以解析并转发到 Elasticsearch。这些文件将每天生成并放置在 Logstash 监控的目录中,因此每天都会有一个新的唯一命名的 JSON 文件。

我的输入是这样的:

input {
    file {
        path => "/home/path_to_json/*.json"
        start_position => "beginning"
        sincedb_path => "/dev/null"
    }
}

我的问题是,如何将 Logstash 配置为仅摄取 latest/newest 文件,而不是每次转储新文件时目录中的所有其他内容,这样它就不会在 Elasticsearch 上复制数据?这是文件插件的默认行为吗?或者我应该在我的输入上设置任何新的东西吗?

提前致谢!

sincedb_path 设置为 /dev/null 将确保无论何时重新启动它都不会 remember 任何内容,并从头开始重新阅读所有内容。您可能想删除此行。

start_position 设置为 end 将使其仅考虑 lines/files 添加 logstash 启动后(第一次)。

通过这两项更改,您应该只会摄取新的 data