簡體   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