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

        近日使用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"]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章