【问题标题】:How to nest json logs with Fluentd?如何使用 Fluentd 嵌套 json 日志?
【发布时间】:2020-02-03 15:37:04
【问题描述】:

我必须像这样转换日志:

"key1": "os",

"key2": "linux",

“key3”:“红帽”

收件人:

"Data": [{
    "header": [{
        "name": "some-app"
    }],
    "tags": {
      "key1": "os",
      "key2": "linux",
      "key3": "redhat"
 }]

我已经尝试过 record_transformer 但仍然无法做到。请问,有人可以帮忙吗?

【问题讨论】:

    标签: json parsing fluentd


    【解决方案1】:

    不确定是否有人在寻找相同的答案,在我的情况下,使用 JQ 插件解决了该问题,该插件有助于处理大多数日志格式更改情况:

    https://github.com/Gimi/fluent-plugin-jq

    【讨论】:

      【解决方案2】:

      假设这是kubernetes log,你可以试试这个:

      <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,但它可以用来减小日志的大小。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-20
        • 1970-01-01
        • 2017-10-21
        • 2020-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多