![](/img/trans.png)
[英]Nginx json logs are incorrectly parsed by Fluentd in Elasticsearch (+ Kibana)
[英]How to nest json logs with Fluentd?
我必须像这样转换日志:
"key1": "os",
"key2": "linux",
“key3”:“红帽”
到:
"Data": [{
"header": [{
"name": "some-app"
}],
"tags": {
"key1": "os",
"key2": "linux",
"key3": "redhat"
}]
我已经尝试过 record_transformer 但仍然无法做到。 请问,有人可以帮忙吗?
不确定是否有人在寻找相同的答案,就我而言,使用 JQ 插件解决了这个问题,该插件有助于处理大多数日志格式更改情况:
假设这是 kubernetes 日志,你可以试试这个:
<filter **.kubernetes.**>
@type record_transformer
enable_ruby true
<record>
tags ${{key1: "os", key2: "linux", key3: "redhat", key4: "#{ENV['HOSTNAME']}", key5: record.dig("kubernetes", "namespace_name"))}}
</record>
remove_keys $.kubernetes, $.docker
</filter>
在您的情况下,您不需要 remove_keys,但它可用于减小日志的大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.