繁体   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