如何解决Windows机器上Logstash File Input失效问题?
Windows下Logstash File Input插件运行数天后失效的排查方案
问题概述
Windows环境中运行的Logstash实例,File Input插件在运行2-3天后停止工作,重启Logstash后无任何输出(无成功提示或错误日志);Generate Input、Stdin Input插件可正常工作,File Output插件运行正常。当前使用的File Input配置如下:
file { path => "D:\softwares\logstash\data\sample4.txt" # path => "D:/softwares/logstash/data/sample4.txt" start_position => "beginning" sincedb_path => "NUL" ignore_older => 0 }
排查与修复步骤
修正文件路径格式:Windows系统中,配置路径时反斜杠
\需转义,或直接使用正斜杠/。当前配置里的未转义反斜杠可能导致Logstash无法正确识别文件路径,建议修改为:path => "D:/softwares/logstash/data/sample4.txt"或转义反斜杠形式:
path => "D:\\softwares\\logstash\\data\\sample4.txt"检查文件占用与权限:文件可能被其他进程(如文本编辑器、监控工具)锁定,导致Logstash无法读取。通过任务管理器排查是否有进程占用
sample4.txt;同时确保Logstash运行用户对该文件及所在目录拥有读取和修改权限(即使文件内容未变更,Logstash需检测文件状态变更)。调整sincedb与ignore_older配置:
- 将
sincedb_path从NUL改为实际文件路径(如"D:/softwares/logstash/data/sincedb"),避免Windows特殊设备文件带来的潜在异常 - 临时注释
ignore_older => 0,使用默认配置,观察插件是否恢复正常
- 将
开启Debug日志定位问题:修改
logstash.yml中的日志级别为debug:logging.level: debug重启Logstash后,查看
logs目录下的日志文件,重点查找filewatch、input/file相关的报错或警告信息,定位具体故障点。检查进程状态与版本:若Logstash主进程未崩溃但文件监控线程挂起,可通过任务管理器查看CPU、内存占用情况,手动终止进程后重启;同时建议升级到最新稳定版Logstash,修复已知的内存泄漏或线程挂起bug。
内容的提问来源于stack exchange,提问作者MMA
相关产品推荐
相关产品推荐

