我有文件 5.x 将日志发送到logstash。
如何重置filebeat中的“文件指针”
这是一个类似的问题
我清除了所有elasticsearch的数据,删除了/var/lib/filebeat/registry
。但filebeat只发送新行。
更改registry_file无效,文件的偏移量保存到新文件(删除文件是同样的问题)
filebeat.registry_file: registry
答案 0 :(得分:6)
Filebeat代理将其状态的全部存储在注册表文件中。应使用filebeat.registry_file
配置选项在配置文件中设置注册表文件的位置。
我建议在此选项中指定绝对路径,以便准确了解文件的位置。如果使用相对路径,则相对于${path.data}
目录解释该值。在Linux安装中,当作为服务启动或使用filebeat.sh
包装器开始时,path.data
设置为/var/lib/filebeat
。
删除此注册表文件后,Filebeat将从头开始读取所有文件(除非您使用tail_files: true
配置了浏览器。
如果您仍然遇到问题,我建议您查看Filebeat日志文件,该文件将包含一行说明注册表文件所在的位置。例如:
2017/01/18 18:51:31.418587 registrar.go:85: INFO Registry file set to: /var/lib/filebeat/registry
答案 1 :(得分:3)
sudo service filbeat stop
mv / var / lib / filebeat / registry /var/lib/filebeat/registry.old
sudo service filbeat start
答案 2 :(得分:3)
如前所述,停止filebeat服务,删除注册表文件并重新启动服务是正确的。
我只想添加Window的用户,如果你没有为filebeat.registry_file
指定一个唯一的位置,它可能会默认为${path.data}/registry
,这有点令人困惑C:\ProgramData\filebeat
目录正如Elastic here的人们所提到的那样。
就我而言,在显示之前我必须show hidden files。