问题描述:
如果运行logstash时从文件读取数据时,就会遇到一个问题,如果读取的目标文件未经修改,而仅修改了conf文件,则即使重新运行logstash,或是执行时使用-r时输出也无法更新。
解决方法:
对input进行如下配置
input { file { path =>[ #log files "/home/husen/Desktop/log/test1.log", "/home/husen/Desktop/log/test2.log" ] start_position => "beginning" sincedb_path => "/dev/null" } }
2.file插件参数说明
1.logstash用一个名叫FileWatch的Ruby Gem库来监听文件的变化,支持glob展开文件路径,而且会记录一个叫.sincedb的文件跟踪被监听的日志文件的读取位置。
2.sincedb中一行四个数字分别为:inode ,majob number ,minor number ,pos
3其他配置项
discover_interval 多久检查被监听的目录下是否有新文件,默认15s
exclude 不被监听的文件
sincedb_write_interval 多久写一次sincedb文件,默认15s
stat_interval 多久检查被监听文件的状态 默认1s
start_position 默认文件尾,一般仅在初次读取文件时起作用,如果文件已被记录在sincedb中,则根据pos.