簡體   English   中英

用Fluentd處理嵌套的JSON

[英]Process nested JSON with Fluentd

使用Fluentd日志管道,輸入以下內容:

{"event" : {"name" : "toto", "date" : 14....11}}

如何將字段event.date轉換為有效的Date?

我試過了:

<filter *.*> @type record_transformer <record> event.date ${Time.at(event.date).strftime('%Y-%m-%dT%H:%M:%S')} </record> </filter>

但這會添加一個字段“ event.date”:/

已經有一段時間了,但是我來到這里只是對如何做到這一點有了一點想法。 根據文檔,似乎在較新版本中,某些JSON處理已成為fluentd核心的一部分。

https://docs.fluentd.org/v1.0/articles/filter_parser

這里:

<filter foo.bar>
  @type parser
  key_name log
  reserve_data true
  remove_key_name_field true
  <parse>
    @type json
  </parse>
</filter>

應該可以。

我們有:

  • key_name-要查找的字段的名稱
  • reserve_data-是否保留外部JSON中的字段
  • remove_key_name_field-是否刪除包含嵌套JSON的字段。

您必須啟用rubby:

<filter **>
  @type record_transformer
  enable_ruby
  <record>
    event_date ${time.strftime('%Y-%m-%dT%H:%M:%S')}

  </record>

</filter>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM