繁体   English   中英

如何使用 Fluentd 嵌套 json 日志?

[英]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 插件解决了这个问题,该插件有助于处理大多数日志格式更改情况:

https://github.com/Gimi/fluent-plugin-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM