如何在Filebeat 7.16.3中删除默认添加的agent.id与agent.type字段?
解决Filebeat 7.16.3无法删除agent.id和agent.type字段的问题
问题出在你把drop_fields处理器放在了input级的processors里——agent.id和agent.type是Filebeat在完成input阶段的日志采集与处理后,才自动添加的字段,所以input里的处理器根本无法触及这些字段。
正确的做法是将drop_fields移到全局processors配置块中,这个阶段是所有input处理完成后、数据输出前执行的,此时agent字段已经存在,能被正常删除。
修改后的完整配置如下:
filebeat.inputs: - input_type: log paths: [/var/log/log.json] scan_frequency: 3m processors: - decode_json_fields: fields: ["message"] process_array: false max_depth: 1 target: "" overwrite_keys: false add_error_key: true fields: topic: logs # 全局处理器,放在input配置之外 processors: - drop_fields: fields: ["agent.type", "agent.id"] output.kafka: hosts: ["192.168.0.155:9092","192.168.0.155:9093","192.168.0.155:9094"] topic: "%{[fields.topic]}"
额外说明:如果只想针对当前input的日志删除agent字段,也可以把drop_fields处理器移到output.kafka配置块下,输出级处理器同样是在agent字段添加后执行的,效果一致。
内容的提问来源于stack exchange,提问作者iq tech
相关产品推荐
相关产品推荐

