美文网首页
Filebeat Drop Fields

Filebeat Drop Fields

作者: Bean_Do | 来源:发表于2021-07-06 10:57 被阅读0次

    在使用Filebeat导入数据的时候,Filebeat会附带一些环境相关的json数据一起发送到out端,但是在一些日志入库场景下,日志数量庞大,额外的数据字段会带来不必要的磁盘消耗,所以需要在入库的时候剔除掉,那么如何剔除呢?

    在满足需求的情况下,我使用了Filebeat自身的剔除逻辑,未使用Logstash相关的功能。在Filebeat中,程序提供了processor模块,用以对数据在发送前进行自定义的处理操作。所以,可以通过此功能,将原始event中的一些不需要的字段进行剔除。

    同样,在processor中,可以定义drop_fields,通过这个,就可以drop掉一些不需要的字段,当然,正如官方文档中说的那样,@timestamptype字段是无法去除的,好在这两个字段不算大,可以保留,至于其他的字段,例如agenthostcloud等,如不需要,可以直接去掉了,配置方法如下:

    Snipaste_2021-07-06_10-45-02.png
    但是,有时候,明明配置了drop掉这些字段,但是最后入库的时候仍然会保留这些字段,令人费解,然鹅实际上,drop配置是生效的,但是processor逻辑是可以重复的,也就是我们在自己的process中去掉了,但是有其他的地方又给加回去了,例如filebeat.yml配置文件中的全局processor配置,如下所示:
    Snipaste_2021-07-06_10-55-37.png
    但是,即使在这里注释掉了这些全局processor配置,在最后的入库中仍然可能会携带那些多余的字段,so why?至少明面上没发现有哪里在添加,不过背后肯定是又默默加上去了,所以,我们需要把我们的drop逻辑放到全局配置里,如下:
    Snipaste_2021-07-06_10-55-50.png
    这样的话,多余的字段终于被去掉了,不过放到全局配置里,意味着全局生效,至于是否满足各自的需要,还需各自评估。

    相关文章

      网友评论

          本文标题:Filebeat Drop Fields

          本文链接:https://www.haomeiwen.com/subject/hcxgultx.html