You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logstash 7.17.0:如何基于文件时间变更加载输入文件

解决Logstash 7.17.0读取时间戳变更但大小不变的文件问题

针对你遇到的场景(每日生成内容、大小一致但时间戳更新的文件无法被Logstash读取),可以通过调整File插件的配置参数实现需求,核心思路是让Logstash更敏感地检测文件时间戳变化,并在文件更新时重新读取。

关键配置示例

在你的Logstash管道输入段中,添加/修改以下File插件配置:

input {
  file {
    path => "/your/target/file/path/*.log" # 替换为你的文件路径/匹配规则
    stat_interval => 1
    discover_interval => 10
    close_older => 1
    ignore_inode => true
    start_position => "beginning"
    sincedb_write_interval => 10
  }
}

参数说明

  • stat_interval: 设置为1秒,让Logstash每秒检查一次文件状态(包括修改时间),确保及时捕捉时间戳变更
  • discover_interval: 每10秒扫描一次目标路径,快速发现新生成或更新的文件
  • close_older: 文件1分钟无修改则关闭句柄,避免Logstash持续占用文件,确保后续时间戳变更时能重新识别并读取
  • ignore_inode: 忽略文件inode标识,仅通过路径+修改时间判断文件变化,适配文件被覆盖(inode不变但时间戳更新)的场景
  • start_position: 设为beginning,确保重新识别文件时从开头完整读取内容
  • sincedb_write_interval: 每10秒写入一次sincedb状态文件,避免状态丢失导致重复读取或漏读

临时重置方案(测试用)

如果之前的sincedb记录导致文件无法触发读取,可以手动删除Logstash的sincedb文件(默认路径为$HOME/.sincedb_*或指定的sincedb_path),重置文件跟踪状态。

内容的提问来源于stack exchange,提问作者user3141191

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:22:07