elasticsearch 如何防止旧日志从filebeat追加到logstash?,elasticsearch,logstash,elastic-stack,filebeat,elasticsearch,Logstash,Elastic Stack,Filebeat" /> elasticsearch 如何防止旧日志从filebeat追加到logstash?,elasticsearch,logstash,elastic-stack,filebeat,elasticsearch,Logstash,Elastic Stack,Filebeat" />

elasticsearch 如何防止旧日志从filebeat追加到logstash?

elasticsearch 如何防止旧日志从filebeat追加到logstash?,elasticsearch,logstash,elastic-stack,filebeat,elasticsearch,Logstash,Elastic Stack,Filebeat,我使用filebeat从远程服务器获取日志,并将其发送到logstash,这样它就可以正常工作。 但是,当新日志追加到源日志文件中时,filebeat从一开始就读取这些日志,并将其发送到logstash和logstash,将所有日志与elasticsearch中的旧日志一起追加到elasticsearch中,即使我们已经在elasticsearch中添加了这些旧日志,因此这里会重复日志 所以我的问题是如何将新添加的日志只发送到logstash。一旦新的日志行追加到日志文件中,那么这些新文件应发送

我使用filebeat从远程服务器获取日志,并将其发送到logstash,这样它就可以正常工作。 但是,当新日志追加到源日志文件中时,filebeat从一开始就读取这些日志,并将其发送到logstash和logstash,将所有日志与elasticsearch中的旧日志一起追加到elasticsearch中,即使我们已经在elasticsearch中添加了这些旧日志,因此这里会重复日志

所以我的问题是如何将新添加的日志只发送到logstash。一旦新的日志行追加到日志文件中,那么这些新文件应发送到日志库,以进行elasticsearch

这是我的filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /home/user/Documents/ELK/locals/*.log
logstash输入是logstash-input.conf

input {
  beats {
    port => 5044
  }
}

好像有什么地方出了问题。通常,Filebeat足够智能,可以保存偏移量,这意味着它只发送自上次爬网以来添加的日志行

有一些设置可能会干扰,请仔细阅读: -不理你 -关闭未激活的 -关闭超时


请发布完整的filebeat.yml文件,以及您尝试获取的系统和日志类型。

我猜想您犯的错误与几个月前我使用vi编辑器手动更新日志/文本文件测试filebeat时犯的错误相同。当您使用vi编辑器手动编辑文件时,它会在磁盘上创建一个包含新元数据的新文件。Filebeat使用文件的元数据而不是文本来标识文件的状态。因此,重新加载完整的日志文件

如果是这种情况,请尝试像这样将其附加到文件中。 将某物回显>>/path/to/file.txt

更多信息: