让logstash每次读取文件都从头开始读取的办法

xiaoxiao2021-02-27  185

logstash有一个大坑,就是文件除了第一次读取的时候,每次只会读取更新的日志记录。对于刚入门的小白来说,比如题主我,需要经常读取日志文件,而且需要每次都从头开始读。几经周折,终于发现了一个解决办法,亲测有效。

配置代码如下:

input {       file {           path =>[               #log files               "/home/husen/Desktop/log/test1.log",               "/home/husen/Desktop/log/test2.log"           ]           type => "test"           start_position => "beginning"                      sincedb_path => "/dev/null" #从头读                      codec => multiline {               pattern => "^\<"               negate => true               what => "previous"           }       }   }   重点在第11行代码, sincedb_path是用来设置跟踪被监听的日志文件的当前读取位置参数的路径的。

但是如果我们设置为 /dev/null这个 Linux 系统上特殊的空洞文件,那么 每次启动logstash 的时候,尝试读取 sincedb 内容,都只会读到空白内容,于是logstash会以为这是第一次读取,自然每次都会从头开始读取了!

转载请注明原文地址: https://www.6miu.com/read-13664.html

最新回复(0)