Filebeat7.1 读日志输出到elasticsearch不能drop掉host, agent, ecs字段的存储

在使用Filebeat7.1抓取JSON日志至Elasticsearch时,遇到无法过滤host, agent, ecs字段的问题。尽管文档说明允许drop部分字段,但实际操作中这些字段仍被强制保留。本文分享了解决方案及配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        近日使用Filebeat 7.1 抓取json日志到Elasticsearch,发现存储到Elasticsearch中的字段中多了很多基本信息字段的字段,例如:@timestamp, input, ecs, agent, host, log, 使得本来很简洁的存储索引变的很庞大,所以就想把这些字段过滤掉不存储。根据文官方档的介绍,Filebeat Reference [7.1] » Configuring Filebeat » Filter and enhance the exported data » Drop fields from events 这个功能应该符合我的需求,但文档中提到“The @timestamp and type fields cannot be dropped”,就是说@timestamp和type字段不可以被drop,好,那我就把其他的drop掉,先用agent和host这两个内容最多的fields测试,死活都无效,按照文档在filebeat.yml文件中配置了无条件drop这两个字段,但它们依然坚挺的存储在了输出的索引中....好吧,不卖关子直接说原因:除了文档提到的两个字段以外,host,agent,ecs三个字段也是不让drop的,我是后来把所有多出来的字段都配置进去,发现其他字段都没有了,只有这三个依然存在!所以表明配置是没有问题的,只是这几个字段比较牛X不让删而已。这是我测试得出的结论,不知道为什么官方文档没有提及,还是有别的原因,亦或是我没有用对,whatever,不是什么严重的问题,知道这个坑,大家别再掉进来就好!

附上我的配置供参考:

  processors:
    - drop_fields:
        fields: ["log","input","host","agent","ecs"]

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kristianke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值