采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我找到问题的原因了,使用echo命令追加进日志文件里面就没事了。如果是vim命令编辑的话会将该文件的所有日志信息都输出
这个问题的根本原因在于 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
我只有一行日志,filebeat输出一条没问题
我新加了一行日志,filebeat输出了两条就不对了
代码太长,慕课网上发不出去,大致是这样的
Filebeat版本是6.2.3
直接vim打开日志文件然后将日志粘贴进去
一条日志的时候输出
{
"@timestamp"
:
"2018-09-13T07:28:06.915Z"
,
然后我又加了一条的时候输出
"2018-09-13T07:28:56.922Z"
"2018-09-13T07:28:56.955Z"
日志文件:
pool-
1
-thread-
145
2018
-
09
04
13
15
30
|
013
[ GatePubSubHelper.java:
51
] - [
INFO
]
能列一个可以重现的操作步骤吗? 比如你的日志文件是怎么新加数据的? 目标文件是什么样子
另外filebeat是哪个版本
filebeat.prospectors:
- type: log
paths:
- /public/logs/*.log
tail_files:
true
filebeat.shutdown_timeout:
"3s"
output.file:
path:
"/tmp/filebeat-1"
配置文件完整地发给我看下
登录后可查看更多问答,登录/注册
有了Elastic Stack,不用写一行代码,你也可以玩转大数据分析!
1.5k 14
1.4k 13
1.0k 11
1.3k 11
2.7k 8
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号