我正在尝试配置应该读取位于特定目录中的所有 json 文件的 Logstash。JSON文件每次都由python脚本更新,我每次都需要从头开始读取所有文件(不仅仅是检查最后几行)。
我已经测试了两种配置变体:
1个配置:
input {
file {
path => "/tmp/*.json"
start_position => "beginning"
}
}
output{
stdout{codec => rubydebug}
}
2 配置:
input {
file {
path => "/tmp/*.json"
start_position => "beginning"
sincedb_path => "/dev/null"
ignore_older => 0
}
}
output{
stdout{codec => rubydebug}
}
两种情况的结果:
当python更新文件时,Logstash无法检测到更改(文件时间戳每次都在更改)
即使我更改了文件内部的某些内容,logstash 也只是第一次检测到它并打印完整文件,但之后它就无法再检测到更改了。
最终结果: 最后 Logstash 只需要获取特定目录中的所有文件(应自动检测新文件),读取内容并将其推送到某处。你能帮忙做吗?