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