使用Fluentd,我将日志以JSON格式发送到Splunk和ES,如下所示:
{
"object1": {
"obj1_key1": "value_xyz"
}
"object2": {
"obj2_key1": "value_abc"
}
}
在将日志发送到服务器之前,我想在Object1和Object2中添加一些字段作为元数据,例如。
{
"object1": {
"obj1_key1": "value_xyz"
"metadata": "constant_value"
}
"object2": {
"obj2_key1": "value_abc"
"metadata": "constant_value"
}
}
我知道使用流畅的“ record_transformer”插件可以添加新字段,但问题是如何在对象或嵌套对象中添加字段?
答案 0 :(得分:0)
您可以使用内置的filter record_transformer插件,如下所示:
<source>
@type dummy
tag dummy
dummy [
{"message": "dummy", "json": {"log": "log"}}
]
</source>
<filter dummy>
@type record_transformer
enable_ruby true
<record>
json ${record["json"].merge({key: "key", value: "value"})}
</record>
</filter>
<match dummy>
@type stdout
</match>