0

我正在尝试配置应该读取位于特定目录中的所有 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}
}

两种情况的结果:

  1. 当python更新文件时,Logstash无法检测到更改(文件时间戳每次都在更改)

  2. 即使我更改了文件内部的某些内容,logstash 也只是第一次检测到它并打印完整文件,但之后它就无法再检测到更改了。

最终结果: 最后 Logstash 只需要获取特定目录中的所有文件(应自动检测新文件),读取内容并将其推送到某处。你能帮忙做吗?

4

0 回答 0