我有一个JSON文件,它由工具生成。我想在转发之前删除一个属性。
<source>
@type tail
path /var/log/app/file.json
pos_file /var/log/td-agent/file.pos # pos record
tag file_json
format json
</source>
<match file_json>
@type exec
tag_key file_filtered
buffer_path /tmp/file_buffer.buf
command jq 'del(.timestamp)'
format json
</match>
<match file_filtered>
@type file
path /var/log/app/file_fwd.json
# time_slice_format %Y%m%d
# time_slice_wait 10m
# time_format %Y%m%dT%H%M%S%z
# compress gzip
# utc
</match>
我不知道所有JSON属性,但我知道我不能拥有timestamp
字段。我使用jq
删除了模仿函数的属性:
tail file.json | jq 'del(.timestamp)'
FluentD可以帮我吗?我在这里描述它的方式不会导致过滤文件,但是接受了配置。
答案 0 :(得分:1)
请参阅官方文件中的record_transformer fileter。
http://docs.fluentd.org/articles/filter_record_transformer#removekeys-optional-string-type