请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,filebeat重复输出怎么解决?我tail_files设置的是true,每次新增一条记录,就会把这个文件里面的所有日志在输出一遍

正在回答 回答被采纳积分+3

8回答

提问者 慕码人5740536 2018-09-13 18:58:34

我找到问题的原因了,使用echo命令追加进日志文件里面就没事了。如果是vim命令编辑的话会将该文件的所有日志信息都输出

1 回复 有任何疑惑可以回复我~
rockybean 2018-09-14 07:55:12

这个问题的根本原因在于 vim 编辑文件保存的时候会修改文件的 inode,此时 filebeat 会把它做新文件处理,所以又全部读取了一遍,见这里

https://discuss.elastic.co/t/how-to-send-only-the-newly-added-log-events-instead-of-the-entire-content-of-a-log-file/79127/17

0 回复 有任何疑惑可以回复我~
提问者 慕码人5740536 2018-09-13 16:12:35

我只有一行日志,filebeat输出一条没问题

我新加了一行日志,filebeat输出了两条就不对了

0 回复 有任何疑惑可以回复我~
提问者 慕码人5740536 2018-09-13 16:08:10

代码太长,慕课网上发不出去,大致是这样的

0 回复 有任何疑惑可以回复我~
提问者 慕码人5740536 2018-09-13 16:07:10

Filebeat版本是6.2.3

直接vim打开日志文件然后将日志粘贴进去

一条日志的时候输出

{"@timestamp":"2018-09-13T07:28:06.915Z",

然后我又加了一条的时候输出

{"@timestamp":"2018-09-13T07:28:06.915Z",
{"@timestamp":"2018-09-13T07:28:56.922Z",
{"@timestamp":"2018-09-13T07:28:56.955Z",

日志文件:

pool-1-thread-145 : 2018-09-04 13:15:30 | 013  [ GatePubSubHelper.java:51 ] - [ INFO ]  
pool-1-thread-145 : 2018-09-04 13:15:30 | 013  [ GatePubSubHelper.java:51 ] - [ INFO ]
0 回复 有任何疑惑可以回复我~
rockybean 2018-09-13 15:56:55

能列一个可以重现的操作步骤吗?
比如你的日志文件是怎么新加数据的?
目标文件是什么样子

另外filebeat是哪个版本

0 回复 有任何疑惑可以回复我~
提问者 慕码人5740536 2018-09-13 15:51:25
filebeat.prospectors:
 - type: log
   paths:
        - /public/logs/*.log
   tail_files: true

   filebeat.shutdown_timeout: "3s"
output.file:
   path: "/tmp/filebeat-1"


0 回复 有任何疑惑可以回复我~
rockybean 2018-09-13 15:47:07

配置文件完整地发给我看下

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信